mirror of https://github.com/webpack/webpack.git
falsy checking; improve tests; fix typo
This commit is contained in:
parent
bc48785175
commit
d045d57e1f
|
@ -16,26 +16,34 @@ class ModuleBuildError extends WebpackError {
|
|||
if(from) {
|
||||
this.message += ` (@ ${from})`;
|
||||
}
|
||||
this.message += ": ";
|
||||
|
||||
var message;
|
||||
if(err !== null && typeof err === "object") {
|
||||
if(typeof err.stack === "string" && err.stack) {
|
||||
var stack = cutOffLoaderExecution(err.stack);
|
||||
if(!err.hideStack) {
|
||||
this.message += stack;
|
||||
message = stack;
|
||||
} else {
|
||||
this.details = stack;
|
||||
if(typeof err.message === "string" && err.message) {
|
||||
this.message += err.message;
|
||||
message = err.message;
|
||||
} else {
|
||||
this.message += err;
|
||||
message = err;
|
||||
}
|
||||
}
|
||||
} else if(typeof err.message === "string" && err.message) {
|
||||
this.message += err.message;
|
||||
message = err.message;
|
||||
} else {
|
||||
this.message += err;
|
||||
message = err;
|
||||
}
|
||||
} else {
|
||||
message = err;
|
||||
}
|
||||
|
||||
if(message !== "") {
|
||||
this.message += `: ${message}`;
|
||||
}
|
||||
|
||||
this.module = module;
|
||||
this.error = err;
|
||||
|
||||
|
|
|
@ -17,8 +17,11 @@ class ModuleError extends WebpackError {
|
|||
if(from) {
|
||||
this.message += ` (@ ${from})`;
|
||||
}
|
||||
this.message += ": ";
|
||||
this.message += err && typeof err === "object" && err.message ? err.message : err;
|
||||
if(err && typeof err === "object" && err.message) {
|
||||
this.message += `: ${err.message}`;
|
||||
} else if(err) {
|
||||
this.message += `: ${err}`;
|
||||
}
|
||||
this.error = err;
|
||||
this.details = err && typeof err === "object" && err.stack ? cleanUp(err.stack, this.message) : undefined;
|
||||
|
||||
|
|
|
@ -17,8 +17,11 @@ class ModuleWarning extends WebpackError {
|
|||
if(from) {
|
||||
this.message += ` (@ ${from})`;
|
||||
}
|
||||
this.message += ": ";
|
||||
this.message += warning && typeof warning === "object" && warning.message ? warning.message : warning;
|
||||
if(warning && typeof warning === "object" && warning.message) {
|
||||
this.message += `: ${warning.message}`;
|
||||
} else if(warning) {
|
||||
this.message += `: ${warning}`;
|
||||
}
|
||||
this.warning = warning;
|
||||
this.details = warning && typeof warning === "object" && warning.stack ? cleanUp(warning.stack, this.message) : undefined;
|
||||
|
||||
|
|
|
@ -196,10 +196,10 @@ describe("Errors", () => {
|
|||
|
||||
}, (errors, warnings) => {
|
||||
warnings.length.should.be.eql(1);
|
||||
warnings[0].split("\n")[1].should.match(/^Module Warning \(@ emit-error-loader\)/);
|
||||
warnings[0].split("\n")[1].should.match(/^Module Warning \(@ emit-error-loader\): [^\s]+/);
|
||||
errors.length.should.be.eql(2);
|
||||
errors[0].split("\n")[1].should.match(/^Module Error \(@ emit-error-loader\)/);
|
||||
errors[1].split("\n")[1].should.match(/^Module build failed \(@ json-loader\)/);
|
||||
errors[0].split("\n")[1].should.match(/^Module Error \(@ emit-error-loader\): [^\s]+/);
|
||||
errors[1].split("\n")[1].should.match(/^Module build failed \(@ json-loader\): [^\s]+/);
|
||||
}),
|
||||
getErrorsPromise({
|
||||
mode: "development",
|
||||
|
@ -213,7 +213,7 @@ describe("Errors", () => {
|
|||
|
||||
}, (errors, warnings) => {
|
||||
errors.length.should.be.eql(1);
|
||||
errors[0].split("\n")[1].should.match(/^Module build failed \(@ async-error-loader\)/);
|
||||
errors[0].split("\n")[1].should.match(/^Module build failed \(@ async-error-loader\): [^\s]+/);
|
||||
}),
|
||||
getErrorsPromise({
|
||||
mode: "development",
|
||||
|
@ -227,7 +227,27 @@ describe("Errors", () => {
|
|||
|
||||
}, (errors, warnings) => {
|
||||
errors.length.should.be.eql(1);
|
||||
errors[0].split("\n")[1].should.match(/^Module build failed \(@ throw-error-loader\)/);
|
||||
errors[0].split("\n")[1].should.match(/^Module build failed \(@ throw-error-loader\): [^\s]+/);
|
||||
}),
|
||||
getErrorsPromise({
|
||||
mode: "development",
|
||||
entry: "./entry-point.js",
|
||||
module: {
|
||||
rules: [{
|
||||
test: /entry-point\.js$/,
|
||||
use: path.resolve(base, "./irregular-error-loader")
|
||||
}]
|
||||
}
|
||||
|
||||
}, (errors, warnings) => {
|
||||
warnings.length.should.be.eql(2);
|
||||
warnings[0].split("\n")[1].should.match(/^Module Warning \(@ irregular-error-loader\): [^\s]+/);
|
||||
warnings[1].split("\n")[1].should.match(/^Module Warning \(@ irregular-error-loader\): [^\s]+/);
|
||||
|
||||
errors.length.should.be.eql(3);
|
||||
errors[0].split("\n")[1].should.match(/^Module Error \(@ irregular-error-loader\): [^\s]+/);
|
||||
errors[1].split("\n")[1].should.match(/^Module Error \(@ irregular-error-loader\): [^\s]+/);
|
||||
errors[2].split("\n")[1].should.match(/^Module build failed \(@ irregular-error-loader\): [^\s]+/);
|
||||
}),
|
||||
|
||||
]);
|
||||
|
|
|
@ -3,4 +3,3 @@ module.exports = function(source) {
|
|||
const error = new Error("this is a callback error");
|
||||
callback(error, source);
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
module.exports = function(source) {
|
||||
var empty = null;
|
||||
var emptyError = new Error();
|
||||
this.emitWarning(empty);
|
||||
this.emitWarning(emptyError);
|
||||
this.emitError(empty);
|
||||
this.emitError(emptyError);
|
||||
throw "a string error";
|
||||
return source;
|
||||
};
|
|
@ -1,5 +1,3 @@
|
|||
module.exports = function(source) {
|
||||
throw new Error("this is a threw error");
|
||||
throw new Error("this is a thrown error");
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue