diff --git a/bin/tape b/bin/tape index ac6cfc1a..43cbb4cc 100755 --- a/bin/tape +++ b/bin/tape @@ -3,6 +3,7 @@ 'use strict'; var parseOpts = require('minimist'); +var objectKeys = require('object-keys'); var opts = parseOpts(process.argv.slice(2), { alias: { r: 'require', i: 'ignore' }, @@ -18,7 +19,7 @@ if (typeof opts.require === 'string') { var resolveModule; opts.require.forEach(function (module) { - var options = { basedir: cwd, extensions: Object.keys(require.extensions) }; + var options = { basedir: cwd, extensions: objectKeys(require.extensions) }; if (module) { if (!resolveModule) { resolveModule = require('resolve').sync; } // This check ensures we ignore `-r ""`, trailing `-r`, or other silly things the user might (inadvertently) be doing. diff --git a/lib/test.js b/lib/test.js index 3e567ffe..ced12081 100644 --- a/lib/test.js +++ b/lib/test.js @@ -12,6 +12,9 @@ var callBound = require('call-bind/callBound'); var forEach = require('for-each'); var inspect = require('object-inspect'); var is = require('object-is'); +var objectKeys = require('object-keys'); +var every = require('array.prototype.every'); + var isEnumerable = callBound('Object.prototype.propertyIsEnumerable'); var toLowerCase = callBound('String.prototype.toLowerCase'); var isProto = callBound('Object.prototype.isPrototypeOf'); @@ -654,14 +657,14 @@ Test.prototype['throws'] = function (fn, expected, msg, extra) { passed = expected.test(caught.error); expected = inspect(expected); } else if (expected && typeof expected === 'object') { // Handle validation objects. - var keys = Object.keys(expected); + var keys = objectKeys(expected); // Special handle errors to make sure the name and the message are compared as well. if (expected instanceof Error) { $push(keys, 'name', 'message'); } else if (keys.length === 0) { throw new TypeError('`throws` validation object must not be empty'); } - passed = keys.every(function (key) { + passed = every(keys, function (key) { if (typeof caught.error[key] === 'string' && isRegExp(expected[key]) && $test(expected[key], caught.error[key])) { return true; } diff --git a/package.json b/package.json index 253e1023..adb49afb 100644 --- a/package.json +++ b/package.json @@ -25,6 +25,7 @@ "test": "test" }, "dependencies": { + "array.prototype.every": "^1.1.3", "call-bind": "^1.0.2", "deep-equal": "^2.0.5", "defined": "^1.0.0", @@ -39,6 +40,7 @@ "minimist": "^1.2.5", "object-inspect": "^1.12.0", "object-is": "^1.1.5", + "object-keys": "^1.1.1", "object.assign": "^4.1.2", "resolve": "^2.0.0-next.3", "resumer": "^0.0.0",