2011-08-24 05:30:14 +00:00
|
|
|
'use strict';
|
|
|
|
|
|
2011-10-07 18:27:49 +00:00
|
|
|
describe('$routeParams', function() {
|
2013-06-05 22:30:31 +00:00
|
|
|
|
|
|
|
|
beforeEach(module('ngRoute'));
|
|
|
|
|
|
|
|
|
|
|
2012-02-15 23:45:07 +00:00
|
|
|
it('should publish the params into a service', function() {
|
|
|
|
|
module(function($routeProvider) {
|
2012-04-03 22:28:09 +00:00
|
|
|
$routeProvider.when('/foo', {});
|
|
|
|
|
$routeProvider.when('/bar/:barId', {});
|
2012-02-15 23:45:07 +00:00
|
|
|
});
|
2011-08-24 05:30:14 +00:00
|
|
|
|
2012-02-15 23:45:07 +00:00
|
|
|
inject(function($rootScope, $route, $location, $routeParams) {
|
|
|
|
|
$location.path('/foo').search('a=b');
|
|
|
|
|
$rootScope.$digest();
|
|
|
|
|
expect($routeParams).toEqual({a:'b'});
|
2011-08-24 05:30:14 +00:00
|
|
|
|
2012-02-15 23:45:07 +00:00
|
|
|
$location.path('/bar/123').search('x=abc');
|
|
|
|
|
$rootScope.$digest();
|
|
|
|
|
expect($routeParams).toEqual({barId:'123', x:'abc'});
|
|
|
|
|
});
|
|
|
|
|
});
|
2012-12-11 10:41:53 +00:00
|
|
|
|
|
|
|
|
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'});
|
|
|
|
|
});
|
|
|
|
|
});
|
2013-01-14 19:01:51 +00:00
|
|
|
|
|
|
|
|
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'});
|
|
|
|
|
});
|
|
|
|
|
});
|
2012-12-27 05:45:11 +00:00
|
|
|
|
|
|
|
|
it('should correctly extract the params when an optional param name is part of the route', function() {
|
|
|
|
|
module(function($routeProvider) {
|
|
|
|
|
$routeProvider.when('/bar/:foo?', {});
|
|
|
|
|
$routeProvider.when('/baz/:foo?/edit', {});
|
|
|
|
|
$routeProvider.when('/qux/:bar?/:baz?', {});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
inject(function($rootScope, $route, $location, $routeParams) {
|
|
|
|
|
$location.path('/bar');
|
|
|
|
|
$rootScope.$digest();
|
|
|
|
|
expect($routeParams).toEqual({});
|
|
|
|
|
|
|
|
|
|
$location.path('/bar/fooValue');
|
|
|
|
|
$rootScope.$digest();
|
|
|
|
|
expect($routeParams).toEqual({foo: 'fooValue'});
|
|
|
|
|
|
|
|
|
|
$location.path('/baz/fooValue/edit');
|
|
|
|
|
$rootScope.$digest();
|
|
|
|
|
expect($routeParams).toEqual({foo: 'fooValue'});
|
|
|
|
|
|
|
|
|
|
$location.path('/baz/edit');
|
|
|
|
|
$rootScope.$digest();
|
|
|
|
|
expect($routeParams).toEqual({});
|
|
|
|
|
|
|
|
|
|
$location.path('/qux//bazValue');
|
|
|
|
|
$rootScope.$digest();
|
|
|
|
|
expect($routeParams).toEqual({baz: 'bazValue', bar: undefined});
|
|
|
|
|
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
2011-08-24 05:30:14 +00:00
|
|
|
});
|