diff options
Diffstat (limited to 'test/service/routeParamsSpec.js')
| -rw-r--r-- | test/service/routeParamsSpec.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/test/service/routeParamsSpec.js b/test/service/routeParamsSpec.js new file mode 100644 index 00000000..58a37f2e --- /dev/null +++ b/test/service/routeParamsSpec.js @@ -0,0 +1,41 @@ +'use strict'; + +describe('$routeParams', function(){ + it('should publish the params into a service', function(){ + var scope = angular.scope(), + $location = scope.$service('$location'), + $route = scope.$service('$route'), + $routeParams = scope.$service('$routeParams'); + + $route.when('/foo'); + $route.when('/bar/:barId'); + + $location.hash = '/foo?a=b'; + scope.$digest(); + expect($routeParams).toEqual({a:'b'}); + + $location.hash = '/bar/123?x=abc'; + scope.$digest(); + expect($routeParams).toEqual({barId:'123', x:'abc'}); + }); + + + it('should preserve object identity during route reloads', function(){ + var scope = angular.scope(), + $location = scope.$service('$location'), + $route = scope.$service('$route'), + $routeParams = scope.$service('$routeParams'), + firstRouteParams = $routeParams; + + $route.when('/foo'); + $route.when('/bar/:barId'); + + $location.hash = '/foo?a=b'; + scope.$digest(); + expect(scope.$service('$routeParams')).toBe(firstRouteParams); + + $location.hash = '/bar/123?x=abc'; + scope.$digest(); + expect(scope.$service('$routeParams')).toBe(firstRouteParams); + }); +}); |
