diff options
Diffstat (limited to 'node_modules/es-abstract/test/diffOps.js')
-rw-r--r-- | node_modules/es-abstract/test/diffOps.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/node_modules/es-abstract/test/diffOps.js b/node_modules/es-abstract/test/diffOps.js new file mode 100644 index 0000000..602098d --- /dev/null +++ b/node_modules/es-abstract/test/diffOps.js @@ -0,0 +1,27 @@ +'use strict'; + +var keys = require('object-keys'); +var forEach = require('foreach'); +var indexOf = require('array.prototype.indexof'); + +module.exports = function diffOperations(actual, expected, expectedMissing) { + var actualKeys = keys(actual); + var expectedKeys = keys(expected); + + var extra = []; + var missing = []; + forEach(actualKeys, function (op) { + if (!(op in expected)) { + extra.push(op); + } else if (indexOf(expectedMissing, op) !== -1) { + extra.push(op); + } + }); + forEach(expectedKeys, function (op) { + if (typeof actual[op] !== 'function' && indexOf(expectedMissing, op) === -1) { + missing.push(op); + } + }); + + return { missing: missing, extra: extra }; +}; |