From 4cdb585962b4f17be55848740d6e34106d730217 Mon Sep 17 00:00:00 2001 From: Jiachi Liu Date: Sun, 15 Aug 2021 19:49:21 +0800 Subject: [PATCH] Fix: wrong link error message (#28127) Fixes: #28126 ## Bug - [x] Related issues linked using `fixes #number` - [x] Integration tests added - [x] Errors have helpful link attached, see `contributing.md` --- packages/next/client/link.tsx | 2 +- test/acceptance/ReactRefreshLogBox.dev.test.js | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/next/client/link.tsx b/packages/next/client/link.tsx index 9419739564e..eccc9650027 100644 --- a/packages/next/client/link.tsx +++ b/packages/next/client/link.tsx @@ -237,7 +237,7 @@ function Link(props: React.PropsWithChildren) { throw new Error( `Multiple children were passed to with \`href\` of \`${props.href}\` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children` + (typeof window !== 'undefined' - ? "\nOpen your browser's console to view the Component stack trace." + ? " \nOpen your browser's console to view the Component stack trace." : '') ) } diff --git a/test/acceptance/ReactRefreshLogBox.dev.test.js b/test/acceptance/ReactRefreshLogBox.dev.test.js index 5256e3c707c..be8482a140c 100644 --- a/test/acceptance/ReactRefreshLogBox.dev.test.js +++ b/test/acceptance/ReactRefreshLogBox.dev.test.js @@ -1130,6 +1130,16 @@ test(' with multiple children', async () => { expect(await session.getRedboxDescription()).toMatchInlineSnapshot( `"Error: Multiple children were passed to with \`href\` of \`/\` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children"` ) + expect( + await session.evaluate( + () => + document + .querySelector('body > nextjs-portal') + .shadowRoot.querySelector( + '#nextjs__container_errors_desc a:nth-of-type(1)' + ).href + ) + ).toMatch('https://nextjs.org/docs/messages/link-multiple-children') await cleanup() })