aboutsummaryrefslogtreecommitdiffstats
path: root/test/service/routeSpec.js
diff options
context:
space:
mode:
authorVojta Jina2011-11-29 21:51:59 -0800
committerVojta Jina2012-01-23 11:05:36 -0800
commit992c790f0786fa45c1cc3710f29bf49c7c322ba7 (patch)
tree581d06ea9ba275a14d5891d83b2df03f9930bd45 /test/service/routeSpec.js
parentf5343c9fd3c7cd0fefdb4d71d2b579dbae998d6a (diff)
downloadangular.js-992c790f0786fa45c1cc3710f29bf49c7c322ba7.tar.bz2
refactor(scope): separate controller from scope
Controller is standalone object, created using "new" operator, not messed up with scope anymore. Instead, related scope is injected as $scope. See design proposal: https://docs.google.com/document/pub?id=1SsgVj17ec6tnZEX3ugsvg0rVVR11wTso5Md-RdEmC0k Closes #321 Closes #425 Breaks controller methods are not exported to scope automatically Breaks Scope#$new() does not take controller as argument anymore
Diffstat (limited to 'test/service/routeSpec.js')
-rw-r--r--test/service/routeSpec.js21
1 files changed, 11 insertions, 10 deletions
diff --git a/test/service/routeSpec.js b/test/service/routeSpec.js
index 95560d29..1bb1312f 100644
--- a/test/service/routeSpec.js
+++ b/test/service/routeSpec.js
@@ -112,7 +112,7 @@ describe('$route', function() {
inject(function($route, $location, $rootScope) {
var onChangeSpy = jasmine.createSpy('onChange');
- function NotFoundCtrl() {this.notFoundProp = 'not found!';}
+ function NotFoundCtrl($scope) {$scope.notFoundProp = 'not found!';}
$route.when('/foo', {template: 'foo.html'});
$route.otherwise({template: '404.html', controller: NotFoundCtrl});
@@ -169,10 +169,11 @@ describe('$route', function() {
it('should infer arguments in injection', inject(function($route, $location, $rootScope) {
- $route.when('/test', {controller: function($route){ this.$route = $route; }});
+ var injectedRoute;
+ $route.when('/test', {controller: function($route) {injectedRoute = $route;}});
$location.path('/test');
$rootScope.$digest();
- expect($route.current.scope.$route).toBe($route);
+ expect(injectedRoute).toBe($route);
}));
@@ -304,9 +305,9 @@ describe('$route', function() {
$route.when('/foo', {controller: FooCtrl, reloadOnSearch: false});
$rootScope.$on('$beforeRouteChange', reloaded);
- function FooCtrl() {
+ function FooCtrl($scope) {
reloaded();
- this.$on('$routeUpdate', routeUpdateEvent);
+ $scope.$on('$routeUpdate', routeUpdateEvent);
}
expect(reloaded).not.toHaveBeenCalled();
@@ -368,8 +369,8 @@ describe('$route', function() {
$route.when('/foo', {controller: FooCtrl});
$route.when('/bar/:barId', {controller: FooCtrl, reloadOnSearch: false});
- function FooCtrl() {
- this.$watch(function() {
+ function FooCtrl($scope) {
+ $scope.$watch(function() {
return $route.current.params;
}, function(scope, value) {
routeParams(value);
@@ -414,10 +415,10 @@ describe('$route', function() {
}
function createController(name) {
- return function() {
+ return function($scope) {
log.push('init-' + name);
- this.$on('$destroy', logger('destroy-' + name));
- this.$on('$routeUpdate', logger('route-update'));
+ $scope.$on('$destroy', logger('destroy-' + name));
+ $scope.$on('$routeUpdate', logger('route-update'));
};
}