From dbffbefb7cd7af2ac063c95378a035aa9fbbd2ff Mon Sep 17 00:00:00 2001 From: Vojta Jina Date: Fri, 20 Jan 2012 14:04:53 -0800 Subject: refactor($controller): Add $controller service for instantiating controllers So that we can allow user to override this service and use BC hack: https://gist.github.com/1649788--- test/service/controllerSpec.js | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 test/service/controllerSpec.js (limited to 'test') diff --git a/test/service/controllerSpec.js b/test/service/controllerSpec.js new file mode 100644 index 00000000..8b12eceb --- /dev/null +++ b/test/service/controllerSpec.js @@ -0,0 +1,38 @@ +'use strict'; + +describe('$controller', function() { + var $controller; + + beforeEach(inject(function($injector) { + $controller = $injector.get('$controller'); + })); + + it('should return instance of given controller class', function() { + var MyClass = function() {}, + ctrl = $controller(MyClass); + + expect(ctrl).toBeDefined(); + expect(ctrl instanceof MyClass).toBe(true); + }); + + it('should inject arguments', inject(function($http) { + var MyClass = function($http) { + this.$http = $http; + }; + + var ctrl = $controller(MyClass); + expect(ctrl.$http).toBe($http); + })); + + + it('should inject given scope', function() { + var MyClass = function($scope) { + this.$scope = $scope; + }; + + var scope = {}, + ctrl = $controller(MyClass, scope); + + expect(ctrl.$scope).toBe(scope); + }); +}); -- cgit v1.2.3