Sha256: f4d0b8679ee4cd528796eaf1d7e77362b657bf81a83e71b815994c2423fc4879
Contents?: true
Size: 844 Bytes
Versions: 33
Compression:
Stored size: 844 Bytes
Contents
var assert = require('chai').assert; // we need to define our own deepEqual function that ignores properties that are not hasOwnProperty. Not supported in chai.assert.deepEqual as of v3.0.0. function deepOwnEqual(a, b) { // if arrays of objects, recurse down to the objects if(Array.isArray(a) && Array.isArray(b)) { assert.deepEqual(a.length, b.length, 'Arrays have different lengths') for(var i=0; i<a.length; i++) { deepOwnEqual(a[i], b[i]) } } // compare all the object properties else { var aKeys = Object.keys(a); var bKeys = Object.keys(b); assert.deepEqual(aKeys, bKeys, 'Objects have different keys'); aKeys.forEach(function(key) { assert.deepEqual(a[key], b[key], 'Expected values of "' + key + '" property to be equal in each object') }); } } module.exports = deepOwnEqual
Version data entries
33 entries across 33 versions & 1 rubygems