@@ -19,8 +19,6 @@ const baseDevConfig = {
19
19
static : false ,
20
20
} ;
21
21
22
- const createServer = ( compiler , options ) => new Server ( options , compiler ) ;
23
-
24
22
describe ( 'Server' , ( ) => {
25
23
describe ( 'sockjs' , ( ) => {
26
24
it ( 'add decorateConnection' , ( ) => {
@@ -40,6 +38,7 @@ describe('Server', () => {
40
38
( compilation ) => {
41
39
const mainDeps = compilation . entries . get ( 'main' ) . dependencies ;
42
40
const globalDeps = compilation . globalEntry . dependencies ;
41
+
43
42
entries = globalDeps
44
43
. concat ( mainDeps )
45
44
. map ( ( dep ) => relative ( '.' , dep . request ) . split ( sep ) ) ;
@@ -54,73 +53,68 @@ describe('Server', () => {
54
53
55
54
it ( 'add hot option' , ( done ) => {
56
55
const compiler = webpack ( config ) ;
57
- const server = createServer (
58
- compiler ,
59
- Object . assign ( { } , baseDevConfig , {
60
- hot : true ,
61
- } )
62
- ) ;
63
-
64
- getEntries ( server ) ;
56
+ const server = new Server ( { ...baseDevConfig , hot : true } , compiler ) ;
65
57
66
58
compiler . hooks . done . tap ( 'webpack-dev-server' , ( ) => {
67
59
expect ( entries ) . toMatchSnapshot ( ) ;
68
- server . close ( done ) ;
60
+
61
+ server . close ( ( ) => {
62
+ done ( ) ;
63
+ } ) ;
69
64
} ) ;
70
65
71
- compiler . run ( ( ) => { } ) ;
66
+ server . listen ( port , 'localhost' , ( error ) => {
67
+ if ( error ) {
68
+ throw error ;
69
+ }
70
+
71
+ getEntries ( server ) ;
72
+ } ) ;
72
73
} ) ;
73
74
74
- // TODO: remove this after plugin support is published
75
- it ( 'should create and run server with old parameters order' , ( done ) => {
75
+ it ( 'add hot-only option' , ( done ) => {
76
76
const compiler = webpack ( config ) ;
77
- const server = new Server ( compiler , baseDevConfig ) ;
78
-
79
- getEntries ( server ) ;
77
+ const server = new Server ( { ...baseDevConfig , hot : 'only' } , compiler ) ;
80
78
81
79
compiler . hooks . done . tap ( 'webpack-dev-server' , ( ) => {
82
- expect ( entries ) . toMatchSnapshot ( 'oldparam' ) ;
80
+ expect ( entries ) . toMatchSnapshot ( ) ;
81
+
83
82
server . close ( done ) ;
84
83
} ) ;
85
84
86
- compiler . run ( ( ) => { } ) ;
85
+ server . listen ( port , 'localhost' , ( error ) => {
86
+ if ( error ) {
87
+ throw error ;
88
+ }
89
+
90
+ getEntries ( server ) ;
91
+ } ) ;
87
92
} ) ;
88
93
89
94
// TODO: remove this after plugin support is published
90
- it ( 'should create and run server with MultiCompiler with old parameters order' , ( done ) => {
91
- const compiler = webpack ( [ config , config ] ) ;
95
+ it ( 'should create and run server with old parameters order' , ( done ) => {
96
+ const compiler = webpack ( config ) ;
92
97
const server = new Server ( compiler , baseDevConfig ) ;
93
98
94
99
compiler . hooks . done . tap ( 'webpack-dev-server' , ( ) => {
100
+ expect ( entries ) . toMatchSnapshot ( 'oldparam' ) ;
101
+
95
102
server . close ( done ) ;
96
103
} ) ;
97
104
98
- compiler . run ( ( ) => { } ) ;
99
- } ) ;
100
-
101
- it ( 'add hot-only option' , ( done ) => {
102
- const compiler = webpack ( config ) ;
103
- const server = createServer (
104
- compiler ,
105
- Object . assign ( { } , baseDevConfig , {
106
- hot : 'only' ,
107
- } )
108
- ) ;
109
-
110
- getEntries ( server ) ;
105
+ server . listen ( port , 'localhost' , ( error ) => {
106
+ if ( error ) {
107
+ throw error ;
108
+ }
111
109
112
- compiler . hooks . done . tap ( 'webpack-dev-server' , ( ) => {
113
- expect ( entries ) . toMatchSnapshot ( ) ;
114
- server . close ( done ) ;
110
+ getEntries ( server ) ;
115
111
} ) ;
116
-
117
- compiler . run ( ( ) => { } ) ;
118
112
} ) ;
119
113
} ) ;
120
114
121
115
it ( 'test server error reporting' , ( ) => {
122
116
const compiler = webpack ( config ) ;
123
- const server = createServer ( compiler , baseDevConfig ) ;
117
+ const server = new Server ( baseDevConfig , compiler ) ;
124
118
125
119
const emitError = ( ) => server . server . emit ( 'error' , new Error ( 'Error !!!' ) ) ;
126
120
@@ -149,7 +143,7 @@ describe('Server', () => {
149
143
} ) ;
150
144
151
145
const compiler = webpack ( config ) ;
152
- const server = createServer ( compiler , baseDevConfig ) ;
146
+ const server = new Server ( baseDevConfig , compiler ) ;
153
147
154
148
compiler . hooks . done . tap ( 'webpack-dev-server' , ( s ) => {
155
149
const output = server . getStats ( s ) ;
@@ -158,7 +152,6 @@ describe('Server', () => {
158
152
server . close ( done ) ;
159
153
} ) ;
160
154
161
- compiler . run ( ( ) => { } ) ;
162
155
server . listen ( port , 'localhost' ) ;
163
156
} ) ;
164
157
} ) ;
@@ -310,7 +303,9 @@ describe('Server', () => {
310
303
const headers = {
311
304
host : 'localhost' ,
312
305
} ;
313
- server = createServer ( compiler , options ) ;
306
+
307
+ server = new Server ( options , compiler ) ;
308
+
314
309
if ( ! server . checkHostHeader ( headers ) ) {
315
310
throw new Error ( "Validation didn't fail" ) ;
316
311
}
@@ -327,7 +322,7 @@ describe('Server', () => {
327
322
host : '127.0.0.1' ,
328
323
} ;
329
324
330
- server = createServer ( compiler , options ) ;
325
+ server = new Server ( options , compiler ) ;
331
326
332
327
if ( ! server . checkHostHeader ( headers ) ) {
333
328
throw new Error ( "Validation didn't fail" ) ;
@@ -346,7 +341,7 @@ describe('Server', () => {
346
341
'[ad42::1de2:54c2:c2fa:1234]:8080' ,
347
342
] ;
348
343
349
- server = createServer ( compiler , options ) ;
344
+ server = new Server ( options , compiler ) ;
350
345
351
346
tests . forEach ( ( test ) => {
352
347
const headers = { host : test } ;
@@ -368,7 +363,7 @@ describe('Server', () => {
368
363
host : 'test.hostname:80' ,
369
364
} ;
370
365
371
- server = createServer ( compiler , options ) ;
366
+ server = new Server ( options , compiler ) ;
372
367
373
368
if ( server . checkHostHeader ( headers ) ) {
374
369
throw new Error ( "Validation didn't fail" ) ;
@@ -385,7 +380,7 @@ describe('Server', () => {
385
380
origin : 'https://test.host' ,
386
381
} ;
387
382
388
- server = createServer ( compiler , options ) ;
383
+ server = new Server ( options , compiler ) ;
389
384
390
385
if ( ! server . checkOriginHeader ( headers ) ) {
391
386
throw new Error ( "Validation didn't fail" ) ;
@@ -404,7 +399,7 @@ describe('Server', () => {
404
399
origin : 'https://test.host' ,
405
400
} ;
406
401
407
- server = createServer ( compiler , options ) ;
402
+ server = new Server ( options , compiler ) ;
408
403
409
404
if ( ! server . checkOriginHeader ( headers ) ) {
410
405
throw new Error ( "Validation didn't fail" ) ;
@@ -416,34 +411,43 @@ describe('Server', () => {
416
411
describe ( 'Testing callback functions on calling invalidate without callback' , ( ) => {
417
412
it ( 'should use default `noop` callback' , ( done ) => {
418
413
const compiler = webpack ( config ) ;
419
- const server = createServer ( compiler , baseDevConfig ) ;
420
-
421
- server . invalidate ( ) ;
422
- expect ( server . middleware . context . callbacks . length ) . toEqual ( 1 ) ;
414
+ const server = new Server ( baseDevConfig , compiler ) ;
423
415
424
416
compiler . hooks . done . tap ( 'webpack-dev-server' , ( ) => {
425
417
server . close ( done ) ;
426
418
} ) ;
427
419
428
- compiler . run ( ( ) => { } ) ;
420
+ server . listen ( port , '127.0.0.1' , ( error ) => {
421
+ if ( error ) {
422
+ throw error ;
423
+ }
424
+
425
+ server . invalidate ( ) ;
426
+
427
+ expect ( server . middleware . context . callbacks . length ) . toEqual ( 1 ) ;
428
+ } ) ;
429
429
} ) ;
430
430
} ) ;
431
431
432
432
describe ( 'Testing callback functions on calling invalidate with callback' , ( ) => {
433
433
it ( 'should use `callback` function' , ( done ) => {
434
434
const compiler = webpack ( config ) ;
435
435
const callback = jest . fn ( ) ;
436
- const server = createServer ( compiler , baseDevConfig ) ;
437
-
438
- server . invalidate ( callback ) ;
439
-
440
- expect ( server . middleware . context . callbacks [ 0 ] ) . toBe ( callback ) ;
436
+ const server = new Server ( baseDevConfig , compiler ) ;
441
437
442
438
compiler . hooks . done . tap ( 'webpack-dev-server' , ( ) => {
443
439
server . close ( done ) ;
444
440
} ) ;
445
441
446
- compiler . run ( ( ) => { } ) ;
442
+ server . listen ( port , '127.0.0.1' , ( error ) => {
443
+ if ( error ) {
444
+ throw error ;
445
+ }
446
+
447
+ server . invalidate ( callback ) ;
448
+
449
+ expect ( server . middleware . context . callbacks [ 0 ] ) . toBe ( callback ) ;
450
+ } ) ;
447
451
} ) ;
448
452
} ) ;
449
453
} ) ;
0 commit comments