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
+10
View File
@@ -75,6 +75,16 @@ describe("matchersUtil", function() {
expect(jasmineUnderTest.matchersUtil.equals(one, two)).toBe(false); 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() { 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); expect(jasmineUnderTest.matchersUtil.equals(new Error("foo"), new Error("foo"))).toBe(true);
}); });
+1 -1
View File
@@ -225,7 +225,7 @@ getJasmineRequireObj().matchersUtil = function(j$) {
var extraKeys = []; var extraKeys = [];
for (var i in allKeys) { for (var i in allKeys) {
if (!allKeys[i].match(/^[0-9]+$/)) { if (!allKeys[i].match(/^[0-9]+$/)) {
extraKeys.push(key); extraKeys.push(allKeys[i]);
} }
} }