diff options
| author | Igor Minar | 2013-01-17 16:53:30 -0800 | 
|---|---|---|
| committer | Igor Minar | 2013-01-17 17:48:51 -0800 | 
| commit | 5ae63fd385295d5a7bbdc79466f59727dcab1c85 (patch) | |
| tree | ca636c897a063dbbd44b91128d2dbe5db0672672 /test/AngularSpec.js | |
| parent | 8b4432481472f13e995df6dc437d55d87b38b709 (diff) | |
| download | angular.js-5ae63fd385295d5a7bbdc79466f59727dcab1c85.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.js | 8 | 
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); | 
