Skip to content

Commit 0dd0206

Browse files
committed
Try rewriting the test to see if it works in other Node envs
1 parent bbb58f2 commit 0dd0206

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

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

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,8 @@ describe('ReactDOMFizzServer', () => {
3636
writable.on('error', error => {
3737
writable.error = error;
3838
});
39-
return writable;
40-
}
41-
42-
function waitUntilClose(writable) {
43-
return new Promise(resolve => writable.on('close', resolve));
39+
const closed = new Promise(resolve => writable.on('close', resolve));
40+
return {writable, closed};
4441
}
4542

4643
const theError = new Error('This is an error');
@@ -54,31 +51,32 @@ describe('ReactDOMFizzServer', () => {
5451

5552
// @gate experimental
5653
it('should call pipeToNodeWritable', () => {
57-
const writable = getTestWritable();
54+
const {writable} = getTestWritable();
5855
ReactDOMFizzServer.pipeToNodeWritable(<div>hello world</div>, writable);
5956
jest.runAllTimers();
6057
expect(writable.result).toBe('<div>hello world</div>');
6158
});
6259

6360
// @gate experimental
6461
it('should error the stream when an error is thrown at the root', async () => {
65-
const writable = getTestWritable();
62+
const {writable, closed} = getTestWritable();
6663
ReactDOMFizzServer.pipeToNodeWritable(
6764
<div>
6865
<Throw />
6966
</div>,
7067
writable,
7168
);
69+
jest.runAllTimers();
7270

73-
await waitUntilClose(writable);
71+
await closed;
7472

7573
expect(writable.error).toBe(theError);
7674
expect(writable.result).toBe('');
7775
});
7876

7977
// @gate experimental
8078
it('should error the stream when an error is thrown inside a fallback', async () => {
81-
const writable = getTestWritable();
79+
const {writable, closed} = getTestWritable();
8280
ReactDOMFizzServer.pipeToNodeWritable(
8381
<div>
8482
<Suspense fallback={<Throw />}>
@@ -88,15 +86,17 @@ describe('ReactDOMFizzServer', () => {
8886
writable,
8987
);
9088

91-
await waitUntilClose(writable);
89+
jest.runAllTimers();
90+
91+
await closed;
9292

9393
expect(writable.error).toBe(theError);
9494
expect(writable.result).toBe('');
9595
});
9696

9797
// @gate experimental
9898
it('should not error the stream when an error is thrown inside suspense boundary', async () => {
99-
const writable = getTestWritable();
99+
const {writable, closed} = getTestWritable();
100100
ReactDOMFizzServer.pipeToNodeWritable(
101101
<div>
102102
<Suspense fallback={<div>Loading</div>}>
@@ -106,7 +106,9 @@ describe('ReactDOMFizzServer', () => {
106106
writable,
107107
);
108108

109-
await waitUntilClose(writable);
109+
jest.runAllTimers();
110+
111+
await closed;
110112

111113
expect(writable.error).toBe(undefined);
112114
expect(writable.result).toContain('Loading');

0 commit comments

Comments
 (0)