mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
93 lines
2.0 KiB
93 lines
2.0 KiB
'use strict';
|
|
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
|
|
// No args
|
|
assert.throws(
|
|
() => { assert.fail(); },
|
|
common.expectsError({
|
|
code: 'ERR_ASSERTION',
|
|
type: assert.AssertionError,
|
|
message: 'Failed',
|
|
operator: undefined,
|
|
actual: undefined,
|
|
expected: undefined
|
|
})
|
|
);
|
|
|
|
// One arg = message
|
|
common.expectsError(() => {
|
|
assert.fail('custom message');
|
|
}, {
|
|
code: 'ERR_ASSERTION',
|
|
type: assert.AssertionError,
|
|
message: 'custom message',
|
|
operator: undefined,
|
|
actual: undefined,
|
|
expected: undefined
|
|
});
|
|
|
|
// One arg = Error
|
|
common.expectsError(() => {
|
|
assert.fail(new TypeError('custom message'));
|
|
}, {
|
|
type: TypeError,
|
|
message: 'custom message',
|
|
operator: undefined,
|
|
actual: undefined,
|
|
expected: undefined
|
|
});
|
|
|
|
// Two args only, operator defaults to '!='
|
|
common.expectsError(() => {
|
|
assert.fail('first', 'second');
|
|
}, {
|
|
code: 'ERR_ASSERTION',
|
|
type: assert.AssertionError,
|
|
message: '\'first\' != \'second\'',
|
|
operator: '!=',
|
|
actual: 'first',
|
|
expected: 'second'
|
|
});
|
|
|
|
// Three args
|
|
common.expectsError(() => {
|
|
assert.fail('ignored', 'ignored', 'another custom message');
|
|
}, {
|
|
code: 'ERR_ASSERTION',
|
|
type: assert.AssertionError,
|
|
message: 'another custom message',
|
|
operator: undefined,
|
|
actual: 'ignored',
|
|
expected: 'ignored'
|
|
});
|
|
|
|
// Three args with custom Error
|
|
common.expectsError(() => {
|
|
assert.fail(typeof 1, 'object', new TypeError('another custom message'));
|
|
}, {
|
|
type: TypeError,
|
|
message: 'another custom message',
|
|
operator: undefined,
|
|
actual: 'number',
|
|
expected: 'object'
|
|
});
|
|
|
|
// No third arg (but a fourth arg)
|
|
common.expectsError(() => {
|
|
assert.fail('first', 'second', undefined, 'operator');
|
|
}, {
|
|
code: 'ERR_ASSERTION',
|
|
type: assert.AssertionError,
|
|
message: '\'first\' operator \'second\'',
|
|
operator: 'operator',
|
|
actual: 'first',
|
|
expected: 'second'
|
|
});
|
|
|
|
// The stackFrameFunction should exclude the foo frame
|
|
assert.throws(
|
|
function foo() { assert.fail('first', 'second', 'message', '!==', foo); },
|
|
(err) => !/^\s*at\sfoo\b/m.test(err.stack)
|
|
);
|
|
|