1
1
'use strict' ;
2
2
3
+ const { relative } = require ( 'path' ) ;
3
4
const webpack = require ( 'webpack' ) ;
4
5
const Server = require ( '../lib/Server' ) ;
5
6
const config = require ( './fixtures/simple-config/webpack.config' ) ;
@@ -16,6 +17,64 @@ const allStats = [
16
17
] ;
17
18
18
19
describe ( 'Server' , ( ) => {
20
+ describe ( 'addEntries' , ( ) => {
21
+ it ( 'add hot option' , ( ) => {
22
+ return new Promise ( ( res ) => {
23
+ // eslint-disable-next-line
24
+ const Server = require ( '../lib/Server' ) ;
25
+ const compiler = webpack ( config ) ;
26
+ const server = new Server ( compiler , {
27
+ hot : true ,
28
+ } ) ;
29
+
30
+ expect (
31
+ server . middleware . context . compiler . options . entry . map ( ( p ) => {
32
+ return relative ( '.' , p ) ;
33
+ } )
34
+ ) . toMatchSnapshot ( ) ;
35
+ expect (
36
+ server . middleware . context . compiler . options . plugins
37
+ ) . toMatchSnapshot ( ) ;
38
+
39
+ compiler . hooks . done . tap ( 'webpack-dev-server' , ( ) => {
40
+ server . close ( ( ) => {
41
+ res ( ) ;
42
+ } ) ;
43
+ } ) ;
44
+
45
+ compiler . run ( ( ) => { } ) ;
46
+ } ) ;
47
+ } ) ;
48
+
49
+ it ( 'add hotOnly option' , ( ) => {
50
+ return new Promise ( ( res ) => {
51
+ // eslint-disable-next-line
52
+ const Server = require ( '../lib/Server' ) ;
53
+ const compiler = webpack ( config ) ;
54
+ const server = new Server ( compiler , {
55
+ hotOnly : true ,
56
+ } ) ;
57
+
58
+ expect (
59
+ server . middleware . context . compiler . options . entry . map ( ( p ) => {
60
+ return relative ( '.' , p ) ;
61
+ } )
62
+ ) . toMatchSnapshot ( ) ;
63
+ expect (
64
+ server . middleware . context . compiler . options . plugins
65
+ ) . toMatchSnapshot ( ) ;
66
+
67
+ compiler . hooks . done . tap ( 'webpack-dev-server' , ( ) => {
68
+ server . close ( ( ) => {
69
+ res ( ) ;
70
+ } ) ;
71
+ } ) ;
72
+
73
+ compiler . run ( ( ) => { } ) ;
74
+ } ) ;
75
+ } ) ;
76
+ } ) ;
77
+
19
78
// issue: https://github.com/webpack/webpack-dev-server/issues/1724
20
79
describe ( 'express.static.mine.types' , ( ) => {
21
80
beforeEach ( ( ) => {
0 commit comments