@@ -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