'use strict'; describe('ngNonBindable', function() { var element; afterEach(function(){ dealoc(element); }); it('should prevent compilation of the owning element and its children', inject(function($rootScope, $compile) { element = $compile('
')($rootScope); element = $compile('
' + ' {{a}}' + ' ' + '
' + ' {{b}}' + '
' + ' {{a}}' + ' ' + '
')($rootScope); $rootScope.a = "one"; $rootScope.b = "two"; $rootScope.$digest(); // Bindings not contained by ng-non-bindable should resolve. var spans = element.find("span"); expect(spans.eq(0).text()).toEqual('one'); expect(spans.eq(1).text()).toEqual('two'); expect(spans.eq(3).text()).toEqual('one'); expect(spans.eq(4).text()).toEqual('two'); // Bindings contained by ng-non-bindable should be left alone. var nonBindableDiv = element.find("div"); expect(nonBindableDiv.attr('foo')).toEqual('{{a}}'); expect(trim(nonBindableDiv.text())).toEqual('{{b}}'); })); });