Skip to content

Commit

Permalink
more tests
Browse files Browse the repository at this point in the history
add none as loglevel
  • Loading branch information
sokra committed Jul 22, 2019
1 parent 85263af commit 7b31890
Show file tree
Hide file tree
Showing 5 changed files with 92 additions and 21 deletions.
4 changes: 2 additions & 2 deletions declarations/WebpackOptions.d.ts
Expand Up @@ -304,7 +304,7 @@ export interface WebpackOptions {
/**
* Log level
*/
level?: "error" | "warn" | "info" | "log" | "verbose";
level?: "none" | "error" | "warn" | "info" | "log" | "verbose";
};
/**
* Custom values available in the loader context.
Expand Down Expand Up @@ -1359,7 +1359,7 @@ export interface StatsOptions {
/**
* add logging output
*/
logging?: boolean | ("error" | "warn" | "info" | "log" | "verbose");
logging?: boolean | ("none" | "error" | "warn" | "info" | "log" | "verbose");
/**
* Include debug logging of specified loggers (i. e. for plugins or loaders). Filters can be Strings, RegExps or Functions
*/
Expand Down
5 changes: 4 additions & 1 deletion lib/Stats.js
Expand Up @@ -718,6 +718,9 @@ class Stats {
let acceptedTypes;
let collapsedGroups = false;
switch (showLogging) {
case "none":
acceptedTypes = new Set([]);
break;
case "error":
acceptedTypes = new Set([LogType.error]);
break;
Expand Down Expand Up @@ -763,7 +766,7 @@ class Stats {
let processedLogEntries = logEntries;
if (!debugMode) {
processedLogEntries = processedLogEntries.filter(entry => {
if (acceptedTypes && !acceptedTypes.has(entry.type)) return false;
if (!acceptedTypes.has(entry.type)) return false;
if (!collapsedGroups) {
switch (entry.type) {
case LogType.groupCollapsed:
Expand Down
1 change: 1 addition & 0 deletions lib/logging/createConsoleLogger.js
Expand Up @@ -48,6 +48,7 @@ const filterToFunction = item => {
/**
* @enum {number} */
const LogLevel = {
none: 6,
false: 6,
error: 5,
warn: 4,
Expand Down
4 changes: 2 additions & 2 deletions schemas/WebpackOptions.json
Expand Up @@ -1831,7 +1831,7 @@
},
{
"description": "specify log level of logging output",
"enum": ["error", "warn", "info", "log", "verbose"]
"enum": ["none", "error", "warn", "info", "log", "verbose"]
}
]
},
Expand Down Expand Up @@ -2044,7 +2044,7 @@
},
"level": {
"description": "Log level",
"enum": ["error", "warn", "info", "log", "verbose"]
"enum": ["none", "error", "warn", "info", "log", "verbose"]
}
}
},
Expand Down
99 changes: 83 additions & 16 deletions test/Compiler.test.js
Expand Up @@ -542,22 +542,24 @@ describe("Compiler", () => {
delete spies[method];
}
});
it("should log to the console", done => {
class MyPlugin {
apply(compiler) {
const logger = compiler.getInfrastructureLogger("MyPlugin");
logger.group("Group");
logger.error("Error");
logger.warn("Warning");
logger.info("Info");
logger.log("Log");
logger.debug("Debug");
logger.groupCollapsed("Collaped group");
logger.log("Log inside collapsed group");
logger.groupEnd();
logger.groupEnd();
}
class MyPlugin {
apply(compiler) {
const logger = compiler.getInfrastructureLogger("MyPlugin");
logger.time("Time");
logger.group("Group");
logger.error("Error");
logger.warn("Warning");
logger.info("Info");
logger.log("Log");
logger.debug("Debug");
logger.groupCollapsed("Collaped group");
logger.log("Log inside collapsed group");
logger.groupEnd();
logger.groupEnd();
logger.timeEnd("Time");
}
}
it("should log to the console (verbose)", done => {
const compiler = webpack({
context: path.join(__dirname, "fixtures"),
entry: "./a",
Expand All @@ -584,7 +586,7 @@ describe("Compiler", () => {
expect(spies.warn).toHaveBeenCalledWith("<w> [MyPlugin] Warning");
expect(spies.info).toHaveBeenCalledTimes(1);
expect(spies.info).toHaveBeenCalledWith("<i> [MyPlugin] Info");
expect(spies.log).toHaveBeenCalledTimes(2);
expect(spies.log).toHaveBeenCalledTimes(3);
expect(spies.log).toHaveBeenCalledWith("[MyPlugin] Log");
expect(spies.log).toHaveBeenCalledWith(
"[MyPlugin] Log inside collapsed group"
Expand All @@ -594,5 +596,70 @@ describe("Compiler", () => {
done();
});
});
it("should log to the console (debug mode)", done => {
const compiler = webpack({
context: path.join(__dirname, "fixtures"),
entry: "./a",
output: {
path: "/",
filename: "bundle.js"
},
infrastructureLogging: {
level: "error",
debug: /MyPlugin/
},
plugins: [new MyPlugin()]
});
compiler.outputFileSystem = new MemoryFs();
compiler.run((err, stats) => {
expect(spies.group).toHaveBeenCalledTimes(1);
expect(spies.group).toHaveBeenCalledWith("[MyPlugin] Group");
expect(spies.groupCollapsed).toHaveBeenCalledTimes(1);
expect(spies.groupCollapsed).toHaveBeenCalledWith(
"[MyPlugin] Collaped group"
);
expect(spies.error).toHaveBeenCalledTimes(1);
expect(spies.error).toHaveBeenCalledWith("<e> [MyPlugin] Error");
expect(spies.warn).toHaveBeenCalledTimes(1);
expect(spies.warn).toHaveBeenCalledWith("<w> [MyPlugin] Warning");
expect(spies.info).toHaveBeenCalledTimes(1);
expect(spies.info).toHaveBeenCalledWith("<i> [MyPlugin] Info");
expect(spies.log).toHaveBeenCalledTimes(3);
expect(spies.log).toHaveBeenCalledWith("[MyPlugin] Log");
expect(spies.log).toHaveBeenCalledWith(
"[MyPlugin] Log inside collapsed group"
);
expect(spies.debug).toHaveBeenCalledTimes(1);
expect(spies.debug).toHaveBeenCalledWith("[MyPlugin] Debug");
expect(spies.groupEnd).toHaveBeenCalledTimes(2);
done();
});
});
it("should log to the console (none)", done => {
const compiler = webpack({
context: path.join(__dirname, "fixtures"),
entry: "./a",
output: {
path: "/",
filename: "bundle.js"
},
infrastructureLogging: {
level: "none"
},
plugins: [new MyPlugin()]
});
compiler.outputFileSystem = new MemoryFs();
compiler.run((err, stats) => {
expect(spies.group).toHaveBeenCalledTimes(0);
expect(spies.groupCollapsed).toHaveBeenCalledTimes(0);
expect(spies.error).toHaveBeenCalledTimes(0);
expect(spies.warn).toHaveBeenCalledTimes(0);
expect(spies.info).toHaveBeenCalledTimes(0);
expect(spies.log).toHaveBeenCalledTimes(0);
expect(spies.debug).toHaveBeenCalledTimes(0);
expect(spies.groupEnd).toHaveBeenCalledTimes(0);
done();
});
});
});
});

0 comments on commit 7b31890

Please sign in to comment.