aboutsummaryrefslogtreecommitdiffstats
path: root/test/AngularSpec.js
diff options
context:
space:
mode:
authorVojta Jina2012-03-28 16:03:59 -0700
committerIgor Minar2012-03-29 07:30:32 -0700
commit6da355c3e1571b9a104fca2796df77a4194a28a2 (patch)
tree8599843420c713b0a835e02311065fa984dcb1ee /test/AngularSpec.js
parentf2106692b1ebf00aa5f8b2accd75f014b6cd4faa (diff)
downloadangular.js-6da355c3e1571b9a104fca2796df77a4194a28a2.tar.bz2
refactor($compile): move methods of attr object into prototype
We have many instances of this object and we clone them as well (e.g. ng-repeat). This should save some memory and performance as well. Double prefixed private properties of attr object: attr.$element -> attr.$$element attr.$observers -> attr.$$observers Update shallowCopy to not copy $$ properties and allow passing optional destination object.
Diffstat (limited to 'test/AngularSpec.js')
-rw-r--r--test/AngularSpec.js9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/AngularSpec.js b/test/AngularSpec.js
index da56449a..cf34305a 100644
--- a/test/AngularSpec.js
+++ b/test/AngularSpec.js
@@ -88,6 +88,15 @@ describe('angular', function() {
expect(copy).toEqual(original);
expect(copy.key).toBe(original.key);
});
+
+ it('should not copy $$ properties nor prototype properties', function() {
+ var original = {$$some: true, $$: true};
+ var clone = {};
+
+ expect(shallowCopy(original, clone)).toBe(clone);
+ expect(clone.$$some).toBeUndefined();
+ expect(clone.$$).toBeUndefined();
+ });
});
describe('elementHTML', function() {