diff --git a/test/e2e/app-dir/rewrites-redirects/app/[...params]/page.tsx b/test/e2e/app-dir/rewrites-redirects/app/[...params]/page.tsx new file mode 100644 index 0000000000000..ae1ece0fecaa9 --- /dev/null +++ b/test/e2e/app-dir/rewrites-redirects/app/[...params]/page.tsx @@ -0,0 +1,3 @@ +export default function Page({ params: { params } }) { + return
{params.join('/')}
+} diff --git a/test/e2e/app-dir/rewrites-redirects/app/[param]/page.tsx b/test/e2e/app-dir/rewrites-redirects/app/[param]/page.tsx deleted file mode 100644 index ffd4f6b908532..0000000000000 --- a/test/e2e/app-dir/rewrites-redirects/app/[param]/page.tsx +++ /dev/null @@ -1,3 +0,0 @@ -export default function Page({ params: { param } }) { - return
{param}
-} diff --git a/test/e2e/app-dir/rewrites-redirects/app/page.tsx b/test/e2e/app-dir/rewrites-redirects/app/page.tsx index 9039e7df05325..b18a6b1b73ce9 100644 --- a/test/e2e/app-dir/rewrites-redirects/app/page.tsx +++ b/test/e2e/app-dir/rewrites-redirects/app/page.tsx @@ -3,17 +3,16 @@ import Link from 'next/link' import { useRouter } from 'next/navigation' -const Test = ({ page }: { page: string }) => { +const Test = ({ page, href }: { page: string; href?: string }) => { const router = useRouter() + href ??= `/${page}-before` + return ( <> - + Link to /{page}-before - @@ -27,6 +26,10 @@ export default function Page() { + ) } diff --git a/test/e2e/app-dir/rewrites-redirects/next.config.js b/test/e2e/app-dir/rewrites-redirects/next.config.js index 9f10449417688..bc7f7ab9233ff 100644 --- a/test/e2e/app-dir/rewrites-redirects/next.config.js +++ b/test/e2e/app-dir/rewrites-redirects/next.config.js @@ -18,6 +18,11 @@ module.exports = { destination: '/config-redirect-after', permanent: true, }, + { + source: '/config-redirect-catchall-before/:path*', + destination: '/config-redirect-catchall-after/:path*', + permanent: true, + }, ] }, } diff --git a/test/e2e/app-dir/rewrites-redirects/rewrites-redirects.test.ts b/test/e2e/app-dir/rewrites-redirects/rewrites-redirects.test.ts index d80d0914d528b..f167e319b6185 100644 --- a/test/e2e/app-dir/rewrites-redirects/rewrites-redirects.test.ts +++ b/test/e2e/app-dir/rewrites-redirects/rewrites-redirects.test.ts @@ -71,5 +71,17 @@ describe('redirects and rewrites', () => { const url = new URL(await browser.url()) expect(url.pathname).toEndWith('-after') }) + + it('should redirect using catchall from next.config.js correctly', async () => { + const browser = await webdriver(next.url, '/') + browser.elementById(`${testType}-config-redirect-catchall`).click() + await waitFor(200) + + expect(await browser.elementById('page').text()).toBe( + 'config-redirect-catchall-after/thing' + ) + const url = new URL(await browser.url()) + expect(url.pathname).toEndWith('-after/thing') + }) }) })