|
2 | 2 |
|
3 | 3 | const { relative, sep } = require('path');
|
4 | 4 | const webpack = require('webpack');
|
| 5 | +const { noop } = require('webpack-dev-middleware/lib/util'); |
5 | 6 | const request = require('supertest');
|
6 | 7 | // Mock opn before loading Server
|
7 | 8 | jest.mock('opn');
|
@@ -75,6 +76,51 @@ describe('Server', () => {
|
75 | 76 | });
|
76 | 77 | });
|
77 | 78 |
|
| 79 | + describe('Testing callback functions on calling invalidate without callback', () => { |
| 80 | + it('should be `noop` (the default callback function)', () => { |
| 81 | + return new Promise((res) => { |
| 82 | + // eslint-disable-next-line |
| 83 | + const Server = require('../lib/Server'); |
| 84 | + const compiler = webpack(config); |
| 85 | + const server = new Server(compiler); |
| 86 | + |
| 87 | + server.invalidate(); |
| 88 | + expect(server.middleware.context.callbacks[0]).toBe(noop); |
| 89 | + |
| 90 | + compiler.hooks.done.tap('webpack-dev-server', () => { |
| 91 | + server.close(() => { |
| 92 | + res(); |
| 93 | + }); |
| 94 | + }); |
| 95 | + |
| 96 | + compiler.run(() => {}); |
| 97 | + }); |
| 98 | + }); |
| 99 | + }); |
| 100 | + |
| 101 | + describe('Testing callback functions on calling invalidate with callback', () => { |
| 102 | + it('should be `callback` function', () => { |
| 103 | + return new Promise((res) => { |
| 104 | + // eslint-disable-next-line |
| 105 | + const Server = require('../lib/Server'); |
| 106 | + const compiler = webpack(config); |
| 107 | + const callback = jest.fn(); |
| 108 | + const server = new Server(compiler); |
| 109 | + server.invalidate(callback); |
| 110 | + |
| 111 | + expect(server.middleware.context.callbacks[0]).toBe(callback); |
| 112 | + |
| 113 | + compiler.hooks.done.tap('webpack-dev-server', () => { |
| 114 | + server.close(() => { |
| 115 | + res(); |
| 116 | + }); |
| 117 | + }); |
| 118 | + |
| 119 | + compiler.run(() => {}); |
| 120 | + }); |
| 121 | + }); |
| 122 | + }); |
| 123 | + |
78 | 124 | // issue: https://github.com/webpack/webpack-dev-server/issues/1724
|
79 | 125 | describe('express.static.mine.types', () => {
|
80 | 126 | beforeEach(() => {
|
|
0 commit comments