diff options
Diffstat (limited to 'test/ng/directive/ngControllerSpec.js')
| -rw-r--r-- | test/ng/directive/ngControllerSpec.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/ng/directive/ngControllerSpec.js b/test/ng/directive/ngControllerSpec.js index ab85c569..402ddf09 100644 --- a/test/ng/directive/ngControllerSpec.js +++ b/test/ng/directive/ngControllerSpec.js @@ -3,6 +3,11 @@ describe('ngController', function() { var element; + beforeEach(module(function($controllerProvider) { + $controllerProvider.register('PublicModule', function() { + this.mark = 'works'; + }); + })); beforeEach(inject(function($window) { $window.Greeter = function($scope) { // private stuff (not exported to scope) @@ -27,6 +32,10 @@ describe('ngController', function() { $window.Child = function($scope) { $scope.name = 'Adam'; }; + + $window.Public = function() { + this.mark = 'works'; + } })); afterEach(function() { @@ -41,6 +50,20 @@ describe('ngController', function() { })); + it('should publish controller into scope', inject(function($compile, $rootScope) { + element = $compile('<div ng-controller="Public as p">{{p.mark}}</div>')($rootScope); + $rootScope.$digest(); + expect(element.text()).toBe('works'); + })); + + + it('should publish controller into scope from module', inject(function($compile, $rootScope) { + element = $compile('<div ng-controller="PublicModule as p">{{p.mark}}</div>')($rootScope); + $rootScope.$digest(); + expect(element.text()).toBe('works'); + })); + + it('should allow nested controllers', inject(function($compile, $rootScope) { element = $compile('<div ng-controller="Greeter"><div ng-controller="Child">{{greet(name)}}</div></div>')($rootScope); $rootScope.$digest(); |
