From f2106692b1ebf00aa5f8b2accd75f014b6cd4faa Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Wed, 28 Mar 2012 13:47:57 -0700 Subject: fix($compile): properly clone attr.$observers in ng-repeat The `attr` object was only shallow copied which caused all observers to be shared. Fixing similar issue in ng-* boolean attributes as well as ng-src and ng-href. --- test/ng/compilerSpec.js | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'test/ng') diff --git a/test/ng/compilerSpec.js b/test/ng/compilerSpec.js index dc2e20cf..fb5e99e6 100644 --- a/test/ng/compilerSpec.js +++ b/test/ng/compilerSpec.js @@ -1374,6 +1374,41 @@ describe('$compile', function() { }); + it('should properly $observe inside ng-repeat', function() { + var spies = []; + + module(function($compileProvider) { + $compileProvider.directive('observer', function() { + return function(scope, elm, attr) { + spies.push(jasmine.createSpy('observer ' + spies.length)); + attr.$observe('some', spies[spies.length - 1]); + }; + }); + }); + + inject(function($compile, $rootScope) { + element = $compile('
'+ + ''+ + '
')($rootScope); + + $rootScope.$apply(function() { + $rootScope.items = [{id: 1}, {id: 2}]; + }); + + expect(spies[0]).toHaveBeenCalledOnceWith('id_1'); + expect(spies[1]).toHaveBeenCalledOnceWith('id_2'); + spies[0].reset(); + spies[1].reset(); + + $rootScope.$apply(function() { + $rootScope.items[0].id = 5; + }); + + expect(spies[0]).toHaveBeenCalledOnceWith('id_5'); + }); + }); + + describe('$set', function() { var attr; beforeEach(function(){ -- cgit v1.2.3 orm class='right' method='get' action='/fork/homebrew/log/Library/Formula/findutils.rb'>
path: root/Library/Formula/findutils.rb
AgeCommit message (Expand)Author
2014-02-22findutils: add bottle.Mike McQuaid
2012-12-04findutils: put locate database in #{var}/locate.Mike McQuaid
2012-10-24findutils: add --default-names optionDaniel Schuler
2012-09-03Batch convert MD5 formula to SHA1.Mike McQuaid