File tree Expand file tree Collapse file tree 2 files changed +12
-5
lines changed
Expand file tree Collapse file tree 2 files changed +12
-5
lines changed Original file line number Diff line number Diff line change @@ -16,10 +16,6 @@ class WebWorker extends React.Component {
1616 }
1717 }
1818
19- uninitialized = ( ) => {
20- throw new Error ( "Worker not initialized" )
21- }
22-
2319 onMessage = message => {
2420 if ( ! this . mounted ) return
2521 const data = this . props . parser ? this . props . parser ( message . data ) : message . data
@@ -41,7 +37,8 @@ class WebWorker extends React.Component {
4137
4238 postMessage = data => {
4339 const { serializer = x => x } = this . props
44- const { postMessage = this . uninitialized } = this . worker || { }
40+ const { postMessage } = this . worker || { }
41+ if ( ! postMessage ) throw new Error ( "Worker not initialized" )
4542 this . setState ( { lastPostAt : new Date ( ) } , ( ) => postMessage . call ( this . worker , serializer ( data ) ) )
4643 }
4744
Original file line number Diff line number Diff line change @@ -97,6 +97,16 @@ test("postMessage sends messages to the worker", async () => {
9797 expect ( worker . postMessage ) . toHaveBeenCalledWith ( "hello" )
9898} )
9999
100+ test ( "calling postMessage before having setup a worker will throw" , async ( ) => {
101+ render (
102+ < WebWorker >
103+ { ( { postMessage } ) => {
104+ expect ( ( ) => postMessage ( "hello" ) ) . toThrow ( new Error ( "Worker not initialized" ) )
105+ } }
106+ </ WebWorker >
107+ )
108+ } )
109+
100110test ( "serializer will prepare messages before sending them to the worker" , async ( ) => {
101111 worker . postMessage . mockClear ( )
102112 const { getByText } = render (
You can’t perform that action at this time.
0 commit comments