Skip to content

Commit 1365876

Browse files
Sebastian Silbermannrickhanlonii
Sebastian Silbermann
authored andcommitted
Handle different error counts depending on renderer
1 parent b200a8b commit 1365876

File tree

2 files changed

+45
-16
lines changed

2 files changed

+45
-16
lines changed

packages/react-dom/src/__tests__/ReactDOMServerIntegrationHooks-test.js

+28-9
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,13 @@ function initModules() {
7373
};
7474
}
7575

76-
const {resetModules, itRenders, itThrowsWhenRendering, serverRender} =
77-
ReactDOMServerIntegrationUtils(initModules);
76+
const {
77+
resetModules,
78+
itRenders,
79+
itThrowsWhenRendering,
80+
clientRenderOnBadMarkup,
81+
serverRender,
82+
} = ReactDOMServerIntegrationUtils(initModules);
7883

7984
describe('ReactDOMServerHooks', () => {
8085
beforeEach(() => {
@@ -422,8 +427,13 @@ describe('ReactDOMServerHooks', () => {
422427
});
423428
return 'hi';
424429
}
425-
// TODO: fails due to render error retry
426-
const domNode = await render(<App />, 1);
430+
const domNode = await render(
431+
<App />,
432+
render === clientRenderOnBadMarkup
433+
? // On hydration mismatch we retry and therefore log the warning again.
434+
2
435+
: 1,
436+
);
427437
expect(domNode.textContent).toEqual('hi');
428438
});
429439

@@ -436,8 +446,13 @@ describe('ReactDOMServerHooks', () => {
436446
return value;
437447
}
438448

439-
// TODO: fails due to render error retry
440-
const domNode = await render(<App />, 1);
449+
const domNode = await render(
450+
<App />,
451+
render === clientRenderOnBadMarkup
452+
? // On hydration mismatch we retry and therefore log the warning again.
453+
2
454+
: 1,
455+
);
441456
expect(domNode.textContent).toEqual('0');
442457
});
443458
});
@@ -860,11 +875,15 @@ describe('ReactDOMServerHooks', () => {
860875
return <Text text={count} />;
861876
}
862877

863-
// TODO: fails due to render error retry
864-
const domNode1 = await render(<ReadInMemo />, 1);
878+
const domNode1 = await render(
879+
<ReadInMemo />,
880+
render === clientRenderOnBadMarkup
881+
? // On hydration mismatch we retry and therefore log the warning again.
882+
2
883+
: 1,
884+
);
865885
expect(domNode1.textContent).toEqual('42');
866886

867-
// TODO: fails due to render error retry
868887
const domNode2 = await render(<ReadInReducer />, 1);
869888
expect(domNode2.textContent).toEqual('42');
870889
});

packages/react-dom/src/__tests__/ReactDOMServerIntegrationNewContext-test.js

+17-7
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ function initModules() {
3333
};
3434
}
3535

36-
const {resetModules, itRenders} = ReactDOMServerIntegrationUtils(initModules);
36+
const {resetModules, itRenders, clientRenderOnBadMarkup} =
37+
ReactDOMServerIntegrationUtils(initModules);
3738

3839
describe('ReactDOMServerIntegration', () => {
3940
beforeEach(() => {
@@ -365,9 +366,13 @@ describe('ReactDOMServerIntegration', () => {
365366
</div>
366367
);
367368
};
368-
// TODO: fails due to render error retry
369-
// We expect 1 error.
370-
await render(<App />, 1);
369+
await render(
370+
<App />,
371+
render === clientRenderOnBadMarkup
372+
? // On hydration mismatch we retry and therefore log the warning again.
373+
2
374+
: 1,
375+
);
371376
},
372377
);
373378

@@ -392,9 +397,14 @@ describe('ReactDOMServerIntegration', () => {
392397
</div>
393398
);
394399
};
395-
// TODO: fails due to render error retry
396-
// We expect 1 error.
397-
await render(<App />, 1);
400+
401+
await render(
402+
<App />,
403+
render === clientRenderOnBadMarkup
404+
? // On hydration mismatch we retry and therefore log the warning again.
405+
2
406+
: 1,
407+
);
398408
},
399409
);
400410

0 commit comments

Comments
 (0)