@@ -19,8 +19,8 @@ import Worker from '../dist/node/index.cjs';
19
19
20
20
let worker ;
21
21
22
- function createModuleWorker ( url ) {
23
- const worker = new Worker ( url , { type : 'module' } ) ;
22
+ function createModuleWorker ( url , opts ) {
23
+ const worker = new Worker ( url , opts || { type : 'module' } ) ;
24
24
worker . events = [ ] ;
25
25
worker . addEventListener ( 'message' , e => {
26
26
worker . events . push ( e ) ;
@@ -36,7 +36,7 @@ test.after.always(t => {
36
36
37
37
test . serial ( 'instantiation' , async t => {
38
38
worker = createModuleWorker ( './test/fixtures/worker.mjs' ) ;
39
- await sleep ( 500 ) ;
39
+ await sleep ( 50 ) ;
40
40
t . is ( worker . events . length , 1 , 'should have received a message event' ) ;
41
41
t . is ( worker . events [ 0 ] . data , 42 ) ;
42
42
} ) ;
@@ -49,7 +49,7 @@ test.serial('postMessage', async t => {
49
49
worker . postMessage ( msg ) ;
50
50
const timestamp = Date . now ( ) ;
51
51
52
- await sleep ( 500 ) ;
52
+ await sleep ( 50 ) ;
53
53
54
54
t . is ( worker . events . length , 2 , 'should have received two message responses' ) ;
55
55
@@ -75,3 +75,19 @@ test.serial('close', async t => {
75
75
} ) ;
76
76
t . is ( closed , true , 'should have closed itself' ) ;
77
77
} ) ;
78
+
79
+ test . serial ( 'data URL - module' , async t => {
80
+ t . teardown ( ( ) => worker && worker . terminate ( ) ) ;
81
+ const worker = createModuleWorker ( 'data:application/javascript,postMessage(42)' ) ;
82
+ await sleep ( 50 ) ;
83
+ t . is ( worker . events . length , 1 , 'should have received a message event' ) ;
84
+ t . is ( worker . events [ 0 ] . data , 42 ) ;
85
+ } ) ;
86
+
87
+ test . serial ( 'data URL - classic' , async t => {
88
+ t . teardown ( ( ) => worker && worker . terminate ( ) ) ;
89
+ const worker = createModuleWorker ( 'data:application/javascript,postMessage(42)' , { } ) ;
90
+ await sleep ( 50 ) ;
91
+ t . is ( worker . events . length , 1 , 'should have received a message event' ) ;
92
+ t . is ( worker . events [ 0 ] . data , 42 ) ;
93
+ } ) ;
0 commit comments