mirror of https://github.com/webpack/webpack.git
70 lines
1.4 KiB
JavaScript
70 lines
1.4 KiB
JavaScript
|
"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("WatchEvents", () => {
|
||
|
|
||
|
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();
|
||
|
});
|
||
|
|
||
|
});
|
||
|
|
||
|
});
|