aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test/ng/directive/ngNonBindableSpec.js24
1 files changed, 21 insertions, 3 deletions
diff --git a/test/ng/directive/ngNonBindableSpec.js b/test/ng/directive/ngNonBindableSpec.js
index ed9ea6ab..87ba89d2 100644
--- a/test/ng/directive/ngNonBindableSpec.js
+++ b/test/ng/directive/ngNonBindableSpec.js
@@ -13,9 +13,27 @@ describe('ngNonBindable', function() {
it('should prevent compilation of the owning element and its children',
inject(function($rootScope, $compile) {
element = $compile('<div ng-non-bindable text="{{name}}"><span ng-bind="name"></span></div>')($rootScope);
- $rootScope.name = 'misko';
+ element = $compile('<div>' +
+ ' <span id="s1">{{a}}</span>' +
+ ' <span id="s2" ng-bind="b"></span>' +
+ ' <div foo="{{a}}" ng-non-bindable>' +
+ ' <span ng-bind="a"></span>{{b}}' +
+ ' </div>' +
+ ' <span id="s3">{{a}}</span>' +
+ ' <span id="s4" ng-bind="b"></span>' +
+ '</div>')($rootScope);
+ $rootScope.a = "one";
+ $rootScope.b = "two";
$rootScope.$digest();
- expect(element.text()).toEqual('');
- expect(element.attr('text')).toEqual('{{name}}');
+ // 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}}');
}));
});