'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}}'); })); });