From 00ca67e4befffed00ecee81bd1ce903fe01f542a Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Sat, 30 Oct 2010 20:57:13 +0200 Subject: Issue #51: Update extensionMap() If user override existing extension, angular properties ($) will be preserved. This piece of logic could be refactored into separate method: Something like we have extend(), addMissingProperties() - I can't find a name for this method... Closes #51 --- test/AngularSpec.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'test') diff --git a/test/AngularSpec.js b/test/AngularSpec.js index bab7df18..d5005151 100644 --- a/test/AngularSpec.js +++ b/test/AngularSpec.js @@ -280,3 +280,23 @@ describe('angularJsConfig', function() { ie_compat_id: 'ng-ie-compat'}); }); }); + +describe('extensionMap', function() { + it('should preserve $ properties on override', function() { + var extension = extensionMap({}, 'fake'); + extension('first', {$one: true, $two: true}); + var result = extension('first', {$one: false, $three: true}); + + expect(result.$one).toBeFalsy(); + expect(result.$two).toBeTruthy(); + expect(result.$three).toBeTruthy(); + }); + + it('should not preserve non-angular properties', function() { + var extension = extensionMap({}, 'fake'); + extension('first', {two: true}); + var result = extension('first', {$one: false, $three: true}); + + expect(result.two).not.toBeDefined(); + }); +}); -- cgit v1.2.3