diff --git a/lib/logger.js b/lib/logger.js index 14877dfe..d3939878 100644 --- a/lib/logger.js +++ b/lib/logger.js @@ -23,6 +23,7 @@ const defaultConfig = { }; let messages = {}; +let unsilencedLogs = []; let config = {}; const reset = function() { @@ -31,6 +32,7 @@ const reset = function() { messages[messageKey] = []; } config = Object.assign({}, defaultConfig); + unsilencedLogs = []; }; reset(); @@ -40,6 +42,7 @@ function log(message) { } console.log(message); + unsilencedLogs.push(message); } module.exports = { @@ -73,6 +76,10 @@ module.exports = { return messages; }, + getUnsilencedLogs() { + return unsilencedLogs; + }, + quiet(setQuiet = true) { config.quiet = setQuiet; }, diff --git a/test/_unsilencedLogsCheck.js b/test/_unsilencedLogsCheck.js new file mode 100644 index 00000000..0acfa134 --- /dev/null +++ b/test/_unsilencedLogsCheck.js @@ -0,0 +1,20 @@ +/* + * This file is part of the Symfony Webpack Encore package. + * + * (c) Fabien Potencier + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +'use strict'; + +const logger = require('../lib/logger'); + +afterEach(function() { + const unsilencedLogs = logger.getUnsilencedLogs(); + + if (unsilencedLogs.length > 0) { + this.test.error(new Error(`There were ${unsilencedLogs.length} un-silenced logs messages`)); + } +});