Update chai
// FREEBIE
This commit is contained in:
parent
85d6bc7533
commit
7c17c5fa54
4 changed files with 394 additions and 25 deletions
|
@ -25,7 +25,7 @@
|
|||
},
|
||||
"devDependencies": {
|
||||
"mocha": "~2.0.1",
|
||||
"chai": "~1.9.2",
|
||||
"chai": "~3.5.0",
|
||||
"mock-socket": "~0.3.2"
|
||||
},
|
||||
"preen": {
|
||||
|
|
|
@ -15,7 +15,7 @@ var used = []
|
|||
* Chai version
|
||||
*/
|
||||
|
||||
exports.version = '3.4.2';
|
||||
exports.version = '3.5.0';
|
||||
|
||||
/*!
|
||||
* Assertion Error
|
||||
|
@ -1914,7 +1914,7 @@ module.exports = function (chai, _) {
|
|||
* var fn = function() { obj.val += 3 };
|
||||
* var noChangeFn = function() { return 'foo' + 'bar'; }
|
||||
* expect(fn).to.change(obj, 'val');
|
||||
* expect(noChangFn).to.not.change(obj, 'val')
|
||||
* expect(noChangeFn).to.not.change(obj, 'val')
|
||||
*
|
||||
* @name change
|
||||
* @alias changes
|
||||
|
@ -2689,8 +2689,8 @@ module.exports = function (chai, util) {
|
|||
/**
|
||||
* ### .isObject(value, [message])
|
||||
*
|
||||
* Asserts that `value` is an object (as revealed by
|
||||
* `Object.prototype.toString`).
|
||||
* Asserts that `value` is an object of type 'Object' (as revealed by `Object.prototype.toString`).
|
||||
* _The assertion does not match subclassed objects._
|
||||
*
|
||||
* var selection = { name: 'Chai', serve: 'with spices' };
|
||||
* assert.isObject(selection, 'tea selection is an object');
|
||||
|
@ -2709,7 +2709,7 @@ module.exports = function (chai, util) {
|
|||
/**
|
||||
* ### .isNotObject(value, [message])
|
||||
*
|
||||
* Asserts that `value` is _not_ an object.
|
||||
* Asserts that `value` is _not_ an object of type 'Object' (as revealed by `Object.prototype.toString`).
|
||||
*
|
||||
* var selection = 'chai'
|
||||
* assert.isNotObject(selection, 'tea selection is not an object');
|
||||
|
@ -3454,6 +3454,27 @@ module.exports = function (chai, util) {
|
|||
new Assertion(superset, msg).to.include.members(subset);
|
||||
}
|
||||
|
||||
/**
|
||||
* ### .includeDeepMembers(superset, subset, [message])
|
||||
*
|
||||
* Asserts that `subset` is included in `superset` - using deep equality checking.
|
||||
* Order is not taken into account.
|
||||
* Duplicates are ignored.
|
||||
*
|
||||
* assert.includeDeepMembers([ {a: 1}, {b: 2}, {c: 3} ], [ {b: 2}, {a: 1}, {b: 2} ], 'include deep members');
|
||||
*
|
||||
* @name includeDeepMembers
|
||||
* @param {Array} superset
|
||||
* @param {Array} subset
|
||||
* @param {String} message
|
||||
* @namespace Assert
|
||||
* @api public
|
||||
*/
|
||||
|
||||
assert.includeDeepMembers = function (superset, subset, msg) {
|
||||
new Assertion(superset, msg).to.include.deep.members(subset);
|
||||
}
|
||||
|
||||
/**
|
||||
* ### .oneOf(inList, list, [message])
|
||||
*
|
||||
|
@ -3874,14 +3895,67 @@ module.exports = function (chai, util) {
|
|||
}, should.fail);
|
||||
};
|
||||
|
||||
/**
|
||||
* ### .equal(actual, expected, [message])
|
||||
*
|
||||
* Asserts non-strict equality (`==`) of `actual` and `expected`.
|
||||
*
|
||||
* should.equal(3, '3', '== coerces values to strings');
|
||||
*
|
||||
* @name equal
|
||||
* @param {Mixed} actual
|
||||
* @param {Mixed} expected
|
||||
* @param {String} message
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.equal = function (val1, val2, msg) {
|
||||
new Assertion(val1, msg).to.equal(val2);
|
||||
};
|
||||
|
||||
/**
|
||||
* ### .throw(function, [constructor/string/regexp], [string/regexp], [message])
|
||||
*
|
||||
* Asserts that `function` will throw an error that is an instance of
|
||||
* `constructor`, or alternately that it will throw an error with message
|
||||
* matching `regexp`.
|
||||
*
|
||||
* should.throw(fn, 'function throws a reference error');
|
||||
* should.throw(fn, /function throws a reference error/);
|
||||
* should.throw(fn, ReferenceError);
|
||||
* should.throw(fn, ReferenceError, 'function throws a reference error');
|
||||
* should.throw(fn, ReferenceError, /function throws a reference error/);
|
||||
*
|
||||
* @name throw
|
||||
* @alias Throw
|
||||
* @param {Function} function
|
||||
* @param {ErrorConstructor} constructor
|
||||
* @param {RegExp} regexp
|
||||
* @param {String} message
|
||||
* @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.Throw = function (fn, errt, errs, msg) {
|
||||
new Assertion(fn, msg).to.Throw(errt, errs);
|
||||
};
|
||||
|
||||
/**
|
||||
* ### .exist
|
||||
*
|
||||
* Asserts that the target is neither `null` nor `undefined`.
|
||||
*
|
||||
* var foo = 'hi';
|
||||
*
|
||||
* should.exist(foo, 'foo exists');
|
||||
*
|
||||
* @name exist
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.exist = function (val, msg) {
|
||||
new Assertion(val, msg).to.exist;
|
||||
}
|
||||
|
@ -3889,14 +3963,63 @@ module.exports = function (chai, util) {
|
|||
// negation
|
||||
should.not = {}
|
||||
|
||||
/**
|
||||
* ### .not.equal(actual, expected, [message])
|
||||
*
|
||||
* Asserts non-strict inequality (`!=`) of `actual` and `expected`.
|
||||
*
|
||||
* should.not.equal(3, 4, 'these numbers are not equal');
|
||||
*
|
||||
* @name not.equal
|
||||
* @param {Mixed} actual
|
||||
* @param {Mixed} expected
|
||||
* @param {String} message
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.not.equal = function (val1, val2, msg) {
|
||||
new Assertion(val1, msg).to.not.equal(val2);
|
||||
};
|
||||
|
||||
/**
|
||||
* ### .throw(function, [constructor/regexp], [message])
|
||||
*
|
||||
* Asserts that `function` will _not_ throw an error that is an instance of
|
||||
* `constructor`, or alternately that it will not throw an error with message
|
||||
* matching `regexp`.
|
||||
*
|
||||
* should.not.throw(fn, Error, 'function does not throw');
|
||||
*
|
||||
* @name not.throw
|
||||
* @alias not.Throw
|
||||
* @param {Function} function
|
||||
* @param {ErrorConstructor} constructor
|
||||
* @param {RegExp} regexp
|
||||
* @param {String} message
|
||||
* @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.not.Throw = function (fn, errt, errs, msg) {
|
||||
new Assertion(fn, msg).to.not.Throw(errt, errs);
|
||||
};
|
||||
|
||||
/**
|
||||
* ### .not.exist
|
||||
*
|
||||
* Asserts that the target is neither `null` nor `undefined`.
|
||||
*
|
||||
* var bar = null;
|
||||
*
|
||||
* should.not.exist(bar, 'bar does not exist');
|
||||
*
|
||||
* @name not.exist
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.not.exist = function (val, msg) {
|
||||
new Assertion(val, msg).to.not.exist;
|
||||
}
|
||||
|
@ -4296,9 +4419,9 @@ module.exports = function (obj, args) {
|
|||
if(typeof msg === "function") msg = msg();
|
||||
msg = msg || '';
|
||||
msg = msg
|
||||
.replace(/#{this}/g, objDisplay(val))
|
||||
.replace(/#{act}/g, objDisplay(actual))
|
||||
.replace(/#{exp}/g, objDisplay(expected));
|
||||
.replace(/#\{this\}/g, function () { return objDisplay(val); })
|
||||
.replace(/#\{act\}/g, function () { return objDisplay(actual); })
|
||||
.replace(/#\{exp\}/g, function () { return objDisplay(expected); });
|
||||
|
||||
return flagMsg ? flagMsg + ': ' + msg : msg;
|
||||
};
|
||||
|
|
|
@ -15927,7 +15927,7 @@ var used = []
|
|||
* Chai version
|
||||
*/
|
||||
|
||||
exports.version = '3.4.2';
|
||||
exports.version = '3.5.0';
|
||||
|
||||
/*!
|
||||
* Assertion Error
|
||||
|
@ -17826,7 +17826,7 @@ module.exports = function (chai, _) {
|
|||
* var fn = function() { obj.val += 3 };
|
||||
* var noChangeFn = function() { return 'foo' + 'bar'; }
|
||||
* expect(fn).to.change(obj, 'val');
|
||||
* expect(noChangFn).to.not.change(obj, 'val')
|
||||
* expect(noChangeFn).to.not.change(obj, 'val')
|
||||
*
|
||||
* @name change
|
||||
* @alias changes
|
||||
|
@ -18601,8 +18601,8 @@ module.exports = function (chai, util) {
|
|||
/**
|
||||
* ### .isObject(value, [message])
|
||||
*
|
||||
* Asserts that `value` is an object (as revealed by
|
||||
* `Object.prototype.toString`).
|
||||
* Asserts that `value` is an object of type 'Object' (as revealed by `Object.prototype.toString`).
|
||||
* _The assertion does not match subclassed objects._
|
||||
*
|
||||
* var selection = { name: 'Chai', serve: 'with spices' };
|
||||
* assert.isObject(selection, 'tea selection is an object');
|
||||
|
@ -18621,7 +18621,7 @@ module.exports = function (chai, util) {
|
|||
/**
|
||||
* ### .isNotObject(value, [message])
|
||||
*
|
||||
* Asserts that `value` is _not_ an object.
|
||||
* Asserts that `value` is _not_ an object of type 'Object' (as revealed by `Object.prototype.toString`).
|
||||
*
|
||||
* var selection = 'chai'
|
||||
* assert.isNotObject(selection, 'tea selection is not an object');
|
||||
|
@ -19366,6 +19366,27 @@ module.exports = function (chai, util) {
|
|||
new Assertion(superset, msg).to.include.members(subset);
|
||||
}
|
||||
|
||||
/**
|
||||
* ### .includeDeepMembers(superset, subset, [message])
|
||||
*
|
||||
* Asserts that `subset` is included in `superset` - using deep equality checking.
|
||||
* Order is not taken into account.
|
||||
* Duplicates are ignored.
|
||||
*
|
||||
* assert.includeDeepMembers([ {a: 1}, {b: 2}, {c: 3} ], [ {b: 2}, {a: 1}, {b: 2} ], 'include deep members');
|
||||
*
|
||||
* @name includeDeepMembers
|
||||
* @param {Array} superset
|
||||
* @param {Array} subset
|
||||
* @param {String} message
|
||||
* @namespace Assert
|
||||
* @api public
|
||||
*/
|
||||
|
||||
assert.includeDeepMembers = function (superset, subset, msg) {
|
||||
new Assertion(superset, msg).to.include.deep.members(subset);
|
||||
}
|
||||
|
||||
/**
|
||||
* ### .oneOf(inList, list, [message])
|
||||
*
|
||||
|
@ -19786,14 +19807,67 @@ module.exports = function (chai, util) {
|
|||
}, should.fail);
|
||||
};
|
||||
|
||||
/**
|
||||
* ### .equal(actual, expected, [message])
|
||||
*
|
||||
* Asserts non-strict equality (`==`) of `actual` and `expected`.
|
||||
*
|
||||
* should.equal(3, '3', '== coerces values to strings');
|
||||
*
|
||||
* @name equal
|
||||
* @param {Mixed} actual
|
||||
* @param {Mixed} expected
|
||||
* @param {String} message
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.equal = function (val1, val2, msg) {
|
||||
new Assertion(val1, msg).to.equal(val2);
|
||||
};
|
||||
|
||||
/**
|
||||
* ### .throw(function, [constructor/string/regexp], [string/regexp], [message])
|
||||
*
|
||||
* Asserts that `function` will throw an error that is an instance of
|
||||
* `constructor`, or alternately that it will throw an error with message
|
||||
* matching `regexp`.
|
||||
*
|
||||
* should.throw(fn, 'function throws a reference error');
|
||||
* should.throw(fn, /function throws a reference error/);
|
||||
* should.throw(fn, ReferenceError);
|
||||
* should.throw(fn, ReferenceError, 'function throws a reference error');
|
||||
* should.throw(fn, ReferenceError, /function throws a reference error/);
|
||||
*
|
||||
* @name throw
|
||||
* @alias Throw
|
||||
* @param {Function} function
|
||||
* @param {ErrorConstructor} constructor
|
||||
* @param {RegExp} regexp
|
||||
* @param {String} message
|
||||
* @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.Throw = function (fn, errt, errs, msg) {
|
||||
new Assertion(fn, msg).to.Throw(errt, errs);
|
||||
};
|
||||
|
||||
/**
|
||||
* ### .exist
|
||||
*
|
||||
* Asserts that the target is neither `null` nor `undefined`.
|
||||
*
|
||||
* var foo = 'hi';
|
||||
*
|
||||
* should.exist(foo, 'foo exists');
|
||||
*
|
||||
* @name exist
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.exist = function (val, msg) {
|
||||
new Assertion(val, msg).to.exist;
|
||||
}
|
||||
|
@ -19801,14 +19875,63 @@ module.exports = function (chai, util) {
|
|||
// negation
|
||||
should.not = {}
|
||||
|
||||
/**
|
||||
* ### .not.equal(actual, expected, [message])
|
||||
*
|
||||
* Asserts non-strict inequality (`!=`) of `actual` and `expected`.
|
||||
*
|
||||
* should.not.equal(3, 4, 'these numbers are not equal');
|
||||
*
|
||||
* @name not.equal
|
||||
* @param {Mixed} actual
|
||||
* @param {Mixed} expected
|
||||
* @param {String} message
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.not.equal = function (val1, val2, msg) {
|
||||
new Assertion(val1, msg).to.not.equal(val2);
|
||||
};
|
||||
|
||||
/**
|
||||
* ### .throw(function, [constructor/regexp], [message])
|
||||
*
|
||||
* Asserts that `function` will _not_ throw an error that is an instance of
|
||||
* `constructor`, or alternately that it will not throw an error with message
|
||||
* matching `regexp`.
|
||||
*
|
||||
* should.not.throw(fn, Error, 'function does not throw');
|
||||
*
|
||||
* @name not.throw
|
||||
* @alias not.Throw
|
||||
* @param {Function} function
|
||||
* @param {ErrorConstructor} constructor
|
||||
* @param {RegExp} regexp
|
||||
* @param {String} message
|
||||
* @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.not.Throw = function (fn, errt, errs, msg) {
|
||||
new Assertion(fn, msg).to.not.Throw(errt, errs);
|
||||
};
|
||||
|
||||
/**
|
||||
* ### .not.exist
|
||||
*
|
||||
* Asserts that the target is neither `null` nor `undefined`.
|
||||
*
|
||||
* var bar = null;
|
||||
*
|
||||
* should.not.exist(bar, 'bar does not exist');
|
||||
*
|
||||
* @name not.exist
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.not.exist = function (val, msg) {
|
||||
new Assertion(val, msg).to.not.exist;
|
||||
}
|
||||
|
@ -20208,9 +20331,9 @@ module.exports = function (obj, args) {
|
|||
if(typeof msg === "function") msg = msg();
|
||||
msg = msg || '';
|
||||
msg = msg
|
||||
.replace(/#{this}/g, objDisplay(val))
|
||||
.replace(/#{act}/g, objDisplay(actual))
|
||||
.replace(/#{exp}/g, objDisplay(expected));
|
||||
.replace(/#\{this\}/g, function () { return objDisplay(val); })
|
||||
.replace(/#\{act\}/g, function () { return objDisplay(actual); })
|
||||
.replace(/#\{exp\}/g, function () { return objDisplay(expected); });
|
||||
|
||||
return flagMsg ? flagMsg + ': ' + msg : msg;
|
||||
};
|
||||
|
|
139
test/test.js
139
test/test.js
|
@ -6085,7 +6085,7 @@ var used = []
|
|||
* Chai version
|
||||
*/
|
||||
|
||||
exports.version = '3.4.2';
|
||||
exports.version = '3.5.0';
|
||||
|
||||
/*!
|
||||
* Assertion Error
|
||||
|
@ -7984,7 +7984,7 @@ module.exports = function (chai, _) {
|
|||
* var fn = function() { obj.val += 3 };
|
||||
* var noChangeFn = function() { return 'foo' + 'bar'; }
|
||||
* expect(fn).to.change(obj, 'val');
|
||||
* expect(noChangFn).to.not.change(obj, 'val')
|
||||
* expect(noChangeFn).to.not.change(obj, 'val')
|
||||
*
|
||||
* @name change
|
||||
* @alias changes
|
||||
|
@ -8759,8 +8759,8 @@ module.exports = function (chai, util) {
|
|||
/**
|
||||
* ### .isObject(value, [message])
|
||||
*
|
||||
* Asserts that `value` is an object (as revealed by
|
||||
* `Object.prototype.toString`).
|
||||
* Asserts that `value` is an object of type 'Object' (as revealed by `Object.prototype.toString`).
|
||||
* _The assertion does not match subclassed objects._
|
||||
*
|
||||
* var selection = { name: 'Chai', serve: 'with spices' };
|
||||
* assert.isObject(selection, 'tea selection is an object');
|
||||
|
@ -8779,7 +8779,7 @@ module.exports = function (chai, util) {
|
|||
/**
|
||||
* ### .isNotObject(value, [message])
|
||||
*
|
||||
* Asserts that `value` is _not_ an object.
|
||||
* Asserts that `value` is _not_ an object of type 'Object' (as revealed by `Object.prototype.toString`).
|
||||
*
|
||||
* var selection = 'chai'
|
||||
* assert.isNotObject(selection, 'tea selection is not an object');
|
||||
|
@ -9524,6 +9524,27 @@ module.exports = function (chai, util) {
|
|||
new Assertion(superset, msg).to.include.members(subset);
|
||||
}
|
||||
|
||||
/**
|
||||
* ### .includeDeepMembers(superset, subset, [message])
|
||||
*
|
||||
* Asserts that `subset` is included in `superset` - using deep equality checking.
|
||||
* Order is not taken into account.
|
||||
* Duplicates are ignored.
|
||||
*
|
||||
* assert.includeDeepMembers([ {a: 1}, {b: 2}, {c: 3} ], [ {b: 2}, {a: 1}, {b: 2} ], 'include deep members');
|
||||
*
|
||||
* @name includeDeepMembers
|
||||
* @param {Array} superset
|
||||
* @param {Array} subset
|
||||
* @param {String} message
|
||||
* @namespace Assert
|
||||
* @api public
|
||||
*/
|
||||
|
||||
assert.includeDeepMembers = function (superset, subset, msg) {
|
||||
new Assertion(superset, msg).to.include.deep.members(subset);
|
||||
}
|
||||
|
||||
/**
|
||||
* ### .oneOf(inList, list, [message])
|
||||
*
|
||||
|
@ -9944,14 +9965,67 @@ module.exports = function (chai, util) {
|
|||
}, should.fail);
|
||||
};
|
||||
|
||||
/**
|
||||
* ### .equal(actual, expected, [message])
|
||||
*
|
||||
* Asserts non-strict equality (`==`) of `actual` and `expected`.
|
||||
*
|
||||
* should.equal(3, '3', '== coerces values to strings');
|
||||
*
|
||||
* @name equal
|
||||
* @param {Mixed} actual
|
||||
* @param {Mixed} expected
|
||||
* @param {String} message
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.equal = function (val1, val2, msg) {
|
||||
new Assertion(val1, msg).to.equal(val2);
|
||||
};
|
||||
|
||||
/**
|
||||
* ### .throw(function, [constructor/string/regexp], [string/regexp], [message])
|
||||
*
|
||||
* Asserts that `function` will throw an error that is an instance of
|
||||
* `constructor`, or alternately that it will throw an error with message
|
||||
* matching `regexp`.
|
||||
*
|
||||
* should.throw(fn, 'function throws a reference error');
|
||||
* should.throw(fn, /function throws a reference error/);
|
||||
* should.throw(fn, ReferenceError);
|
||||
* should.throw(fn, ReferenceError, 'function throws a reference error');
|
||||
* should.throw(fn, ReferenceError, /function throws a reference error/);
|
||||
*
|
||||
* @name throw
|
||||
* @alias Throw
|
||||
* @param {Function} function
|
||||
* @param {ErrorConstructor} constructor
|
||||
* @param {RegExp} regexp
|
||||
* @param {String} message
|
||||
* @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.Throw = function (fn, errt, errs, msg) {
|
||||
new Assertion(fn, msg).to.Throw(errt, errs);
|
||||
};
|
||||
|
||||
/**
|
||||
* ### .exist
|
||||
*
|
||||
* Asserts that the target is neither `null` nor `undefined`.
|
||||
*
|
||||
* var foo = 'hi';
|
||||
*
|
||||
* should.exist(foo, 'foo exists');
|
||||
*
|
||||
* @name exist
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.exist = function (val, msg) {
|
||||
new Assertion(val, msg).to.exist;
|
||||
}
|
||||
|
@ -9959,14 +10033,63 @@ module.exports = function (chai, util) {
|
|||
// negation
|
||||
should.not = {}
|
||||
|
||||
/**
|
||||
* ### .not.equal(actual, expected, [message])
|
||||
*
|
||||
* Asserts non-strict inequality (`!=`) of `actual` and `expected`.
|
||||
*
|
||||
* should.not.equal(3, 4, 'these numbers are not equal');
|
||||
*
|
||||
* @name not.equal
|
||||
* @param {Mixed} actual
|
||||
* @param {Mixed} expected
|
||||
* @param {String} message
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.not.equal = function (val1, val2, msg) {
|
||||
new Assertion(val1, msg).to.not.equal(val2);
|
||||
};
|
||||
|
||||
/**
|
||||
* ### .throw(function, [constructor/regexp], [message])
|
||||
*
|
||||
* Asserts that `function` will _not_ throw an error that is an instance of
|
||||
* `constructor`, or alternately that it will not throw an error with message
|
||||
* matching `regexp`.
|
||||
*
|
||||
* should.not.throw(fn, Error, 'function does not throw');
|
||||
*
|
||||
* @name not.throw
|
||||
* @alias not.Throw
|
||||
* @param {Function} function
|
||||
* @param {ErrorConstructor} constructor
|
||||
* @param {RegExp} regexp
|
||||
* @param {String} message
|
||||
* @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.not.Throw = function (fn, errt, errs, msg) {
|
||||
new Assertion(fn, msg).to.not.Throw(errt, errs);
|
||||
};
|
||||
|
||||
/**
|
||||
* ### .not.exist
|
||||
*
|
||||
* Asserts that the target is neither `null` nor `undefined`.
|
||||
*
|
||||
* var bar = null;
|
||||
*
|
||||
* should.not.exist(bar, 'bar does not exist');
|
||||
*
|
||||
* @name not.exist
|
||||
* @namespace Should
|
||||
* @api public
|
||||
*/
|
||||
|
||||
should.not.exist = function (val, msg) {
|
||||
new Assertion(val, msg).to.not.exist;
|
||||
}
|
||||
|
@ -10366,9 +10489,9 @@ module.exports = function (obj, args) {
|
|||
if(typeof msg === "function") msg = msg();
|
||||
msg = msg || '';
|
||||
msg = msg
|
||||
.replace(/#{this}/g, objDisplay(val))
|
||||
.replace(/#{act}/g, objDisplay(actual))
|
||||
.replace(/#{exp}/g, objDisplay(expected));
|
||||
.replace(/#\{this\}/g, function () { return objDisplay(val); })
|
||||
.replace(/#\{act\}/g, function () { return objDisplay(actual); })
|
||||
.replace(/#\{exp\}/g, function () { return objDisplay(expected); });
|
||||
|
||||
return flagMsg ? flagMsg + ': ' + msg : msg;
|
||||
};
|
||||
|
|
Loading…
Reference in a new issue