diff options
| -rw-r--r-- | src/ng/controller.js | 2 | ||||
| -rw-r--r-- | test/ng/controllerSpec.js | 26 |
2 files changed, 21 insertions, 7 deletions
diff --git a/src/ng/controller.js b/src/ng/controller.js index cfd730e4..5c19cf88 100644 --- a/src/ng/controller.js +++ b/src/ng/controller.js @@ -12,7 +12,7 @@ */ function $ControllerProvider() { var controllers = {}, - CNTRL_REG = /^(\w+)(\s+as\s+(\w+))?$/; + CNTRL_REG = /^(\S+)(\s+as\s+(\w+))?$/; /** diff --git a/test/ng/controllerSpec.js b/test/ng/controllerSpec.js index e34463b0..48691309 100644 --- a/test/ng/controllerSpec.js +++ b/test/ng/controllerSpec.js @@ -90,13 +90,27 @@ describe('$controller', function() { }); - it('should publish controller instance into scope', function() { - var scope = {}; + describe('ctrl as syntax', function() { - $controllerProvider.register('FooCtrl', function() { this.mark = 'foo'; }); + it('should publish controller instance into scope', function() { + var scope = {}; - var foo = $controller('FooCtrl as foo', {$scope: scope}); - expect(scope.foo).toBe(foo); - expect(scope.foo.mark).toBe('foo'); + $controllerProvider.register('FooCtrl', function() { this.mark = 'foo'; }); + + var foo = $controller('FooCtrl as foo', {$scope: scope}); + expect(scope.foo).toBe(foo); + expect(scope.foo.mark).toBe('foo'); + }); + + + it('should allow controllers with dots', function() { + var scope = {}; + + $controllerProvider.register('a.b.FooCtrl', function() { this.mark = 'foo'; }); + + var foo = $controller('a.b.FooCtrl as foo', {$scope: scope}); + expect(scope.foo).toBe(foo); + expect(scope.foo.mark).toBe('foo'); + }); }); }); |
