1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
/*!
* simple-assert
* Copyright(c) 2013 Jake Luer <jake@alogicalparadox.com>
* MIT Licensed
*/
/*!
* Module dependencies
*/
var AssertionError = require('assertion-error');
/*!
* Primary export
*/
var exports = module.exports = assert;
/*!
* Expose AssertionError constructor
*/
exports.AssertionError = AssertionError;
/**
* ### assert (expr[, msg])
*
* Perform a truthy assertion.
*
* ```js
* var assert = require('simple-assert');
* assert(true, 'true is truthy');
* assert(1, '1 is truthy');
* assert('string', 'string is truthy');
* ```
*
* @param {Mixed} expression to test for truthiness
* @param {String} message on failure
* @throws AssertionError
*/
function assert (expr, msg, ssf) {
if (!expr) {
throw new AssertionError(msg || 'Assertion Failed', null, ssf || arguments.callee);
}
}
/**
* ### assert.not (expr[, msg])
*
* Perform a falsey assertion.
*
* ```js
* db.get(123, function (err, doc) {
* assert.not(err, 'db.get returned error');
* // ...
* });
* ```
*
* @param {Mixed} express to test for falsiness
* @param {String} messag eon failure
* @throws AssertionError
*/
exports.not = function (expr, msg) {
assert(!expr, msg, arguments.callee);
};
/**
* ### assert.fail ([msg])
*
* Force an `AssertionError` to be thrown.
*
* ```js
* switch (res.statusCode) {
* case 200:
* // ..
* break;
* case 404:
* // ..
* break;
* default:
* assert.fail('Unknown response statusCode');
* }
* ```
*
* @param {String} failure message
* @throws AssertionError
*/
exports.fail = function (msg) {
assert(false, msg, arguments.callee);
};
|