forked from webpack/webpack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWatcherEvents.test.js
70 lines (54 loc) · 1.47 KB
/
WatcherEvents.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
"use strict";
/*globals describe it before after */
const path = require("path");
const should = require("should");
const MemoryFs = require("memory-fs");
const webpack = require("../");
const createCompiler = config => {
const compiler = webpack(config);
compiler.outputFileSystem = new MemoryFs();
return compiler;
};
const createSingleCompiler = () => {
return createCompiler({
context: path.join(__dirname, "fixtures"),
entry: "./a.js"
});
};
const createMultiCompiler = () => {
return createCompiler([{
context: path.join(__dirname, "fixtures"),
entry: "./a.js"
}]);
};
describe("WatcherEvents", function() {
this.timeout(10000);
it("should emit 'watch-close' when using single-compiler mode and the compiler is not running", function(done) {
let called = false;
const compiler = createSingleCompiler();
const watcher = compiler.watch({}, (err, stats) => {
called.should.be.exactly(true);
done(err);
});
compiler.plugin("watch-close", () => {
called = true;
});
compiler.plugin("done", () => {
watcher.close();
});
});
it("should emit 'watch-close' when using multi-compiler mode and the compiler is not running", function(done) {
let called = false;
const compiler = createMultiCompiler();
const watcher = compiler.watch({}, (err, stats) => {
called.should.be.exactly(true);
done(err);
});
compiler.plugin("watch-close", () => {
called = true;
});
compiler.plugin("done", () => {
watcher.close();
});
});
});