aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ng/controller.js2
-rw-r--r--test/ng/controllerSpec.js26
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');
+ });
});
});