mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-17 07:40:22 +00:00
$route, $routeParams and ngView have been pulled from core angular.js
to angular-route.js/ngRoute module.
This is was done to in order keep the core focused on most commonly
used functionality and allow community routers to be freely used
instead of $route service.
There is no need to panic, angular-route will keep on being supported
by the angular team.
Note: I'm intentionally not fixing tutorial links. Tutorial will need
bigger changes and those should be done when we update tutorial to
1.2.
BREAKING CHANGE: applications that use $route will now need to load
angular-route.js file and define dependency on ngRoute module.
Before:
```
...
<script src="angular.js"></script>
...
var myApp = angular.module('myApp', ['someOtherModule']);
...
```
After:
```
...
<script src="angular.js"></script>
<script src="angular-route.js"></script>
...
var myApp = angular.module('myApp', ['ngRoute', 'someOtherModule']);
...
```
Closes #2804
48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
'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'});
|
|
});
|
|
});
|
|
});
|