Browse Source

test: increase coverage of process.emitWarning

Previously our tests did not check these codepaths as seen at
coverage.nodejs.org

PR-URL: https://github.com/nodejs/node/pull/9556
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
v7.x
Jeremiah Senkpiel 8 years ago
committed by Anna Henningsen
parent
commit
00a5490ecd
No known key found for this signature in database GPG Key ID: D8B9F5AEAE84E4CF
  1. 14
      test/parallel/test-process-emitwarning.js

14
test/parallel/test-process-emitwarning.js

@ -10,10 +10,12 @@ process.on('warning', common.mustCall((warning) => {
assert(warning);
assert(/^(Warning|CustomWarning)/.test(warning.name));
assert(warning.message, 'A Warning');
}, 3));
}, 7));
process.emitWarning('A Warning');
process.emitWarning('A Warning', 'CustomWarning');
process.emitWarning('A Warning', CustomWarning);
process.emitWarning('A Warning', 'CustomWarning', CustomWarning);
function CustomWarning() {
Error.call(this);
@ -24,6 +26,16 @@ function CustomWarning() {
util.inherits(CustomWarning, Error);
process.emitWarning(new CustomWarning());
const warningNoToString = new CustomWarning();
warningNoToString.toString = null;
process.emitWarning(warningNoToString);
const warningThrowToString = new CustomWarning();
warningThrowToString.toString = function() {
throw new Error('invalid toString');
};
process.emitWarning(warningThrowToString);
// TypeError is thrown on invalid output
assert.throws(() => process.emitWarning(1), TypeError);
assert.throws(() => process.emitWarning({}), TypeError);

Loading…
Cancel
Save