@@ -30,28 +30,55 @@ const makeBundle = (name, options) => del(`expected/${name}`).then(() => {
30
30
} ) ;
31
31
32
32
describe ( 'worker-loader' , ( ) => {
33
- it ( 'should create chunk with worker via query ' , ( ) =>
34
- makeBundle ( 'worker-query ' ) . then ( ( stats ) => {
33
+ it ( 'should create chunk with worker' , ( ) =>
34
+ makeBundle ( 'worker' ) . then ( ( stats ) => {
35
35
const workerFile = stats . toJson ( 'minimal' ) . children
36
36
. map ( item => item . chunks )
37
37
. reduce ( ( acc , item ) => acc . concat ( item ) , [ ] )
38
38
. map ( item => item . files )
39
- . map ( item => `expected/worker-query /${ item } ` ) [ 0 ] ;
39
+ . map ( item => `expected/worker/${ item } ` ) [ 0 ] ;
40
40
assert ( workerFile ) ;
41
41
assert . notEqual ( readFile ( workerFile ) . indexOf ( '// worker test mark' ) , - 1 ) ;
42
42
} )
43
43
) ;
44
44
45
45
it ( 'should create chunk with specified name in query' , ( ) =>
46
46
makeBundle ( 'name-query' ) . then ( ( stats ) => {
47
- const workerFile = 'expected/name-query/namedWorker.js' ;
48
- const receivedWorkerFile = stats . toJson ( 'minimal' ) . children
47
+ const file = stats . toJson ( 'minimal' ) . children
49
48
. map ( item => item . chunks )
50
49
. reduce ( ( acc , item ) => acc . concat ( item ) , [ ] )
51
50
. map ( item => item . files )
52
51
. map ( item => `expected/name-query/${ item } ` ) [ 0 ] ;
53
- assert . equal ( receivedWorkerFile , workerFile ) ;
54
- assert . notEqual ( readFile ( workerFile ) . indexOf ( '// named worker test mark' ) , - 1 ) ;
52
+ assert . equal ( file , 'expected/name-query/namedWorker.js' ) ;
53
+ assert . notEqual ( readFile ( file ) . indexOf ( '// named worker test mark' ) , - 1 ) ;
54
+ } )
55
+ ) ;
56
+
57
+ it ( 'should create named chunks with workers via options' , ( ) =>
58
+ makeBundle ( 'name-options' , {
59
+ module : {
60
+ rules : [
61
+ {
62
+ test : / ( w 1 | w 2 ) \. j s $ / ,
63
+ loader : '../index.js' ,
64
+ options : {
65
+ name : '[name].js' ,
66
+ } ,
67
+ } ,
68
+ ] ,
69
+ } ,
70
+ } ) . then ( ( stats ) => {
71
+ const files = stats . toJson ( 'minimal' ) . children
72
+ . map ( item => item . chunks )
73
+ . reduce ( ( acc , item ) => acc . concat ( item ) , [ ] )
74
+ . map ( item => item . files )
75
+ . map ( item => `expected/name-options/${ item } ` ) ;
76
+ assert . deepEqual ( files , [
77
+ 'expected/name-options/w1.js' ,
78
+ 'expected/name-options/w2.js' ,
79
+ ] ) ;
80
+ assert . notEqual ( readFile ( files [ 0 ] ) . indexOf ( '// w1 via worker options' ) , - 1 ) ;
81
+ assert . notEqual ( readFile ( files [ 1 ] ) . indexOf ( '// w2 via worker options' ) , - 1 ) ;
55
82
} )
56
83
) ;
57
84
0 commit comments