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 {
16
16
}
17
17
}
18
18
19
- uninitialized = ( ) => {
20
- throw new Error ( "Worker not initialized" )
21
- }
22
-
23
19
onMessage = message => {
24
20
if ( ! this . mounted ) return
25
21
const data = this . props . parser ? this . props . parser ( message . data ) : message . data
@@ -41,7 +37,8 @@ class WebWorker extends React.Component {
41
37
42
38
postMessage = data => {
43
39
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" )
45
42
this . setState ( { lastPostAt : new Date ( ) } , ( ) => postMessage . call ( this . worker , serializer ( data ) ) )
46
43
}
47
44
Original file line number Diff line number Diff line change @@ -97,6 +97,16 @@ test("postMessage sends messages to the worker", async () => {
97
97
expect ( worker . postMessage ) . toHaveBeenCalledWith ( "hello" )
98
98
} )
99
99
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
+
100
110
test ( "serializer will prepare messages before sending them to the worker" , async ( ) => {
101
111
worker . postMessage . mockClear ( )
102
112
const { getByText } = render (
You can’t perform that action at this time.
0 commit comments