aboutsummaryrefslogtreecommitdiffstats
path: root/test/ngRoute/routeParamsSpec.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/ngRoute/routeParamsSpec.js')
-rw-r--r--test/ngRoute/routeParamsSpec.js48
1 files changed, 48 insertions, 0 deletions
diff --git a/test/ngRoute/routeParamsSpec.js b/test/ngRoute/routeParamsSpec.js
new file mode 100644
index 00000000..1391151c
--- /dev/null
+++ b/test/ngRoute/routeParamsSpec.js
@@ -0,0 +1,48 @@
+'use strict';
+
+describe('$routeParams', function() {
+
+ beforeEach(module('ngRoute'));
+
+
+ it('should publish the params into a service', function() {
+ module(function($routeProvider) {
+ $routeProvider.when('/foo', {});
+ $routeProvider.when('/bar/:barId', {});
+ });
+
+ inject(function($rootScope, $route, $location, $routeParams) {
+ $location.path('/foo').search('a=b');
+ $rootScope.$digest();
+ expect($routeParams).toEqual({a:'b'});
+
+ $location.path('/bar/123').search('x=abc');
+ $rootScope.$digest();
+ expect($routeParams).toEqual({barId:'123', x:'abc'});
+ });
+ });
+
+ it('should correctly extract the params when a param name is part of the route', function() {
+ module(function($routeProvider) {
+ $routeProvider.when('/bar/:foo/:bar', {});
+ });
+
+ inject(function($rootScope, $route, $location, $routeParams) {
+ $location.path('/bar/foovalue/barvalue');
+ $rootScope.$digest();
+ expect($routeParams).toEqual({bar:'barvalue', foo:'foovalue'});
+ });
+ });
+
+ it('should support route params not preceded by slashes', function() {
+ module(function($routeProvider) {
+ $routeProvider.when('/bar:barId/foo:fooId/', {});
+ });
+
+ inject(function($rootScope, $route, $location, $routeParams) {
+ $location.path('/barbarvalue/foofoovalue/');
+ $rootScope.$digest();
+ expect($routeParams).toEqual({barId: 'barvalue', fooId: 'foovalue'});
+ });
+ });
+});