diff --git a/packages/react-dom/src/__tests__/ReactDOMServerIntegrationNewContext-test.js b/packages/react-dom/src/__tests__/ReactDOMServerIntegrationNewContext-test.js index 5f941da8f9a9f..3fa8282836527 100644 --- a/packages/react-dom/src/__tests__/ReactDOMServerIntegrationNewContext-test.js +++ b/packages/react-dom/src/__tests__/ReactDOMServerIntegrationNewContext-test.js @@ -348,6 +348,32 @@ describe('ReactDOMServerIntegration', () => { await render(, 1); }, ); + itRenders( + 'does not pollute the default value when a component throws', + async render => { + const message = 'from a component'; + const Throw = () => { + throw new Error(message); + }; + const Theme = React.createContext('dark'); + + try { + await render( + + + , + ); + } catch (err) { + if (err.message !== message) { + throw err; + } + } + expect( + (await render({theme => theme})) + .textContent, + ).toBe('dark'); + }, + ); it('does not pollute parallel node streams', () => { const LoggedInUser = React.createContext();