Make toEqual pass for arrays with equivalent properties

- Fixes a bug caused by accidental use of a closure variable
This commit is contained in:
Ben Christel
2016-07-18 16:48:00 -07:00
parent 8c9ffe3144
commit 738c10fd43
2 changed files with 11 additions and 1 deletions

View File

@@ -75,6 +75,16 @@ describe("matchersUtil", function() {
expect(jasmineUnderTest.matchersUtil.equals(one, two)).toBe(false);
});
it("passes for Arrays with equivalent contents and properties", function() {
var one = [1,2,3],
two = [1,2,3];
one.foo = 'bar';
two.foo = 'bar';
expect(jasmineUnderTest.matchersUtil.equals(one, two)).toBe(true);
});
it("passes for Errors that are the same type and have the same message", function() {
expect(jasmineUnderTest.matchersUtil.equals(new Error("foo"), new Error("foo"))).toBe(true);
});

View File

@@ -225,7 +225,7 @@ getJasmineRequireObj().matchersUtil = function(j$) {
var extraKeys = [];
for (var i in allKeys) {
if (!allKeys[i].match(/^[0-9]+$/)) {
extraKeys.push(key);
extraKeys.push(allKeys[i]);
}
}