From 5d7b31b914c77282f4ad90055fee1d06a118f851 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Fri, 16 Sep 2016 16:03:44 +0200 Subject: [PATCH 1/4] Make log & warn functions replaceable --- middleware.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/middleware.js b/middleware.js index d39290948..a89467ef9 100644 --- a/middleware.js +++ b/middleware.js @@ -22,13 +22,13 @@ var defaultReporter = function(reporterOptions) { options.noInfo) displayStats = false; if(displayStats) { - console.log(stats.toString(options.stats)); + options.log(stats.toString(options.stats)); } if(!options.noInfo && !options.quiet) { - console.info("webpack: bundle is now VALID."); + options.log("webpack: bundle is now VALID."); } } else { - console.info("webpack: bundle is now INVALID."); + options.log("webpack: bundle is now INVALID."); } }; @@ -38,7 +38,7 @@ module.exports = function(compiler, options) { if(typeof options.watchOptions === "undefined") options.watchOptions = {}; if(typeof options.watchDelay !== "undefined") { // TODO remove this in next major version - console.warn("options.watchDelay is deprecated: Use 'options.watchOptions.aggregateTimeout' instead"); + options.warn("options.watchDelay is deprecated: Use 'options.watchOptions.aggregateTimeout' instead"); options.watchOptions.aggregateTimeout = options.watchDelay; } if(typeof options.watchOptions.aggregateTimeout === "undefined") options.watchOptions.aggregateTimeout = 200; @@ -53,6 +53,8 @@ module.exports = function(compiler, options) { } } if(typeof options.reporter !== "function") options.reporter = defaultReporter; + if(typeof options.log !== "function") options.log = console.log.bind(console); + if(typeof options.warn !== "function") option.warn = console.warn.bind(console); // store our files in memory var fs; @@ -130,7 +132,7 @@ module.exports = function(compiler, options) { function ready(fn, req) { if(state) return fn(); if(!options.noInfo && !options.quiet) - console.log("webpack: wait until bundle finished: " + (req.url || fn.name)); + options.log("webpack: wait until bundle finished: " + (req.url || fn.name)); callbacks.push(fn); } From a9a8cd050e8ea5bd740839907dd0641bdd908cd6 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Mon, 19 Sep 2016 10:49:01 +0200 Subject: [PATCH 2/4] Fix typo --- middleware.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/middleware.js b/middleware.js index a89467ef9..502e8b996 100644 --- a/middleware.js +++ b/middleware.js @@ -54,7 +54,7 @@ module.exports = function(compiler, options) { } if(typeof options.reporter !== "function") options.reporter = defaultReporter; if(typeof options.log !== "function") options.log = console.log.bind(console); - if(typeof options.warn !== "function") option.warn = console.warn.bind(console); + if(typeof options.warn !== "function") options.warn = console.warn.bind(console); // store our files in memory var fs; From 98f411197b70798e62b8a4715c8738c61b0aa690 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Mon, 19 Sep 2016 11:17:10 +0200 Subject: [PATCH 3/4] Fix tests. - console.info is never called any more - since both log/info calls are merged, increase the expected count of calls by one --- test/Reporter.test.js | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/test/Reporter.test.js b/test/Reporter.test.js index 8a8a133ea..2778dea04 100644 --- a/test/Reporter.test.js +++ b/test/Reporter.test.js @@ -29,8 +29,7 @@ describe("Reporter", function() { }; beforeEach(function() { plugins = {}; - this.sinon.stub(console, 'log'); - this.sinon.stub(console, 'info'); + this.sinon.stub(console, 'log', console.log.bind(console)); }); describe("valid/invalid messages", function() { @@ -39,8 +38,8 @@ describe("Reporter", function() { plugins.done(simpleStats); setTimeout(function() { - should.strictEqual(console.info.callCount, 1); - should.strictEqual(console.info.calledWith("webpack: bundle is now VALID."), true); + should.strictEqual(console.log.callCount, 2); + should.strictEqual(console.log.calledWith("webpack: bundle is now VALID."), true); done(); }); }); @@ -50,7 +49,7 @@ describe("Reporter", function() { plugins.done(simpleStats); setTimeout(function() { - should.strictEqual(console.info.callCount, 0); + should.strictEqual(console.log.callCount, 0); done(); }); }); @@ -60,7 +59,7 @@ describe("Reporter", function() { plugins.done(simpleStats); setTimeout(function() { - should.strictEqual(console.info.callCount, 0); + should.strictEqual(console.log.callCount, 0); done(); }); }); @@ -70,8 +69,8 @@ describe("Reporter", function() { plugins.done(simpleStats); plugins.invalid(); setTimeout(function() { - should.strictEqual(console.info.callCount, 1); - should.strictEqual(console.info.calledWith("webpack: bundle is now INVALID."), true); + should.strictEqual(console.log.callCount, 1); + should.strictEqual(console.log.calledWith("webpack: bundle is now INVALID."), true); done(); }); }); @@ -82,7 +81,7 @@ describe("Reporter", function() { plugins.done(simpleStats); plugins.invalid(); setTimeout(function() { - should.strictEqual(console.info.callCount, 0); + should.strictEqual(console.log.callCount, 0); done(); }); }); @@ -93,7 +92,7 @@ describe("Reporter", function() { plugins.done(simpleStats); plugins.invalid(); setTimeout(function() { - should.strictEqual(console.info.callCount, 0); + should.strictEqual(console.log.callCount, 0); done(); }); }); @@ -117,7 +116,7 @@ describe("Reporter", function() { plugins.done(stats); setTimeout(function() { - should.strictEqual(console.log.callCount, 1); + should.strictEqual(console.log.callCount, 2); should.strictEqual(console.log.calledWith(stats.toString()), true); done(); }); @@ -128,7 +127,7 @@ describe("Reporter", function() { plugins.done(stats); setTimeout(function() { - should.strictEqual(console.log.callCount, 0); + should.strictEqual(console.log.callCount, 1); done(); }); }); From 020091376bc0cd28145bd6f3e8c544e2b0f303a1 Mon Sep 17 00:00:00 2001 From: Alan Pearce Date: Mon, 19 Sep 2016 11:35:31 +0200 Subject: [PATCH 4/4] =?UTF-8?q?Don=E2=80=99t=20actually=20call=20console.l?= =?UTF-8?q?og=20in=20tests?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/Reporter.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Reporter.test.js b/test/Reporter.test.js index 2778dea04..f4d5da2c2 100644 --- a/test/Reporter.test.js +++ b/test/Reporter.test.js @@ -29,7 +29,7 @@ describe("Reporter", function() { }; beforeEach(function() { plugins = {}; - this.sinon.stub(console, 'log', console.log.bind(console)); + this.sinon.stub(console, 'log'); }); describe("valid/invalid messages", function() {