UNPKG

assert-match

Version:
47 lines (33 loc) 1.33 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _assert = require('assert/'); var _assert2 = _interopRequireDefault(_assert); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = buildAssertion; function buildAssertion(baseAssert, assertionName, matcher, operatorName) { var AssertionError = baseAssert.AssertionError || _assert2.default.AssertionError; var comparatorAssertion = typeof baseAssert[assertionName] === 'function' ? baseAssert[assertionName].bind(baseAssert) : _assert2.default[assertionName].bind(_assert2.default); var comparator = function comparator(actual, expected) { try { comparatorAssertion(actual, expected); return true; } catch (e) { return false; } }; return function assertion(actual, expected, message) { var result = matcher(expected).match(actual, comparator); if (!result.match) { throw new AssertionError({ actual: result.actual, expected: result.expected, operator: operatorName, stackStartFunction: assertion, message: message }); } }; } module.exports = exports['default'];