aboutsummaryrefslogtreecommitdiffstats
path: root/test/ng/directive/ngViewSpec.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/ng/directive/ngViewSpec.js')
-rw-r--r--test/ng/directive/ngViewSpec.js26
1 files changed, 25 insertions, 1 deletions
diff --git a/test/ng/directive/ngViewSpec.js b/test/ng/directive/ngViewSpec.js
index e90bb3bd..e781b98b 100644
--- a/test/ng/directive/ngViewSpec.js
+++ b/test/ng/directive/ngViewSpec.js
@@ -429,7 +429,7 @@ describe('ngView', function() {
$rootScope.$digest();
expect($rootScope.load).toHaveBeenCalledOnce();
});
- })
+ });
it('should set $scope and $controllerController on the view', function() {
@@ -459,4 +459,28 @@ describe('ngView', function() {
expect(div.controller()).toBe($route.current.scope.ctrl);
});
});
+
+ it('should not set $scope or $controllerController on top level text elements in the view', function() {
+ function MyCtrl($scope) {}
+
+ module(function($routeProvider) {
+ $routeProvider.when('/foo', {templateUrl: 'tpl.html', controller: MyCtrl});
+ });
+
+ inject(function($templateCache, $location, $rootScope, $route) {
+ $templateCache.put('tpl.html', '<div></div> ');
+ $location.url('/foo');
+ $rootScope.$digest();
+
+ forEach(element.contents(), function(node) {
+ if ( node.nodeType == 3 ) {
+ expect(jqLite(node).scope()).not.toBe($route.current.scope);
+ expect(jqLite(node).controller()).not.toBeDefined();
+ } else {
+ expect(jqLite(node).scope()).toBe($route.current.scope);
+ expect(jqLite(node).controller()).toBeDefined();
+ }
+ });
+ });
+ });
});