You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
906 B
35 lines
906 B
beforeEach(function() {
|
|
this.addMatchers({
|
|
toExactlyMatch: function(expected) {
|
|
var a1, a2,
|
|
l, i,
|
|
key,
|
|
actual = this.actual;
|
|
|
|
var getKeys = function(o) {
|
|
var a = [];
|
|
for(key in o) {
|
|
if(o.hasOwnProperty(key)) {
|
|
a.push(key);
|
|
}
|
|
}
|
|
return a;
|
|
}
|
|
a1 = getKeys(actual);
|
|
a2 = getKeys(expected);
|
|
|
|
l = a1.length;
|
|
if(l !== a2.length) {
|
|
return false;
|
|
}
|
|
for(i = 0; i < l; i++) {
|
|
key = a1[i];
|
|
expect(key).toEqual(a2[i]);
|
|
expect(actual[key]).toEqual(expected[key]);
|
|
}
|
|
|
|
return true;
|
|
}
|
|
})
|
|
});
|