diff --git a/test/e2e/app-dir/app/app/error/ssr-error-client-component/page.client.js b/test/e2e/app-dir/app/app/error/ssr-error-client-component/page.client.js new file mode 100644 index 000000000000..1cca8f6810c8 --- /dev/null +++ b/test/e2e/app-dir/app/app/error/ssr-error-client-component/page.client.js @@ -0,0 +1,3 @@ +export default function Page() { + throw new Error('Error during SSR') +} diff --git a/test/e2e/app-dir/index.test.ts b/test/e2e/app-dir/index.test.ts index 6399ab20cf88..1413f3770128 100644 --- a/test/e2e/app-dir/index.test.ts +++ b/test/e2e/app-dir/index.test.ts @@ -1280,6 +1280,19 @@ describe('app dir', () => { ).toBe('Trigger Error!') } }) + + it('should hydrate empty shell to handle server-side rendering errors', async () => { + const browser = await webdriver( + next.url, + '/error/ssr-error-client-component' + ) + const logs = await browser.log() + const errors = logs + .filter((x) => x.source === 'error') + .map((x) => x.message) + .join('\n') + expect(errors).toInclude('Error during SSR') + }) }) }