aboutsummaryrefslogtreecommitdiffstats
path: root/test/AngularSpec.js
diff options
context:
space:
mode:
authorIgor Minar2013-01-17 16:53:30 -0800
committerIgor Minar2013-01-17 17:49:07 -0800
commita6b2ee785b91ce69fe265d423c18ea7a899c922d (patch)
treef74c2f0e2fb5a349a997b433a46acc6b0f2d0512 /test/AngularSpec.js
parentd5a1336e6bf4316d6d130d5c9226ea4e40fb1e85 (diff)
downloadangular.js-a6b2ee785b91ce69fe265d423c18ea7a899c922d.tar.bz2
fix(angular.equals): consistently compare undefined object props
previously: a = {}; b = {x:undefined}; angular.equals(a, b) == angular.equals(b, a) // returns false. both should return false because these objects are not equal. unlike in implemented in #1695 the comparison should be stricter and return false not true. if we need to relax this in the future we can always do so. Closes #1648
Diffstat (limited to 'test/AngularSpec.js')
-rw-r--r--test/AngularSpec.js8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/AngularSpec.js b/test/AngularSpec.js
index 47670296..f5638b9c 100644
--- a/test/AngularSpec.js
+++ b/test/AngularSpec.js
@@ -126,6 +126,14 @@ describe('angular', function() {
expect(equals(['misko'], ['misko', 'adam'])).toEqual(false);
});
+ it('should ignore undefined member variables', function() {
+ var obj1 = {name: 'misko'},
+ obj2 = {name: 'misko', undefinedvar: undefined};
+
+ expect(equals(obj1, obj2)).toBe(false);
+ expect(equals(obj2, obj1)).toBe(false);
+ });
+
it('should ignore $ member variables', function() {
expect(equals({name:'misko', $id:1}, {name:'misko', $id:2})).toEqual(true);
expect(equals({name:'misko'}, {name:'misko', $id:2})).toEqual(true);