From 934204ec18898602dda329e5fd5d43a25c4bad14 Mon Sep 17 00:00:00 2001 From: Enrique Paredes Date: Mon, 4 Feb 2013 20:38:52 +0100 Subject: fix($compile): rename $compileNote to compileNode Directives was observing different instances of Attributes than the one that interpolation was registered with because we failed to realize that the compile node and link node were the same (one of them was a wrapper rather than raw node) Closes #1941 --- test/ng/compileSpec.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'test/ng/compileSpec.js') diff --git a/test/ng/compileSpec.js b/test/ng/compileSpec.js index b4ec0292..a7707cf9 100644 --- a/test/ng/compileSpec.js +++ b/test/ng/compileSpec.js @@ -1538,6 +1538,25 @@ describe('$compile', function() { expect(element.text()).toEqual('WORKS'); }); }); + + it('should support $observe inside link function on directive object', function() { + module(function() { + directive('testLink', valueFn({ + templateUrl: 'test-link.html', + link: function(scope, element, attrs) { + attrs.$observe( 'testLink', function ( val ) { + scope.testAttr = val; + }); + } + })); + }); + inject(function($compile, $rootScope, $templateCache) { + $templateCache.put('test-link.html', '{{testAttr}}' ); + element = $compile('
')($rootScope); + $rootScope.$apply(); + expect(element.text()).toBe('3'); + }); + }); }); -- cgit v1.2.3