build: upgrade jasmine (and related typings) to latest version (#19904)

With these changes, the types are a little stricter now and also not
compatible with Protractor's jasmine-like syntax. So, we have to also
use `@types/jasminewd2` for e2e tests (but not for non-e2e tests).

I also had to "augment" `@types/jasminewd2`, because the latest
typings from [DefinitelyTyped][1] do not reflect the fact that the
`jasminewd2` version (v2.1.0) currently used by Protractor supports
passing a `done` callback to a spec.

[1]: 566e039485/types/jasminewd2/index.d.ts (L9-L15)

Fixes #23952
Closes #24733

PR Close #19904
This commit is contained in:
George Kalpakas
2017-10-24 14:54:08 +03:00
committed by Miško Hevery
parent 1e74ea9e60
commit 00c110b055
59 changed files with 332 additions and 283 deletions

View File

@ -9,12 +9,12 @@
import {Location} from '@angular/common';
import {TestBed, inject} from '@angular/core/testing';
import {ResolveData} from '../src/config';
import {Routes} from '../src/config';
import {ChildActivationStart} from '../src/events';
import {PreActivation} from '../src/pre_activation';
import {Router} from '../src/router';
import {ChildrenOutletContexts} from '../src/router_outlet_context';
import {ActivatedRouteSnapshot, RouterStateSnapshot, createEmptyStateSnapshot} from '../src/router_state';
import {RouterStateSnapshot, createEmptyStateSnapshot} from '../src/router_state';
import {DefaultUrlSerializer} from '../src/url_tree';
import {TreeNode} from '../src/utils/tree';
import {RouterTestingModule} from '../testing/src/router_testing_module';
@ -30,14 +30,17 @@ describe('Router', () => {
it('should copy config to avoid mutations of user-provided objects', () => {
const r: Router = TestBed.get(Router);
const configs = [{
const configs: Routes = [{
path: 'a',
component: TestComponent,
children: [{path: 'b', component: TestComponent}, {path: 'c', component: TestComponent}]
}];
const children = configs[0].children !;
r.resetConfig(configs);
let rConfigs = r.config;
const rConfigs = r.config;
const rChildren = rConfigs[0].children !;
// routes array and shallow copy
expect(configs).not.toBe(rConfigs);
@ -46,11 +49,11 @@ describe('Router', () => {
expect(configs[0].component).toBe(rConfigs[0].component);
// children should be new array and routes shallow copied
expect(configs[0].children).not.toBe(rConfigs[0].children);
expect(configs[0].children[0]).not.toBe(rConfigs[0].children ![0]);
expect(configs[0].children[0].path).toBe(rConfigs[0].children ![0].path);
expect(configs[0].children[1]).not.toBe(rConfigs[0].children ![1]);
expect(configs[0].children[1].path).toBe(rConfigs[0].children ![1].path);
expect(children).not.toBe(rChildren);
expect(children[0]).not.toBe(rChildren[0]);
expect(children[0].path).toBe(rChildren[0].path);
expect(children[1]).not.toBe(rChildren[1]);
expect(children[1].path).toBe(rChildren[1].path);
});
});