refactor(core): Migrate TestBed.get to TestBed.inject (#32382)

This is cleanup/followup for PR #32200

PR Close #32382
This commit is contained in:
Carlos Ortiz García 2019-08-28 16:22:36 -07:00 committed by Matias Niemelä
parent a64eded521
commit 9166baf709
69 changed files with 507 additions and 485 deletions

View File

@ -28,9 +28,9 @@ describe('HeroesService', () => {
// Inject the http, test controller, and service-under-test // Inject the http, test controller, and service-under-test
// as they will be referenced by each test. // as they will be referenced by each test.
httpClient = TestBed.get(HttpClient); httpClient = TestBed.inject(HttpClient);
httpTestingController = TestBed.get(HttpTestingController); httpTestingController = TestBed.inject(HttpTestingController);
heroService = TestBed.get(HeroesService); heroService = TestBed.inject(HeroesService);
}); });
afterEach(() => { afterEach(() => {
@ -44,7 +44,7 @@ describe('HeroesService', () => {
let expectedHeroes: Hero[]; let expectedHeroes: Hero[];
beforeEach(() => { beforeEach(() => {
heroService = TestBed.get(HeroesService); heroService = TestBed.inject(HeroesService);
expectedHeroes = [ expectedHeroes = [
{ id: 1, name: 'A' }, { id: 1, name: 'A' },
{ id: 2, name: 'B' }, { id: 2, name: 'B' },

View File

@ -27,8 +27,8 @@ describe('HttpClient testing', () => {
}); });
// Inject the http service and test controller for each test // Inject the http service and test controller for each test
httpClient = TestBed.get(HttpClient); httpClient = TestBed.inject(HttpClient);
httpTestingController = TestBed.get(HttpTestingController); httpTestingController = TestBed.inject(HttpTestingController);
}); });
// #enddocregion setup // #enddocregion setup
// #docregion afterEach // #docregion afterEach

View File

@ -6,7 +6,7 @@ describe('MyLibService', () => {
beforeEach(() => TestBed.configureTestingModule({})); beforeEach(() => TestBed.configureTestingModule({}));
it('should be created', () => { it('should be created', () => {
const service: MyLibService = TestBed.get(MyLibService); const service: MyLibService = TestBed.inject(MyLibService);
expect(service).toBeTruthy(); expect(service).toBeTruthy();
}); });
}); });

View File

@ -103,7 +103,7 @@ xdescribe('AppComponent & Lazy Loading (not working yet)', () => {
beforeEach(fakeAsync(() => { beforeEach(fakeAsync(() => {
createComponent(); createComponent();
loader = TestBed.get(NgModuleFactoryLoader); loader = TestBed.inject(NgModuleFactoryLoader);
loader.stubbedModules = { expected: HeroModule }; loader.stubbedModules = { expected: HeroModule };
router.resetConfig([{path: 'heroes', loadChildren: 'expected'}]); router.resetConfig([{path: 'heroes', loadChildren: 'expected'}]);
})); }));

View File

@ -46,21 +46,21 @@ describe('demo (with TestBed):', () => {
beforeEach(() => { beforeEach(() => {
TestBed.configureTestingModule({ providers: [ValueService] }); TestBed.configureTestingModule({ providers: [ValueService] });
// #enddocregion value-service-before-each // #enddocregion value-service-before-each
service = TestBed.get(ValueService); service = TestBed.inject(ValueService);
// #docregion value-service-before-each // #docregion value-service-before-each
}); });
// #enddocregion value-service-before-each, value-service-inject-before-each // #enddocregion value-service-before-each, value-service-inject-before-each
// #docregion value-service-inject-it // #docregion value-service-inject-it
it('should use ValueService', () => { it('should use ValueService', () => {
service = TestBed.get(ValueService); service = TestBed.inject(ValueService);
expect(service.getValue()).toBe('real value'); expect(service.getValue()).toBe('real value');
}); });
// #enddocregion value-service-inject-it // #enddocregion value-service-inject-it
it('can inject a default value when service is not provided', () => { it('can inject a default value when service is not provided', () => {
// #docregion testbed-get-w-null // #docregion testbed-get-w-null
service = TestBed.get(NotProvided, null); // service is null service = TestBed.inject(NotProvided, null); // service is null
// #enddocregion testbed-get-w-null // #enddocregion testbed-get-w-null
}); });
@ -109,8 +109,8 @@ describe('demo (with TestBed):', () => {
] ]
}); });
// Inject both the service-to-test and its (spy) dependency // Inject both the service-to-test and its (spy) dependency
masterService = TestBed.get(MasterService); masterService = TestBed.inject(MasterService);
valueServiceSpy = TestBed.get(ValueService); valueServiceSpy = TestBed.inject(ValueService);
}); });
// #enddocregion master-service-before-each // #enddocregion master-service-before-each

View File

@ -65,9 +65,9 @@ describe('HeroesService (with mocks)', () => {
// Inject the http, test controller, and service-under-test // Inject the http, test controller, and service-under-test
// as they will be referenced by each test. // as they will be referenced by each test.
httpClient = TestBed.get(HttpClient); httpClient = TestBed.inject(HttpClient);
httpTestingController = TestBed.get(HttpTestingController); httpTestingController = TestBed.inject(HttpTestingController);
heroService = TestBed.get(HeroService); heroService = TestBed.inject(HeroService);
}); });
afterEach(() => { afterEach(() => {
@ -80,7 +80,7 @@ describe('HeroesService (with mocks)', () => {
let expectedHeroes: Hero[]; let expectedHeroes: Hero[];
beforeEach(() => { beforeEach(() => {
heroService = TestBed.get(HeroService); heroService = TestBed.inject(HeroService);
expectedHeroes = [ expectedHeroes = [
{ id: 1, name: 'A' }, { id: 1, name: 'A' },
{ id: 2, name: 'B' }, { id: 2, name: 'B' },

View File

@ -27,8 +27,8 @@ describe('HttpClient testing', () => {
}); });
// Inject the http service and test controller for each test // Inject the http service and test controller for each test
httpClient = TestBed.get(HttpClient); httpClient = TestBed.inject(HttpClient);
httpTestingController = TestBed.get(HttpTestingController); httpTestingController = TestBed.inject(HttpTestingController);
}); });
// #enddocregion setup // #enddocregion setup
// #docregion afterEach // #docregion afterEach

View File

@ -25,8 +25,8 @@ describe('WelcomeComponent (class only)', () => {
] ]
}); });
// inject both the component and the dependent service. // inject both the component and the dependent service.
comp = TestBed.get(WelcomeComponent); comp = TestBed.inject(WelcomeComponent);
userService = TestBed.get(UserService); userService = TestBed.inject(UserService);
}); });
// #enddocregion class-only-before-each // #enddocregion class-only-before-each
@ -93,7 +93,7 @@ describe('WelcomeComponent', () => {
// #docregion setup // #docregion setup
// #docregion inject-from-testbed // #docregion inject-from-testbed
// UserService from the root injector // UserService from the root injector
userService = TestBed.get(UserService); userService = TestBed.inject(UserService);
// #enddocregion inject-from-testbed // #enddocregion inject-from-testbed
// get the "welcome" element by CSS selector (e.g., by class name) // get the "welcome" element by CSS selector (e.g., by class name)

View File

@ -1031,7 +1031,7 @@ the setup of the _service-under-test_.
Now requests made in the course of your tests will hit the testing backend instead of the normal backend. Now requests made in the course of your tests will hit the testing backend instead of the normal backend.
This setup also calls `TestBed.get()` to inject the `HttpClient` service and the mocking controller This setup also calls `TestBed.inject()` to inject the `HttpClient` service and the mocking controller
so they can be referenced during the tests. so they can be referenced during the tests.
### Expecting and answering requests ### Expecting and answering requests

View File

@ -355,7 +355,12 @@ array of the services that you'll test or mock.
header="app/demo/demo.testbed.spec.ts (provide ValueService in beforeEach"> header="app/demo/demo.testbed.spec.ts (provide ValueService in beforeEach">
</code-example> </code-example>
Then inject it inside a test by calling `TestBed.get()` with the service class as the argument. Then inject it inside a test by calling `TestBed.inject()` with the service class as the argument.
**Note:** We used to have `TestBed.get()` instead of `TestBed.inject()`.
The `get` method wasn't type safe, it always returned `any`, and this is error prone.
We decided to migrate to a new function instead of updating the existing one given
the large scale use that would have an immense amount of breaking changes.
<code-example <code-example
path="testing/src/app/demo/demo.testbed.spec.ts" path="testing/src/app/demo/demo.testbed.spec.ts"
@ -1063,14 +1068,14 @@ The component injector is a property of the fixture's `DebugElement`.
{@a testbed-get} {@a testbed-get}
#### _TestBed.get()_ #### _TestBed.inject()_
You _may_ also be able to get the service from the root injector via `TestBed.get()`. You _may_ also be able to get the service from the root injector via `TestBed.inject()`.
This is easier to remember and less verbose. This is easier to remember and less verbose.
But it only works when Angular injects the component with the service instance in the test's root injector. But it only works when Angular injects the component with the service instance in the test's root injector.
In this test suite, the _only_ provider of `UserService` is the root testing module, In this test suite, the _only_ provider of `UserService` is the root testing module,
so it is safe to call `TestBed.get()` as follows: so it is safe to call `TestBed.inject()` as follows:
<code-example <code-example
path="testing/src/app/welcome/welcome.component.spec.ts" path="testing/src/app/welcome/welcome.component.spec.ts"
@ -1080,7 +1085,7 @@ so it is safe to call `TestBed.get()` as follows:
<div class="alert is-helpful"> <div class="alert is-helpful">
For a use case in which `TestBed.get()` does not work, For a use case in which `TestBed.inject()` does not work,
see the [_Override component providers_](#component-override) section that see the [_Override component providers_](#component-override) section that
explains when and why you must get the service from the component's injector instead. explains when and why you must get the service from the component's injector instead.
@ -1102,7 +1107,7 @@ a clone of the provided `userServiceStub`.
#### Final setup and tests #### Final setup and tests
Here's the complete `beforeEach()`, using `TestBed.get()`: Here's the complete `beforeEach()`, using `TestBed.inject()`:
<code-example path="testing/src/app/welcome/welcome.component.spec.ts" region="setup" header="app/welcome/welcome.component.spec.ts"></code-example> <code-example path="testing/src/app/welcome/welcome.component.spec.ts" region="setup" header="app/welcome/welcome.component.spec.ts"></code-example>
@ -3090,13 +3095,13 @@ Here are the most important static methods, in order of likely utility.
What if the service is optional? What if the service is optional?
The `TestBed.get()` method takes an optional second parameter, The `TestBed.inject()` method takes an optional second parameter,
the object to return if Angular can't find the provider the object to return if Angular can't find the provider
(`null` in this example): (`null` in this example):
<code-example path="testing/src/app/demo/demo.testbed.spec.ts" region="testbed-get-w-null" header="app/demo/demo.testbed.spec.ts"></code-example> <code-example path="testing/src/app/demo/demo.testbed.spec.ts" region="testbed-get-w-null" header="app/demo/demo.testbed.spec.ts"></code-example>
After calling `get`, the `TestBed` configuration is frozen for the duration of the current spec. After calling `TestBed.inject`, the `TestBed` configuration is frozen for the duration of the current spec.
</td> </td>
</tr> </tr>

View File

@ -84,17 +84,17 @@
}, },
"private": true, "private": true,
"dependencies": { "dependencies": {
"@angular/animations": "^8.1.0-next.1", "@angular/animations": "^9.0.0-next.5",
"@angular/cdk": "8.0.0", "@angular/cdk": "8.0.0",
"@angular/common": "^8.1.0-next.1", "@angular/common": "^9.0.0-next.5",
"@angular/core": "^8.1.0-next.1", "@angular/core": "^9.0.0-next.5",
"@angular/elements": "^8.1.0-next.1", "@angular/elements": "^9.0.0-next.5",
"@angular/forms": "^8.1.0-next.1", "@angular/forms": "^9.0.0-next.5",
"@angular/material": "8.0.0", "@angular/material": "8.0.0",
"@angular/platform-browser": "^8.1.0-next.1", "@angular/platform-browser": "^9.0.0-next.5",
"@angular/platform-browser-dynamic": "^8.1.0-next.1", "@angular/platform-browser-dynamic": "^9.0.0-next.5",
"@angular/router": "^8.1.0-next.1", "@angular/router": "^9.0.0-next.5",
"@angular/service-worker": "^8.1.0-next.1", "@angular/service-worker": "^9.0.0-next.5",
"@types/lunr": "^2.3.2", "@types/lunr": "^2.3.2",
"@webcomponents/custom-elements": "^1.2.0", "@webcomponents/custom-elements": "^1.2.0",
"rxjs": "^6.5.2", "rxjs": "^6.5.2",
@ -103,9 +103,9 @@
"devDependencies": { "devDependencies": {
"@angular-devkit/build-angular": "0.801.0-beta.2", "@angular-devkit/build-angular": "0.801.0-beta.2",
"@angular/cli": "8.1.0-beta.2", "@angular/cli": "8.1.0-beta.2",
"@angular/compiler": "^8.1.0-next.1", "@angular/compiler": "^9.0.0-next.5",
"@angular/compiler-cli": "^8.1.0-next.1", "@angular/compiler-cli": "^9.0.0-next.5",
"@angular/language-service": "^8.1.0-next.1", "@angular/language-service": "^9.0.0-next.5",
"@types/jasmine": "^2.5.52", "@types/jasmine": "^2.5.52",
"@types/jasminewd2": "^2.0.4", "@types/jasminewd2": "^2.0.4",
"@types/node": "~6.0.60", "@types/node": "~6.0.60",

View File

@ -4,8 +4,8 @@
"uncompressed": { "uncompressed": {
"runtime-es5": 3042, "runtime-es5": 3042,
"runtime-es2015": 3048, "runtime-es2015": 3048,
"main-es5": 511052, "main-es5": 493318,
"main-es2015": 450562, "main-es2015": 434710,
"polyfills-es5": 131024, "polyfills-es5": 131024,
"polyfills-es2015": 52433 "polyfills-es2015": 52433
} }

View File

@ -442,7 +442,7 @@ describe('AppComponent', () => {
}); });
it('should update the document title', async () => { it('should update the document title', async () => {
const titleService = TestBed.get(Title); const titleService = TestBed.inject(Title);
spyOn(titleService, 'setTitle'); spyOn(titleService, 'setTitle');
await navigateTo('guide/pipes'); await navigateTo('guide/pipes');
@ -450,7 +450,7 @@ describe('AppComponent', () => {
}); });
it('should update the document title, with a default value if the document has no title', async () => { it('should update the document title, with a default value if the document has no title', async () => {
const titleService = TestBed.get(Title); const titleService = TestBed.inject(Title);
spyOn(titleService, 'setTitle'); spyOn(titleService, 'setTitle');
await navigateTo('no-title'); await navigateTo('no-title');
@ -782,14 +782,14 @@ describe('AppComponent', () => {
describe('showing search results', () => { describe('showing search results', () => {
it('should not display search results when query is empty', () => { it('should not display search results when query is empty', () => {
const searchService: MockSearchService = TestBed.get(SearchService); const searchService = TestBed.inject(SearchService) as Partial<SearchService> as MockSearchService;
searchService.searchResults.next({ query: '', results: [] }); searchService.searchResults.next({ query: '', results: [] });
fixture.detectChanges(); fixture.detectChanges();
expect(component.showSearchResults).toBe(false); expect(component.showSearchResults).toBe(false);
}); });
it('should hide the results when a search result is selected', () => { it('should hide the results when a search result is selected', () => {
const searchService: MockSearchService = TestBed.get(SearchService); const searchService = TestBed.inject(SearchService) as Partial<SearchService> as MockSearchService;
const results = [ const results = [
{ path: 'news', title: 'News', type: 'marketing', keywords: '', titleWords: '', deprecated: false } { path: 'news', title: 'News', type: 'marketing', keywords: '', titleWords: '', deprecated: false }
@ -826,14 +826,14 @@ describe('AppComponent', () => {
const description = const description =
`should ${doRedirect ? '' : 'not '}redirect to 'docs' if deployment mode is '${mode}' ` + `should ${doRedirect ? '' : 'not '}redirect to 'docs' if deployment mode is '${mode}' ` +
'and at a marketing page'; 'and at a marketing page';
const verifyNoRedirection = () => expect(TestBed.get(LocationService).replace).not.toHaveBeenCalled(); const verifyNoRedirection = () => expect(TestBed.inject(LocationService).replace).not.toHaveBeenCalled();
const verifyRedirection = () => expect(TestBed.get(LocationService).replace).toHaveBeenCalledWith('docs'); const verifyRedirection = () => expect(TestBed.inject(LocationService).replace).toHaveBeenCalledWith('docs');
const verifyPossibleRedirection = doRedirect ? verifyRedirection : verifyNoRedirection; const verifyPossibleRedirection = doRedirect ? verifyRedirection : verifyNoRedirection;
it(description, () => { it(description, () => {
createTestingModule('', mode); createTestingModule('', mode);
const navService = TestBed.get(NavigationService) as NavigationService; const navService = TestBed.inject(NavigationService);
const testCurrentNodes = navService.currentNodes = new Subject<CurrentNodes>(); const testCurrentNodes = navService.currentNodes = new Subject<CurrentNodes>();
initializeTest(false); initializeTest(false);

View File

@ -222,7 +222,7 @@ describe('CodeComponent', () => {
}); });
it('should call copier service when clicked', () => { it('should call copier service when clicked', () => {
const copierService: CopierService = TestBed.get(CopierService); const copierService: CopierService = TestBed.inject(CopierService);
const spy = spyOn(copierService, 'copyText'); const spy = spyOn(copierService, 'copyText');
expect(spy.calls.count()).toBe(0, 'before click'); expect(spy.calls.count()).toBe(0, 'before click');
getButton().click(); getButton().click();
@ -230,14 +230,14 @@ describe('CodeComponent', () => {
}); });
it('should copy code text when clicked', () => { it('should copy code text when clicked', () => {
const copierService: CopierService = TestBed.get(CopierService); const copierService: CopierService = TestBed.inject(CopierService);
const spy = spyOn(copierService, 'copyText'); const spy = spyOn(copierService, 'copyText');
getButton().click(); getButton().click();
expect(spy.calls.argsFor(0)[0]).toBe(oneLineCode, 'after click'); expect(spy.calls.argsFor(0)[0]).toBe(oneLineCode, 'after click');
}); });
it('should preserve newlines in the copied code', () => { it('should preserve newlines in the copied code', () => {
const copierService: CopierService = TestBed.get(CopierService); const copierService: CopierService = TestBed.inject(CopierService);
const spy = spyOn(copierService, 'copyText'); const spy = spyOn(copierService, 'copyText');
const expectedCode = smallMultiLineCode.trim().replace(/&lt;/g, '<').replace(/&gt;/g, '>'); const expectedCode = smallMultiLineCode.trim().replace(/&lt;/g, '<').replace(/&gt;/g, '>');
let actualCode; let actualCode;
@ -258,8 +258,8 @@ describe('CodeComponent', () => {
}); });
it('should display a message when copy succeeds', () => { it('should display a message when copy succeeds', () => {
const snackBar: MatSnackBar = TestBed.get(MatSnackBar); const snackBar: MatSnackBar = TestBed.inject(MatSnackBar);
const copierService: CopierService = TestBed.get(CopierService); const copierService: CopierService = TestBed.inject(CopierService);
spyOn(snackBar, 'open'); spyOn(snackBar, 'open');
spyOn(copierService, 'copyText').and.returnValue(true); spyOn(copierService, 'copyText').and.returnValue(true);
getButton().click(); getButton().click();
@ -267,9 +267,9 @@ describe('CodeComponent', () => {
}); });
it('should display an error when copy fails', () => { it('should display an error when copy fails', () => {
const snackBar: MatSnackBar = TestBed.get(MatSnackBar); const snackBar: MatSnackBar = TestBed.inject(MatSnackBar);
const copierService: CopierService = TestBed.get(CopierService); const copierService: CopierService = TestBed.inject(CopierService);
const logger: TestLogger = TestBed.get(Logger); const logger = TestBed.inject(Logger) as unknown as TestLogger;
spyOn(snackBar, 'open'); spyOn(snackBar, 'open');
spyOn(copierService, 'copyText').and.returnValue(false); spyOn(copierService, 'copyText').and.returnValue(false);
getButton().click(); getButton().click();

View File

@ -25,7 +25,7 @@ describe('FileNotFoundSearchComponent', () => {
}); });
fixture = TestBed.createComponent(FileNotFoundSearchComponent); fixture = TestBed.createComponent(FileNotFoundSearchComponent);
searchService = TestBed.get(SearchService); searchService = TestBed.inject(SearchService);
searchResultSubject = new Subject<SearchResults>(); searchResultSubject = new Subject<SearchResults>();
spyOn(searchService, 'search').and.callFake(() => searchResultSubject.asObservable()); spyOn(searchService, 'search').and.callFake(() => searchResultSubject.asObservable());
fixture.detectChanges(); fixture.detectChanges();

View File

@ -48,7 +48,7 @@ describe('TocComponent', () => {
fixture = TestBed.createComponent(HostEmbeddedTocComponent); fixture = TestBed.createComponent(HostEmbeddedTocComponent);
tocComponentDe = fixture.debugElement.children[0]; tocComponentDe = fixture.debugElement.children[0];
tocComponent = tocComponentDe.componentInstance; tocComponent = tocComponentDe.componentInstance;
tocService = TestBed.get(TocService); tocService = TestBed.inject(TocService) as unknown as TestTocService;
}); });
it('should create tocComponent', () => { it('should create tocComponent', () => {
@ -137,7 +137,7 @@ describe('TocComponent', () => {
beforeEach(() => { beforeEach(() => {
fixture.detectChanges(); fixture.detectChanges();
page = setPage(); page = setPage();
scrollToTopSpy = TestBed.get(ScrollService).scrollToTop; scrollToTopSpy = (TestBed.inject(ScrollService) as unknown as TestScrollService).scrollToTop;
}); });
it('should have more than 4 displayed items', () => { it('should have more than 4 displayed items', () => {
@ -252,7 +252,7 @@ describe('TocComponent', () => {
tocComponentDe = fixture.debugElement.children[0]; tocComponentDe = fixture.debugElement.children[0];
tocComponent = tocComponentDe.componentInstance; tocComponent = tocComponentDe.componentInstance;
tocService = TestBed.get(TocService); tocService = TestBed.inject(TocService) as unknown as TestTocService;
fixture.detectChanges(); fixture.detectChanges();
page = setPage(); page = setPage();

View File

@ -128,8 +128,8 @@ describe('DocViewerComponent', () => {
}; };
beforeEach(() => { beforeEach(() => {
titleService = TestBed.get(Title); titleService = TestBed.inject(Title) as unknown as MockTitle;
tocService = TestBed.get(TocService); tocService = TestBed.inject(TocService) as unknown as MockTocService;
targetEl = document.createElement('div'); targetEl = document.createElement('div');
document.body.appendChild(targetEl); // Required for `innerText` to work as expected. document.body.appendChild(targetEl); // Required for `innerText` to work as expected.
@ -299,7 +299,7 @@ describe('DocViewerComponent', () => {
docViewer.render({contents, id}).toPromise(); docViewer.render({contents, id}).toPromise();
beforeEach(() => { beforeEach(() => {
const elementsLoader = TestBed.get(ElementsLoader) as MockElementsLoader; const elementsLoader = TestBed.inject(ElementsLoader) as Partial<ElementsLoader> as MockElementsLoader;
loadElementsSpy = elementsLoader.loadContainedCustomElements.and.returnValue(of(undefined)); loadElementsSpy = elementsLoader.loadContainedCustomElements.and.returnValue(of(undefined));
prepareTitleAndTocSpy = spyOn(docViewer, 'prepareTitleAndToc'); prepareTitleAndTocSpy = spyOn(docViewer, 'prepareTitleAndToc');
swapViewsSpy = spyOn(docViewer, 'swapViews').and.returnValue(of(undefined)); swapViewsSpy = spyOn(docViewer, 'swapViews').and.returnValue(of(undefined));
@ -369,17 +369,17 @@ describe('DocViewerComponent', () => {
it('should remove the "noindex" meta tag if the document is valid', async () => { it('should remove the "noindex" meta tag if the document is valid', async () => {
await doRender('foo', 'bar'); await doRender('foo', 'bar');
expect(TestBed.get(Meta).removeTag).toHaveBeenCalledWith('name="robots"'); expect(TestBed.inject(Meta).removeTag).toHaveBeenCalledWith('name="robots"');
}); });
it('should add the "noindex" meta tag if the document is 404', async () => { it('should add the "noindex" meta tag if the document is 404', async () => {
await doRender('missing', FILE_NOT_FOUND_ID); await doRender('missing', FILE_NOT_FOUND_ID);
expect(TestBed.get(Meta).addTag).toHaveBeenCalledWith({ name: 'robots', content: 'noindex' }); expect(TestBed.inject(Meta).addTag).toHaveBeenCalledWith({ name: 'robots', content: 'noindex' });
}); });
it('should add a "noindex" meta tag if the document fetching fails', async () => { it('should add a "noindex" meta tag if the document fetching fails', async () => {
await doRender('error', FETCHING_ERROR_ID); await doRender('error', FETCHING_ERROR_ID);
expect(TestBed.get(Meta).addTag).toHaveBeenCalledWith({ name: 'robots', content: 'noindex' }); expect(TestBed.inject(Meta).addTag).toHaveBeenCalledWith({ name: 'robots', content: 'noindex' });
}); });
}); });
@ -454,7 +454,9 @@ describe('DocViewerComponent', () => {
describe('(on error) should clean up, log the error and recover', () => { describe('(on error) should clean up, log the error and recover', () => {
let logger: MockLogger; let logger: MockLogger;
beforeEach(() => logger = TestBed.get(Logger)); beforeEach(() => {
logger = TestBed.inject(Logger) as unknown as MockLogger;
});
it('when `prepareTitleAndTocSpy()` fails', async () => { it('when `prepareTitleAndTocSpy()` fails', async () => {
const error = Error('Typical `prepareTitleAndToc()` error'); const error = Error('Typical `prepareTitleAndToc()` error');
@ -472,7 +474,7 @@ describe('DocViewerComponent', () => {
[jasmine.any(Error)] [jasmine.any(Error)]
]); ]);
expect(logger.output.error[0][0].message).toEqual(`[DocViewer] Error preparing document 'foo': ${error.stack}`); expect(logger.output.error[0][0].message).toEqual(`[DocViewer] Error preparing document 'foo': ${error.stack}`);
expect(TestBed.get(Meta).addTag).toHaveBeenCalledWith({ name: 'robots', content: 'noindex' }); expect(TestBed.inject(Meta).addTag).toHaveBeenCalledWith({ name: 'robots', content: 'noindex' });
}); });
it('when `EmbedComponentsService.embedInto()` fails', async () => { it('when `EmbedComponentsService.embedInto()` fails', async () => {
@ -491,7 +493,7 @@ describe('DocViewerComponent', () => {
expect(logger.output.error).toEqual([ expect(logger.output.error).toEqual([
[jasmine.any(Error)] [jasmine.any(Error)]
]); ]);
expect(TestBed.get(Meta).addTag).toHaveBeenCalledWith({ name: 'robots', content: 'noindex' }); expect(TestBed.inject(Meta).addTag).toHaveBeenCalledWith({ name: 'robots', content: 'noindex' });
}); });
it('when `swapViews()` fails', async () => { it('when `swapViews()` fails', async () => {
@ -510,7 +512,7 @@ describe('DocViewerComponent', () => {
[jasmine.any(Error)] [jasmine.any(Error)]
]); ]);
expect(logger.output.error[0][0].message).toEqual(`[DocViewer] Error preparing document 'qux': ${error.stack}`); expect(logger.output.error[0][0].message).toEqual(`[DocViewer] Error preparing document 'qux': ${error.stack}`);
expect(TestBed.get(Meta).addTag).toHaveBeenCalledWith({ name: 'robots', content: 'noindex' }); expect(TestBed.inject(Meta).addTag).toHaveBeenCalledWith({ name: 'robots', content: 'noindex' });
}); });
it('when something fails with non-Error', async () => { it('when something fails with non-Error', async () => {
@ -528,7 +530,7 @@ describe('DocViewerComponent', () => {
[jasmine.any(Error)] [jasmine.any(Error)]
]); ]);
expect(logger.output.error[0][0].message).toEqual(`[DocViewer] Error preparing document 'qux': ${error}`); expect(logger.output.error[0][0].message).toEqual(`[DocViewer] Error preparing document 'qux': ${error}`);
expect(TestBed.get(Meta).addTag).toHaveBeenCalledWith({ name: 'robots', content: 'noindex' }); expect(TestBed.inject(Meta).addTag).toHaveBeenCalledWith({ name: 'robots', content: 'noindex' });
}); });
}); });

View File

@ -92,7 +92,7 @@ describe('NotificationComponent', () => {
it('should update localStorage key when dismiss is called', () => { it('should update localStorage key when dismiss is called', () => {
configTestingModule(); configTestingModule();
createComponent(); createComponent();
const setItemSpy: jasmine.Spy = TestBed.get(WindowToken).localStorage.setItem; const setItemSpy: jasmine.Spy = (TestBed.inject(WindowToken) as MockWindow).localStorage.setItem;
component.dismiss(); component.dismiss();
expect(setItemSpy).toHaveBeenCalledWith('aio-notification/survey-january-2018', 'hide'); expect(setItemSpy).toHaveBeenCalledWith('aio-notification/survey-january-2018', 'hide');
}); });
@ -105,7 +105,7 @@ describe('NotificationComponent', () => {
it('should not show the notification if the there is a "hide" flag in localStorage', () => { it('should not show the notification if the there is a "hide" flag in localStorage', () => {
configTestingModule(); configTestingModule();
const getItemSpy: jasmine.Spy = TestBed.get(WindowToken).localStorage.getItem; const getItemSpy: jasmine.Spy = (TestBed.inject(WindowToken) as MockWindow).localStorage.getItem;
getItemSpy.and.returnValue('hide'); getItemSpy.and.returnValue('hide');
createComponent(); createComponent();
expect(getItemSpy).toHaveBeenCalledWith('aio-notification/survey-january-2018'); expect(getItemSpy).toHaveBeenCalledWith('aio-notification/survey-january-2018');

View File

@ -1,4 +1,4 @@
import { InjectionToken } from '@angular/core'; import { InjectionToken } from '@angular/core';
export const WindowToken = new InjectionToken('Window'); export const WindowToken = new InjectionToken<Window>('Window');
export function windowProvider() { return window; } export function windowProvider() { return window; }

View File

@ -103,10 +103,10 @@
"@angular-devkit/core" "8.1.0-beta.2" "@angular-devkit/core" "8.1.0-beta.2"
rxjs "6.4.0" rxjs "6.4.0"
"@angular/animations@^8.1.0-next.1": "@angular/animations@^9.0.0-next.5":
version "8.1.0-next.1" version "9.0.0-next.5"
resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-8.1.0-next.1.tgz#6c79ac16b7da239b7823259994d2b379d883dd68" resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-9.0.0-next.5.tgz#8cce8daa3691ce27748e8b6af1a617362dc5b7e7"
integrity sha512-drwdK7ARU41hGj6JebO7gF0MeeNz3qSMoPs8zRqjC3sfWZ4Jp9eNlfTf1b86gd6w9GMeOna/JjwxUeNEmxdLBw== integrity sha512-2MgAbHDX7bxdF+2xgav/2c3hWfWhVWsh5Ts5GYXjDjCPC/WAGy6Knw+t8MaUzh7Mym0JXB6kENZM7Ux+a3vzJw==
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
@ -142,17 +142,17 @@
universal-analytics "^0.4.20" universal-analytics "^0.4.20"
uuid "^3.3.2" uuid "^3.3.2"
"@angular/common@^8.1.0-next.1": "@angular/common@^9.0.0-next.5":
version "8.1.0-next.1" version "9.0.0-next.5"
resolved "https://registry.yarnpkg.com/@angular/common/-/common-8.1.0-next.1.tgz#2b6674ad46c13d0e24fedb6f239d338448ca72b0" resolved "https://registry.yarnpkg.com/@angular/common/-/common-9.0.0-next.5.tgz#3e9929135734ba821ba87ea5395f4d07d6876348"
integrity sha512-sHzv1QIt2g6stXVqIiHpR2yk8goA3nek1FohUWz4H9mE24Knb4qSNvn25wztYdH5n5WPY+jyHyhWrqoXtrPvuQ== integrity sha512-f7JCYxTYxXEXuq+2qOgThU/C243Jt2SsB1z3xseYyocoFqB70S3Wd7HpCdeP9XzgfeMAXVkUZO/lYzZCedhN3g==
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
"@angular/compiler-cli@^8.1.0-next.1": "@angular/compiler-cli@^9.0.0-next.5":
version "8.1.0-next.1" version "9.0.0-next.5"
resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-8.1.0-next.1.tgz#27047724d40a40b172497a0ebc40846a16bc481b" resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-9.0.0-next.5.tgz#9c7bcdfe08fa078ac0df092dd3724e97b49ca985"
integrity sha512-pJ5s5cEh/cXasMwUzJLwypoSaDzmAV6tfOKhm3bN6dfSh1bS8jliElIwxgPkqlUv9zo4Io/RZD4KgvwBzD7WSw== integrity sha512-2FIvp6bIV/gBi5o17MARNoMYcljLjbkh5Az238O3KSaO9BB5wRt/eq749R/ZepizBlyYtXhCFLmLh84bsBZzPQ==
dependencies: dependencies:
canonical-path "1.0.0" canonical-path "1.0.0"
chokidar "^2.1.1" chokidar "^2.1.1"
@ -161,43 +161,42 @@
magic-string "^0.25.0" magic-string "^0.25.0"
minimist "^1.2.0" minimist "^1.2.0"
reflect-metadata "^0.1.2" reflect-metadata "^0.1.2"
shelljs "^0.8.1"
source-map "^0.6.1" source-map "^0.6.1"
tslib "^1.9.0" tslib "^1.9.0"
yargs "13.1.0" yargs "13.1.0"
"@angular/compiler@^8.1.0-next.1": "@angular/compiler@^9.0.0-next.5":
version "8.1.0-next.1" version "9.0.0-next.5"
resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-8.1.0-next.1.tgz#e0dadb973b15497d9afccccd1e56ae36c3a32014" resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-9.0.0-next.5.tgz#0cb658641a3347e5d311d5816cc7f444205de64d"
integrity sha512-3Qh4cSEPX3C2c+J9xea0CNnoy/UqtCqHzVuslfCdTRrgdCYx2xxcHvmwZHccDyTCTW8bX7C4jjr0Gf1w1lANlg== integrity sha512-l22sdTaJqhZQ6VFTU8TgjvlYyT1xTcvtVhCV6cKypJRk1HnIyNxkm1Lh2LR6NJe3/a4fvB7kDxbpFuOVoUYxJg==
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
"@angular/core@^8.1.0-next.1": "@angular/core@^9.0.0-next.5":
version "8.1.0-next.1" version "9.0.0-next.5"
resolved "https://registry.yarnpkg.com/@angular/core/-/core-8.1.0-next.1.tgz#ff8c51089a46e5fdaaa77bb65efb1b07aee47d68" resolved "https://registry.yarnpkg.com/@angular/core/-/core-9.0.0-next.5.tgz#3444ee6ebc552c2c72dad1ac03a0d5eb03cb4607"
integrity sha512-i26/UkfTOd+nZuPbUOgGHGSWwl1fghUlLwQHvDqtdMC2VANQOjEyQZrcNHP+N7ZumVdcfxDAisFOMWgnwFzVcw== integrity sha512-UmIoohI8ywOq7YEdwIMERaGwsyRtX6dJ9HjnPK6Qs05rlUaHTmKZOOoX3W2lmdAzxAqrKMeAXIDGT7v3vjWVuA==
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
"@angular/elements@^8.1.0-next.1": "@angular/elements@^9.0.0-next.5":
version "8.1.0-next.1" version "9.0.0-next.5"
resolved "https://registry.yarnpkg.com/@angular/elements/-/elements-8.1.0-next.1.tgz#dbe64cc671bf94cafbad4225905f287cdb37ea01" resolved "https://registry.yarnpkg.com/@angular/elements/-/elements-9.0.0-next.5.tgz#f37f4ca09d37a2d50826ddd36b010f033c328f9e"
integrity sha512-exxENgFIgUlKJcCrj0LyiAYPUhu5wNk5XfRCVXxoNIGXgsMtrKGXX5HYrZyRtKJhCwyvkuLg7IjdBzD9KoThrw== integrity sha512-FkShpGYoMOIrEh24+trDaUkh+gNQG4G6FVIG7RVblLAIuYPfX/ocrelQrDyacmQP6nZk6v4sEQEnmP3lnqceHw==
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
"@angular/forms@^8.1.0-next.1": "@angular/forms@^9.0.0-next.5":
version "8.1.0-next.1" version "9.0.0-next.5"
resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-8.1.0-next.1.tgz#5cfee3f7e9ad8add06fe25419b06c8a7f8b9f72d" resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-9.0.0-next.5.tgz#fe3bb1cd517e4d9d22b452219e4989bfd1a6de0a"
integrity sha512-NRiiV06FoMXU99eKv8poKEp1+VQntZnD8ADv4Z9YcU6XhngO09c0K/jmHABGh6oym+GtF2gRocTZ65a2FeUeDw== integrity sha512-KMd4DqflszrGa3kwjIi8mSkJVVTh0G3M99J33bhw4sbziUJ1Bc8is3SCn1u2J4GLWe1Tm8Oi6sEUGcVljv2VKA==
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
"@angular/language-service@^8.1.0-next.1": "@angular/language-service@^9.0.0-next.5":
version "8.1.0-next.1" version "9.0.0-next.5"
resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-8.1.0-next.1.tgz#35b72dd320b46abe631f209759e5c939d8b2b725" resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-9.0.0-next.5.tgz#bb8c991601f1a5c590fe9fdd64120555420008f8"
integrity sha512-LlpStVhf4GEazD6/6i8DftNndEkrBoTxd6Bi5kFHrDmJB+cT5evVZHomXJcwHjZx31gpcLAot6lr7WCRkmbD0g== integrity sha512-6GgqhzsRTRAgQS1jt2BpYq3EOjfJTCo/eZJzg0BuxZRs6Vm1u4ytp4fQbNEMwT5zEMNoPgF8hfkJKKT+m2XW5w==
"@angular/material@8.0.0": "@angular/material@8.0.0":
version "8.0.0" version "8.0.0"
@ -206,31 +205,31 @@
dependencies: dependencies:
tslib "^1.7.1" tslib "^1.7.1"
"@angular/platform-browser-dynamic@^8.1.0-next.1": "@angular/platform-browser-dynamic@^9.0.0-next.5":
version "8.1.0-next.1" version "9.0.0-next.5"
resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-8.1.0-next.1.tgz#6e927d97583ec2bb9a9803c0f5003ef41fc39d9e" resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.0-next.5.tgz#694056484a7c81b010c7cf8c8892bd2a90815863"
integrity sha512-BDeLlzpg7T2nv3Y6ywQAW+cBAgbSQUku7W1p71vFGqE8p4c79HmKbykGSR1/n7Sez8LV+N1LpliCrNQEgGtBaA== integrity sha512-8SzMv2sIDfcRKEK4YkymNzd0mGFYtFIGKiduHvTmFUu2UCWV/gzGJxvr5YoiP/rs65RLbyfGmfaVzCxT24iolw==
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
"@angular/platform-browser@^8.1.0-next.1": "@angular/platform-browser@^9.0.0-next.5":
version "8.1.0-next.1" version "9.0.0-next.5"
resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-8.1.0-next.1.tgz#0cf2b04437d190687d7efbaa6b7e9be5f5a076e2" resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-9.0.0-next.5.tgz#61158b4aa3e00e701af77dc3d40fdaf2f38be1ac"
integrity sha512-EkDgr1wWW2eAd542k46JKb9jIr50M5eiq49QjDVmnjXCS1WNIyiW1TxTpyOiDNz8nK0jHYTzEw+PWEyvmwJV8Q== integrity sha512-meGVirDpVDXVNaFjOHalMT5i/3CJR+0JyFvbhDYpgGTBKMS3pLACmexOKJaS6jH1kS/3fch584iqS5x3WFzkzg==
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
"@angular/router@^8.1.0-next.1": "@angular/router@^9.0.0-next.5":
version "8.1.0-next.1" version "9.0.0-next.5"
resolved "https://registry.yarnpkg.com/@angular/router/-/router-8.1.0-next.1.tgz#b957531748e153ddafb666fd8cd68546a7508e54" resolved "https://registry.yarnpkg.com/@angular/router/-/router-9.0.0-next.5.tgz#bca260142e2f16f2f8a024efc1e818729df5e899"
integrity sha512-balgDD3IlsnWs+WWuSAQn3oXULbh44oklqBQgDAl8CX94ki0jDCeVFob57cCflqRx7WjtxB053X9keg6EA2YtA== integrity sha512-EpfwZWv5x6lG6BAjyoXs7gAfgghbWcPOrLTsEfcTIfyU8AHIgEqu1h5O2qfqQjmUNhhOXp3hxV98xF5ap5YyZQ==
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
"@angular/service-worker@^8.1.0-next.1": "@angular/service-worker@^9.0.0-next.5":
version "8.1.0-next.1" version "9.0.0-next.5"
resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-8.1.0-next.1.tgz#bf00349b1993a6ecda07b9c08920b16aae176950" resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-9.0.0-next.5.tgz#7f287024692a8502c73074515c24e583f697722a"
integrity sha512-lctU2Dq96ovsFU/e7vIKUUvg+k5H2w+RHOx8ARlgraCU3T5fYyriQvZ9GH7y86fkAFtSrQ6MX0+pnY5dFUUZ1Q== integrity sha512-DzCf2wDpmGpmOHru8D1QqV5iTT1tCTZ/fj/24etOC10lPtSWl87wfY8YcAzQZ+MFa6pvk67U/5KC/VtmzYgd/g==
dependencies: dependencies:
tslib "^1.9.0" tslib "^1.9.0"
@ -9507,15 +9506,6 @@ shelljs@^0.7.0, shelljs@^0.7.5, shelljs@^0.7.7:
interpret "^1.0.0" interpret "^1.0.0"
rechoir "^0.6.2" rechoir "^0.6.2"
shelljs@^0.8.1:
version "0.8.3"
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.3.tgz#a7f3319520ebf09ee81275b2368adb286659b097"
integrity sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==
dependencies:
glob "^7.0.0"
interpret "^1.0.0"
rechoir "^0.6.2"
signal-exit@^3.0.0, signal-exit@^3.0.2: signal-exit@^3.0.0, signal-exit@^3.0.2:
version "3.0.2" version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"

View File

@ -1318,7 +1318,7 @@ export class TransitionAnimationEngine {
const previousPlayers = this._getPreviousPlayers( const previousPlayers = this._getPreviousPlayers(
element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState); element, isQueriedElement, targetNameSpaceId, targetTriggerName, instruction.toState);
previousPlayers.forEach(player => { previousPlayers.forEach(player => {
const realPlayer = player.getRealPlayer() as any; const realPlayer = (player as TransitionAnimationPlayer).getRealPlayer() as any;
if (realPlayer.beforeDestroy) { if (realPlayer.beforeDestroy) {
realPlayer.beforeDestroy(); realPlayer.beforeDestroy();
} }

View File

@ -12,7 +12,7 @@ import {buildAnimationAst} from '../../src/dsl/animation_ast_builder';
import {buildTrigger} from '../../src/dsl/animation_trigger'; import {buildTrigger} from '../../src/dsl/animation_trigger';
import {AnimationStyleNormalizer, NoopAnimationStyleNormalizer} from '../../src/dsl/style_normalization/animation_style_normalizer'; import {AnimationStyleNormalizer, NoopAnimationStyleNormalizer} from '../../src/dsl/style_normalization/animation_style_normalizer';
import {getBodyNode} from '../../src/render/shared'; import {getBodyNode} from '../../src/render/shared';
import {TransitionAnimationEngine} from '../../src/render/transition_animation_engine'; import {TransitionAnimationEngine, TransitionAnimationPlayer} from '../../src/render/transition_animation_engine';
import {MockAnimationDriver, MockAnimationPlayer} from '../../testing/src/mock_animation_driver'; import {MockAnimationDriver, MockAnimationPlayer} from '../../testing/src/mock_animation_driver';
const DEFAULT_NAMESPACE_ID = 'id'; const DEFAULT_NAMESPACE_ID = 'id';
@ -127,7 +127,9 @@ const DEFAULT_NAMESPACE_ID = 'id';
registerTrigger(element, engine, trig); registerTrigger(element, engine, trig);
setProperty(element, engine, 'myTrigger', 'value'); setProperty(element, engine, 'myTrigger', 'value');
engine.flush(); engine.flush();
expect((engine.players[0].getRealPlayer() as MockAnimationPlayer).duration) expect(((engine.players[0] as TransitionAnimationPlayer)
.getRealPlayer() as MockAnimationPlayer)
.duration)
.toEqual(1234); .toEqual(1234);
engine.destroy(DEFAULT_NAMESPACE_ID, null); engine.destroy(DEFAULT_NAMESPACE_ID, null);
@ -135,7 +137,9 @@ const DEFAULT_NAMESPACE_ID = 'id';
registerTrigger(element, engine, trig); registerTrigger(element, engine, trig);
setProperty(element, engine, 'myTrigger', 'value2'); setProperty(element, engine, 'myTrigger', 'value2');
engine.flush(); engine.flush();
expect((engine.players[0].getRealPlayer() as MockAnimationPlayer).duration) expect(((engine.players[0] as TransitionAnimationPlayer)
.getRealPlayer() as MockAnimationPlayer)
.duration)
.toEqual(1234); .toEqual(1234);
}); });
}); });

View File

@ -145,7 +145,7 @@ describe('insert/remove', () => {
})); }));
it('should resolve components from other modules, if supplied', async(() => { it('should resolve components from other modules, if supplied', async(() => {
const compiler = TestBed.get(Compiler) as Compiler; const compiler = TestBed.inject(Compiler);
let fixture = TestBed.createComponent(TestComponent); let fixture = TestBed.createComponent(TestComponent);
fixture.detectChanges(); fixture.detectChanges();
@ -160,7 +160,7 @@ describe('insert/remove', () => {
it('should clean up moduleRef, if supplied', async(() => { it('should clean up moduleRef, if supplied', async(() => {
let destroyed = false; let destroyed = false;
const compiler = TestBed.get(Compiler) as Compiler; const compiler = TestBed.inject(Compiler);
const fixture = TestBed.createComponent(TestComponent); const fixture = TestBed.createComponent(TestComponent);
fixture.componentInstance.module = compiler.compileModuleSync(TestModule2); fixture.componentInstance.module = compiler.compileModuleSync(TestModule2);
fixture.componentInstance.currentComponent = Module2InjectedComponent; fixture.componentInstance.currentComponent = Module2InjectedComponent;
@ -175,7 +175,7 @@ describe('insert/remove', () => {
})); }));
it('should not re-create moduleRef when it didn\'t actually change', async(() => { it('should not re-create moduleRef when it didn\'t actually change', async(() => {
const compiler = TestBed.get(Compiler) as Compiler; const compiler = TestBed.inject(Compiler);
const fixture = TestBed.createComponent(TestComponent); const fixture = TestBed.createComponent(TestComponent);
fixture.componentInstance.module = compiler.compileModuleSync(TestModule2); fixture.componentInstance.module = compiler.compileModuleSync(TestModule2);
@ -192,7 +192,7 @@ describe('insert/remove', () => {
})); }));
it('should re-create moduleRef when changed', async(() => { it('should re-create moduleRef when changed', async(() => {
const compiler = TestBed.get(Compiler) as Compiler; const compiler = TestBed.inject(Compiler);
const fixture = TestBed.createComponent(TestComponent); const fixture = TestBed.createComponent(TestComponent);
fixture.componentInstance.module = compiler.compileModuleSync(TestModule2); fixture.componentInstance.module = compiler.compileModuleSync(TestModule2);
fixture.componentInstance.currentComponent = Module2InjectedComponent; fixture.componentInstance.currentComponent = Module2InjectedComponent;

View File

@ -75,7 +75,7 @@ describe('LocationProvider', () => {
providers: [UpgradeModule], providers: [UpgradeModule],
}); });
upgradeModule = TestBed.get(UpgradeModule); upgradeModule = TestBed.inject(UpgradeModule);
upgradeModule.$injector = {get: injectorFactory()}; upgradeModule.$injector = {get: injectorFactory()};
}); });
@ -101,7 +101,7 @@ describe('LocationHtml5Url', function() {
providers: [UpgradeModule], providers: [UpgradeModule],
}); });
upgradeModule = TestBed.get(UpgradeModule); upgradeModule = TestBed.inject(UpgradeModule);
upgradeModule.$injector = {get: injectorFactory()}; upgradeModule.$injector = {get: injectorFactory()};
}); });
@ -176,7 +176,7 @@ describe('NewUrl', function() {
providers: [UpgradeModule], providers: [UpgradeModule],
}); });
upgradeModule = TestBed.get(UpgradeModule); upgradeModule = TestBed.inject(UpgradeModule);
upgradeModule.$injector = {get: injectorFactory()}; upgradeModule.$injector = {get: injectorFactory()};
}); });
@ -482,7 +482,7 @@ describe('New URL Parsing', () => {
providers: [UpgradeModule], providers: [UpgradeModule],
}); });
upgradeModule = TestBed.get(UpgradeModule); upgradeModule = TestBed.inject(UpgradeModule);
upgradeModule.$injector = {get: injectorFactory()}; upgradeModule.$injector = {get: injectorFactory()};
}); });
@ -512,7 +512,7 @@ describe('New URL Parsing', () => {
providers: [UpgradeModule], providers: [UpgradeModule],
}); });
upgradeModule = TestBed.get(UpgradeModule); upgradeModule = TestBed.inject(UpgradeModule);
upgradeModule.$injector = {get: injectorFactory()}; upgradeModule.$injector = {get: injectorFactory()};
}); });
@ -639,7 +639,7 @@ describe('$location.onChange()', () => {
providers: [UpgradeModule], providers: [UpgradeModule],
}); });
upgradeModule = TestBed.get(UpgradeModule); upgradeModule = TestBed.inject(UpgradeModule);
upgradeModule.$injector = {get: injectorFactory()}; upgradeModule.$injector = {get: injectorFactory()};
mock$rootScope = upgradeModule.$injector.get('$rootScope'); mock$rootScope = upgradeModule.$injector.get('$rootScope');
}); });

View File

@ -100,7 +100,7 @@ describe('ngInjectableDef Bazel Integration', () => {
TestBed.configureTestingModule({}); TestBed.configureTestingModule({});
TestBed.overrideProvider(Service, {useValue: new Service('overridden')}); TestBed.overrideProvider(Service, {useValue: new Service('overridden')});
expect(TestBed.get(Service).value).toEqual('overridden'); expect(TestBed.inject(Service).value).toEqual('overridden');
}); });
it('allows provider override in JIT for module-scoped @Injectables', () => { it('allows provider override in JIT for module-scoped @Injectables', () => {
@ -122,7 +122,7 @@ describe('ngInjectableDef Bazel Integration', () => {
}); });
TestBed.overrideProvider(Service, {useValue: new Service('overridden')}); TestBed.overrideProvider(Service, {useValue: new Service('overridden')});
expect(TestBed.get(Service).value).toEqual('overridden'); expect(TestBed.inject(Service).value).toEqual('overridden');
}); });
it('does not override existing ngInjectableDef', () => { it('does not override existing ngInjectableDef', () => {
@ -140,7 +140,7 @@ describe('ngInjectableDef Bazel Integration', () => {
} }
TestBed.configureTestingModule({}); TestBed.configureTestingModule({});
expect(TestBed.get(Service).value).toEqual(true); expect(TestBed.inject(Service).value).toEqual(true);
}); });
it('does not override existing ngInjectableDef in case of inheritance', () => { it('does not override existing ngInjectableDef in case of inheritance', () => {
@ -157,14 +157,14 @@ describe('ngInjectableDef Bazel Integration', () => {
TestBed.configureTestingModule({}); TestBed.configureTestingModule({});
// We are asserting that system throws an error, rather than taking the inherited annotation. // We are asserting that system throws an error, rather than taking the inherited annotation.
expect(() => TestBed.get(ChildService).value).toThrowError(/ChildService/); expect(() => TestBed.inject(ChildService).value).toThrowError(/ChildService/);
}); });
it('NgModule injector understands requests for INJECTABLE', () => { it('NgModule injector understands requests for INJECTABLE', () => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
providers: [{provide: 'foo', useValue: 'bar'}], providers: [{provide: 'foo', useValue: 'bar'}],
}); });
expect(TestBed.get(INJECTOR).get('foo')).toEqual('bar'); expect(TestBed.inject(INJECTOR).get('foo')).toEqual('bar');
}); });
it('Component injector understands requests for INJECTABLE', () => { it('Component injector understands requests for INJECTABLE', () => {

View File

@ -44,7 +44,7 @@ describe('Jit Summaries', () => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
providers: [SomeService, SomeDep], providers: [SomeService, SomeDep],
}); });
TestBed.get(SomeService); TestBed.inject(SomeService);
expectInstanceCreated(SomeService); expectInstanceCreated(SomeService);
}); });
@ -70,4 +70,4 @@ describe('Jit Summaries', () => {
.createComponent(SomePrivateComponent); .createComponent(SomePrivateComponent);
expectInstanceCreated(SomePrivateComponent); expectInstanceCreated(SomePrivateComponent);
}); });
}); });

View File

@ -187,7 +187,7 @@ describe('attribute binding', () => {
// NOTE: different browsers will add `//` into the URI. // NOTE: different browsers will add `//` into the URI.
expect(a.href.indexOf('unsafe:')).toBe(0); expect(a.href.indexOf('unsafe:')).toBe(0);
const domSanitizer: DomSanitizer = TestBed.get(DomSanitizer); const domSanitizer: DomSanitizer = TestBed.inject(DomSanitizer);
fixture.componentInstance.badUrl = fixture.componentInstance.badUrl =
domSanitizer.bypassSecurityTrustUrl('javascript:alert("this is fine")'); domSanitizer.bypassSecurityTrustUrl('javascript:alert("this is fine")');
fixture.detectChanges(); fixture.detectChanges();

View File

@ -54,7 +54,7 @@ describe('di', () => {
] ]
}); });
expect(TestBed.get(testToken) as string[]).toEqual(['A', 'B', 'C']); expect(TestBed.inject(testToken)).toEqual(['A', 'B', 'C']);
}); });
}); });

View File

@ -132,7 +132,7 @@ describe('property bindings', () => {
expect(a.href.indexOf('unsafe:')).toBe(0); expect(a.href.indexOf('unsafe:')).toBe(0);
const domSanitzer: DomSanitizer = TestBed.get(DomSanitizer); const domSanitzer: DomSanitizer = TestBed.inject(DomSanitizer);
fixture.componentInstance.url = fixture.componentInstance.url =
domSanitzer.bypassSecurityTrustUrl('javascript:alert("the developer wanted this");'); domSanitzer.bypassSecurityTrustUrl('javascript:alert("the developer wanted this");');
fixture.detectChanges(); fixture.detectChanges();
@ -353,7 +353,7 @@ describe('property bindings', () => {
template: ` template: `
<button idDir [id]="id1">Click me</button> <button idDir [id]="id1">Click me</button>
<button *ngIf="condition" [id]="id2">Click me too (2)</button> <button *ngIf="condition" [id]="id2">Click me too (2)</button>
<button *ngIf="!condition" otherDir [id]="id3">Click me too (3)</button> <button *ngIf="!condition" otherDir [id]="id3">Click me too (3)</button>
` `
}) })
class App { class App {

View File

@ -53,7 +53,7 @@ describe('router integration acceptance', () => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [RootModule], imports: [RootModule],
}); });
expect((TestBed.get(Router) as Router).config.map(r => r.path)).toEqual([ expect((TestBed.inject(Router)).config.map(r => r.path)).toEqual([
'1a:1', '1a:1',
'1a:2', '1a:2',
'1b:1', '1b:1',

View File

@ -728,7 +728,7 @@ describe('new styling integration', () => {
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const sanitizer: DomSanitizer = TestBed.get(DomSanitizer); const sanitizer: DomSanitizer = TestBed.inject(DomSanitizer);
fixture.componentInstance.path = sanitizer.bypassSecurityTrustStyle('url("#test")'); fixture.componentInstance.path = sanitizer.bypassSecurityTrustStyle('url("#test")');
fixture.detectChanges(); fixture.detectChanges();

View File

@ -144,7 +144,7 @@ describe('styling', () => {
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const sanitizer: DomSanitizer = TestBed.get(DomSanitizer); const sanitizer: DomSanitizer = TestBed.inject(DomSanitizer);
fixture.componentInstance.image = sanitizer.bypassSecurityTrustStyle('url("#test")'); fixture.componentInstance.image = sanitizer.bypassSecurityTrustStyle('url("#test")');
fixture.detectChanges(); fixture.detectChanges();
@ -187,7 +187,7 @@ describe('styling', () => {
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const sanitizer: DomSanitizer = TestBed.get(DomSanitizer); const sanitizer: DomSanitizer = TestBed.inject(DomSanitizer);
fixture.componentInstance.path = sanitizer.bypassSecurityTrustStyle('url("#test")'); fixture.componentInstance.path = sanitizer.bypassSecurityTrustStyle('url("#test")');
fixture.detectChanges(); fixture.detectChanges();

View File

@ -590,7 +590,7 @@ describe('ViewContainerRef', () => {
beforeEach(() => { beforeEach(() => {
TestBed.configureTestingModule({declarations: [EmbeddedViewInsertionComp, VCRefDirective]}); TestBed.configureTestingModule({declarations: [EmbeddedViewInsertionComp, VCRefDirective]});
const _origRendererFactory = TestBed.get(RendererFactory2) as RendererFactory2; const _origRendererFactory = TestBed.inject(RendererFactory2);
const _origCreateRenderer = _origRendererFactory.createRenderer; const _origCreateRenderer = _origRendererFactory.createRenderer;
_origRendererFactory.createRenderer = function(element: any, type: RendererType2|null) { _origRendererFactory.createRenderer = function(element: any, type: RendererType2|null) {
@ -944,9 +944,9 @@ describe('ViewContainerRef', () => {
{provide: String, useValue: 'root_module'}, {provide: String, useValue: 'root_module'},
// We need to provide the following tokens because otherwise view engine // We need to provide the following tokens because otherwise view engine
// will throw when creating a component factory in debug mode. // will throw when creating a component factory in debug mode.
{provide: Sanitizer, useValue: TestBed.get(DomSanitizer)}, {provide: Sanitizer, useValue: TestBed.inject(DomSanitizer)},
{provide: ErrorHandler, useValue: TestBed.get(ErrorHandler)}, {provide: ErrorHandler, useValue: TestBed.inject(ErrorHandler)},
{provide: RendererFactory2, useValue: TestBed.get(RendererFactory2)}, {provide: RendererFactory2, useValue: TestBed.inject(RendererFactory2)},
] ]
}) })
class MyAppModule { class MyAppModule {
@ -958,7 +958,7 @@ describe('ViewContainerRef', () => {
// Compile test modules in order to be able to pass the NgModuleRef or the // Compile test modules in order to be able to pass the NgModuleRef or the
// module injector to the ViewContainerRef create component method. // module injector to the ViewContainerRef create component method.
const compiler = TestBed.get(Compiler) as Compiler; const compiler = TestBed.inject(Compiler);
const appModuleFactory = compiler.compileModuleSync(MyAppModule); const appModuleFactory = compiler.compileModuleSync(MyAppModule);
const someModuleFactory = compiler.compileModuleSync(SomeModule); const someModuleFactory = compiler.compileModuleSync(SomeModule);
const appModuleRef = appModuleFactory.create(null); const appModuleRef = appModuleFactory.create(null);

View File

@ -203,7 +203,7 @@ const DEFAULT_COMPONENT_ID = '1';
} }
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -243,7 +243,7 @@ const DEFAULT_COMPONENT_ID = '1';
declarations: [Cmp] declarations: [Cmp]
}); });
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -275,7 +275,7 @@ const DEFAULT_COMPONENT_ID = '1';
} }
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.exp = 'on'; cmp.exp = 'on';
@ -315,7 +315,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.exp = true; cmp.exp = true;
@ -437,7 +437,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.exp = 0; cmp.exp = 0;
@ -482,7 +482,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -554,7 +554,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
fixture.detectChanges(); fixture.detectChanges();
@ -591,7 +591,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -683,7 +683,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -735,7 +735,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -780,7 +780,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -835,7 +835,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
fixture.detectChanges(); fixture.detectChanges();
@ -878,7 +878,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]}); TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(ParentCmp); const fixture = TestBed.createComponent(ParentCmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
fixture.detectChanges(); fixture.detectChanges();
@ -928,7 +928,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]}); TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(ParentCmp); const fixture = TestBed.createComponent(ParentCmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
fixture.detectChanges(); fixture.detectChanges();
@ -984,7 +984,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]}); TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(ParentCmp); const fixture = TestBed.createComponent(ParentCmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
fixture.detectChanges(); fixture.detectChanges();
@ -1038,7 +1038,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]}); TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(ParentCmp); const fixture = TestBed.createComponent(ParentCmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
fixture.detectChanges(); fixture.detectChanges();
@ -1082,7 +1082,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]}); TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(ParentCmp); const fixture = TestBed.createComponent(ParentCmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
const element = fixture.nativeElement; const element = fixture.nativeElement;
@ -1135,7 +1135,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1198,7 +1198,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1280,7 +1280,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1333,7 +1333,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.exp = true; cmp.exp = true;
@ -1370,7 +1370,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.exp = true; cmp.exp = true;
@ -1404,7 +1404,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1438,13 +1438,13 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
fixture.detectChanges(); fixture.detectChanges();
engine.flush(); engine.flush();
const player = engine.players.pop(); const player = engine.players.pop() !;
player.finish(); player.finish();
expect(hasStyle(cmp.element.nativeElement, 'background-color', 'green')).toBeTruthy(); expect(hasStyle(cmp.element.nativeElement, 'background-color', 'green')).toBeTruthy();
@ -1581,7 +1581,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.exp = true; cmp.exp = true;
@ -1639,7 +1639,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.exp = 'go'; cmp.exp = 'go';
@ -1681,7 +1681,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1724,7 +1724,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1774,7 +1774,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine) as ɵAnimationEngine; const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1830,7 +1830,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1889,7 +1889,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1940,7 +1940,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1982,7 +1982,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -2027,7 +2027,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -2077,7 +2077,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -2131,7 +2131,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -2199,7 +2199,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -2274,7 +2274,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [OuterCmp, InnerCmp]}); TestBed.configureTestingModule({declarations: [OuterCmp, InnerCmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(OuterCmp); const fixture = TestBed.createComponent(OuterCmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
fixture.detectChanges(); fixture.detectChanges();
@ -2463,7 +2463,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.exp = 'true'; cmp.exp = 'true';
@ -2499,7 +2499,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -2509,7 +2509,7 @@ const DEFAULT_COMPONENT_ID = '1';
expect(cmp.event).toBeFalsy(); expect(cmp.event).toBeFalsy();
const player = engine.players.pop(); const player = engine.players.pop() !;
player.finish(); player.finish();
flushMicrotasks(); flushMicrotasks();
@ -2559,7 +2559,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -2621,7 +2621,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -2730,7 +2730,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.exp = 'TRUE'; cmp.exp = 'TRUE';
@ -2875,7 +2875,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.exp1 = 'go'; cmp.exp1 = 'go';
@ -2957,7 +2957,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.exp = 'go'; cmp.exp = 'go';
@ -3078,7 +3078,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
function assertHeight(element: any, height: string) { function assertHeight(element: any, height: string) {
expect(element.style['height']).toEqual(height); expect(element.style['height']).toEqual(height);
@ -3448,7 +3448,7 @@ const DEFAULT_COMPONENT_ID = '1';
} }
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.disableExp = true; cmp.disableExp = true;
@ -3607,7 +3607,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
fixture.detectChanges(); fixture.detectChanges();
@ -3688,7 +3688,7 @@ const DEFAULT_COMPONENT_ID = '1';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const runCD = () => fixture.detectChanges(); const runCD = () => fixture.detectChanges();

View File

@ -8,6 +8,7 @@
import {AUTO_STYLE, AnimationPlayer, animate, animateChild, group, query, sequence, stagger, state, style, transition, trigger, ɵAnimationGroupPlayer as AnimationGroupPlayer} from '@angular/animations'; import {AUTO_STYLE, AnimationPlayer, animate, animateChild, group, query, sequence, stagger, state, style, transition, trigger, ɵAnimationGroupPlayer as AnimationGroupPlayer} from '@angular/animations';
import {AnimationDriver, ɵAnimationEngine} from '@angular/animations/browser'; import {AnimationDriver, ɵAnimationEngine} from '@angular/animations/browser';
import {matchesElement} from '@angular/animations/browser/src/render/shared'; import {matchesElement} from '@angular/animations/browser/src/render/shared';
import {TransitionAnimationPlayer} from '@angular/animations/browser/src/render/transition_animation_engine';
import {ENTER_CLASSNAME, LEAVE_CLASSNAME} from '@angular/animations/browser/src/util'; import {ENTER_CLASSNAME, LEAVE_CLASSNAME} from '@angular/animations/browser/src/util';
import {MockAnimationDriver, MockAnimationPlayer} from '@angular/animations/browser/testing'; import {MockAnimationDriver, MockAnimationPlayer} from '@angular/animations/browser/testing';
import {CommonModule} from '@angular/common'; import {CommonModule} from '@angular/common';
@ -259,7 +260,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -337,7 +338,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -403,7 +404,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -483,7 +484,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -558,7 +559,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -610,7 +611,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -669,7 +670,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -722,7 +723,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -779,7 +780,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -831,7 +832,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -893,7 +894,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -939,7 +940,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -991,7 +992,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1053,7 +1054,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1134,7 +1135,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1208,7 +1209,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
fixture.detectChanges(); fixture.detectChanges();
@ -1287,7 +1288,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
fixture.detectChanges(); fixture.detectChanges();
@ -1355,7 +1356,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1408,7 +1409,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1471,7 +1472,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1541,7 +1542,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1596,7 +1597,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1855,7 +1856,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1915,7 +1916,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1985,7 +1986,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -2038,7 +2039,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -2108,7 +2109,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -2161,7 +2162,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -2213,7 +2214,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -2360,7 +2361,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]}); TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(ParentCmp); const fixture = TestBed.createComponent(ParentCmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -2481,7 +2482,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
const container = fixture.elementRef.nativeElement; const container = fixture.elementRef.nativeElement;
@ -2568,7 +2569,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.loading = true; cmp.loading = true;
@ -2665,7 +2666,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -2708,7 +2709,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]}); TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(ParentCmp); const fixture = TestBed.createComponent(ParentCmp);
fixture.detectChanges(); fixture.detectChanges();
engine.flush(); engine.flush();
@ -2728,7 +2729,7 @@ import {HostListener} from '../../src/metadata/directives';
expect(players.length).toEqual(2); expect(players.length).toEqual(2);
expect(engine.players.length).toEqual(1); expect(engine.players.length).toEqual(1);
expect(engine.players[0].getRealPlayer()).toBe(players[1]); expect((engine.players[0] as TransitionAnimationPlayer).getRealPlayer()).toBe(players[1]);
}); });
it('should fire and synchronize the start/done callbacks on sub triggers even if they are not allowed to animate within the animation', it('should fire and synchronize the start/done callbacks on sub triggers even if they are not allowed to animate within the animation',
@ -2793,7 +2794,7 @@ import {HostListener} from '../../src/metadata/directives';
} }
TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]}); TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(ParentCmp); const fixture = TestBed.createComponent(ParentCmp);
fixture.detectChanges(); fixture.detectChanges();
flushMicrotasks(); flushMicrotasks();
@ -2896,7 +2897,7 @@ import {HostListener} from '../../src/metadata/directives';
} }
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
fixture.detectChanges(); fixture.detectChanges();
flushMicrotasks(); flushMicrotasks();
@ -2952,7 +2953,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]}); TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(ParentCmp); const fixture = TestBed.createComponent(ParentCmp);
fixture.detectChanges(); fixture.detectChanges();
engine.flush(); engine.flush();
@ -2967,7 +2968,8 @@ import {HostListener} from '../../src/metadata/directives';
engine.flush(); engine.flush();
expect(engine.players.length).toEqual(1); // child player, parent cover, parent player expect(engine.players.length).toEqual(1); // child player, parent cover, parent player
const groupPlayer = engine.players[0].getRealPlayer() as AnimationGroupPlayer; const groupPlayer = (engine.players[0] as TransitionAnimationPlayer)
.getRealPlayer() as AnimationGroupPlayer;
const childPlayer = groupPlayer.players.find(player => { const childPlayer = groupPlayer.players.find(player => {
if (player instanceof MockAnimationPlayer) { if (player instanceof MockAnimationPlayer) {
return matchesElement(player.element, '.child'); return matchesElement(player.element, '.child');
@ -3044,7 +3046,7 @@ import {HostListener} from '../../src/metadata/directives';
TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp, GrandChildCmp]}); TestBed.configureTestingModule({declarations: [ParentCmp, ChildCmp, GrandChildCmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(ParentCmp); const fixture = TestBed.createComponent(ParentCmp);
fixture.detectChanges(); fixture.detectChanges();
engine.flush(); engine.flush();

View File

@ -7,6 +7,7 @@
*/ */
import {animate, animateChild, group, query, sequence, style, transition, trigger, ɵAnimationGroupPlayer as AnimationGroupPlayer} from '@angular/animations'; import {animate, animateChild, group, query, sequence, style, transition, trigger, ɵAnimationGroupPlayer as AnimationGroupPlayer} from '@angular/animations';
import {AnimationDriver, ɵAnimationEngine} from '@angular/animations/browser'; import {AnimationDriver, ɵAnimationEngine} from '@angular/animations/browser';
import {TransitionAnimationPlayer} from '@angular/animations/browser/src/render/transition_animation_engine';
import {MockAnimationDriver, MockAnimationPlayer} from '@angular/animations/browser/testing'; import {MockAnimationDriver, MockAnimationPlayer} from '@angular/animations/browser/testing';
import {Component, HostBinding} from '@angular/core'; import {Component, HostBinding} from '@angular/core';
import {TestBed, fakeAsync, flushMicrotasks, tick} from '@angular/core/testing'; import {TestBed, fakeAsync, flushMicrotasks, tick} from '@angular/core/testing';
@ -111,7 +112,7 @@ import {RouterTestingModule} from '@angular/router/testing';
])] ])]
}); });
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(ContainerCmp); const fixture = TestBed.createComponent(ContainerCmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.router.initialNavigation(); cmp.router.initialNavigation();
@ -130,7 +131,8 @@ import {RouterTestingModule} from '@angular/router/testing';
engine.flush(); engine.flush();
const player = engine.players[0] !; const player = engine.players[0] !;
const groupPlayer = player.getRealPlayer() as AnimationGroupPlayer; const groupPlayer =
(player as TransitionAnimationPlayer).getRealPlayer() as AnimationGroupPlayer;
const players = groupPlayer.players as MockAnimationPlayer[]; const players = groupPlayer.players as MockAnimationPlayer[];
expect(players.length).toEqual(2); expect(players.length).toEqual(2);
@ -218,7 +220,7 @@ import {RouterTestingModule} from '@angular/router/testing';
])] ])]
}); });
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(ContainerCmp); const fixture = TestBed.createComponent(ContainerCmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.router.initialNavigation(); cmp.router.initialNavigation();
@ -237,7 +239,8 @@ import {RouterTestingModule} from '@angular/router/testing';
engine.flush(); engine.flush();
const player = engine.players[0] !; const player = engine.players[0] !;
const groupPlayer = player.getRealPlayer() as AnimationGroupPlayer; const groupPlayer =
(player as TransitionAnimationPlayer).getRealPlayer() as AnimationGroupPlayer;
const players = groupPlayer.players as MockAnimationPlayer[]; const players = groupPlayer.players as MockAnimationPlayer[];
expect(players.length).toEqual(2); expect(players.length).toEqual(2);
@ -322,7 +325,7 @@ import {RouterTestingModule} from '@angular/router/testing';
])] ])]
}); });
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(ContainerCmp); const fixture = TestBed.createComponent(ContainerCmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.router.initialNavigation(); cmp.router.initialNavigation();
@ -341,7 +344,8 @@ import {RouterTestingModule} from '@angular/router/testing';
engine.flush(); engine.flush();
const player = engine.players[0] !; const player = engine.players[0] !;
const groupPlayer = player.getRealPlayer() as AnimationGroupPlayer; const groupPlayer =
(player as TransitionAnimationPlayer).getRealPlayer() as AnimationGroupPlayer;
const players = groupPlayer.players as MockAnimationPlayer[]; const players = groupPlayer.players as MockAnimationPlayer[];
expect(players.length).toEqual(2); expect(players.length).toEqual(2);
@ -413,7 +417,7 @@ import {RouterTestingModule} from '@angular/router/testing';
])] ])]
}); });
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(ContainerCmp); const fixture = TestBed.createComponent(ContainerCmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.router.initialNavigation(); cmp.router.initialNavigation();
@ -437,10 +441,11 @@ import {RouterTestingModule} from '@angular/router/testing';
expect(players.length).toEqual(1); expect(players.length).toEqual(1);
const [p1] = players; const [p1] = players;
const innerPlayers = p1.getRealPlayer().players; const innerPlayers =
((p1 as TransitionAnimationPlayer).getRealPlayer() as AnimationGroupPlayer).players;
expect(innerPlayers.length).toEqual(2); expect(innerPlayers.length).toEqual(2);
const [ip1, ip2] = innerPlayers; const [ip1, ip2] = innerPlayers as any;
expect(ip1.element.innerText).toEqual('page1'); expect(ip1.element.innerText).toEqual('page1');
expect(ip2.element.innerText).toEqual('page2'); expect(ip2.element.innerText).toEqual('page2');
})); }));

View File

@ -54,7 +54,7 @@ import {TestBed} from '../../testing';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(AnimationEngine); const engine = TestBed.inject(AnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -109,7 +109,7 @@ import {TestBed} from '../../testing';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(AnimationEngine); const engine = TestBed.inject(AnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -172,7 +172,7 @@ import {TestBed} from '../../testing';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(AnimationEngine); const engine = TestBed.inject(AnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -223,7 +223,7 @@ import {TestBed} from '../../testing';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(AnimationEngine); const engine = TestBed.inject(AnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -286,7 +286,7 @@ import {TestBed} from '../../testing';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(AnimationEngine); const engine = TestBed.inject(AnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -298,7 +298,7 @@ import {TestBed} from '../../testing';
expect(foo.style.getPropertyValue('max-height')).toEqual('0px'); expect(foo.style.getPropertyValue('max-height')).toEqual('0px');
const player = engine.players.pop(); const player = engine.players.pop() !;
player.finish(); player.finish();
expect(foo.style.getPropertyValue('max-height')).toBeFalsy(); expect(foo.style.getPropertyValue('max-height')).toBeFalsy();
@ -334,7 +334,7 @@ import {TestBed} from '../../testing';
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(AnimationEngine); const engine = TestBed.inject(AnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -348,7 +348,7 @@ import {TestBed} from '../../testing';
expect(elm.style.getPropertyValue('display')).toEqual('inline'); expect(elm.style.getPropertyValue('display')).toEqual('inline');
expect(elm.style.getPropertyValue('position')).toEqual('absolute'); expect(elm.style.getPropertyValue('position')).toEqual('absolute');
const player = engine.players.pop(); const player = engine.players.pop() !;
player.finish(); player.finish();
player.destroy(); player.destroy();

View File

@ -53,7 +53,7 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -61,7 +61,8 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
fixture.detectChanges(); fixture.detectChanges();
expect(engine.players.length).toEqual(1); expect(engine.players.length).toEqual(1);
let webPlayer = engine.players[0].getRealPlayer() as ɵWebAnimationsPlayer; let webPlayer =
(engine.players[0] as TransitionAnimationPlayer).getRealPlayer() as ɵWebAnimationsPlayer;
expect(webPlayer.keyframes).toEqual([ expect(webPlayer.keyframes).toEqual([
{height: '0px', offset: 0}, {height: '100px', offset: 1} {height: '0px', offset: 0}, {height: '100px', offset: 1}
@ -75,7 +76,8 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
engine.flush(); engine.flush();
expect(engine.players.length).toEqual(1); expect(engine.players.length).toEqual(1);
webPlayer = engine.players[0].getRealPlayer() as ɵWebAnimationsPlayer; webPlayer = (engine.players[0] as TransitionAnimationPlayer)
.getRealPlayer() as ɵWebAnimationsPlayer;
expect(webPlayer.keyframes).toEqual([ expect(webPlayer.keyframes).toEqual([
{height: '100px', offset: 0}, {height: '0px', offset: 1} {height: '100px', offset: 0}, {height: '0px', offset: 1}
@ -106,7 +108,7 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -115,7 +117,8 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
engine.flush(); engine.flush();
expect(engine.players.length).toEqual(1); expect(engine.players.length).toEqual(1);
let webPlayer = engine.players[0].getRealPlayer() as ɵWebAnimationsPlayer; let webPlayer =
(engine.players[0] as TransitionAnimationPlayer).getRealPlayer() as ɵWebAnimationsPlayer;
expect(webPlayer.keyframes).toEqual([ expect(webPlayer.keyframes).toEqual([
{height: '100px', offset: 0}, {height: '120px', offset: 1} {height: '100px', offset: 0}, {height: '120px', offset: 1}
@ -144,7 +147,7 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -154,7 +157,7 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
expect(engine.players.length).toEqual(1); expect(engine.players.length).toEqual(1);
let player = engine.players[0]; let player = engine.players[0];
let webPlayer = player.getRealPlayer() as ɵWebAnimationsPlayer; let webPlayer = (player as TransitionAnimationPlayer).getRealPlayer() as ɵWebAnimationsPlayer;
expect(webPlayer.keyframes).toEqual([ expect(webPlayer.keyframes).toEqual([
{height: '0px', offset: 0}, {height: '100px', offset: 1} {height: '0px', offset: 0}, {height: '100px', offset: 1}
@ -172,7 +175,7 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
expect(engine.players.length).toEqual(1); expect(engine.players.length).toEqual(1);
player = engine.players[0]; player = engine.players[0];
webPlayer = player.getRealPlayer() as ɵWebAnimationsPlayer; webPlayer = (player as TransitionAnimationPlayer).getRealPlayer() as ɵWebAnimationsPlayer;
expect(webPlayer.keyframes).toEqual([ expect(webPlayer.keyframes).toEqual([
{height: '100px', offset: 0}, {height: '80px', offset: 1} {height: '100px', offset: 0}, {height: '80px', offset: 1}
@ -215,7 +218,7 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -223,7 +226,7 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
fixture.detectChanges(); fixture.detectChanges();
let player = engine.players[0] !; let player = engine.players[0] !;
let webPlayer = player.getRealPlayer() as ɵWebAnimationsPlayer; let webPlayer = (player as TransitionAnimationPlayer).getRealPlayer() as ɵWebAnimationsPlayer;
expect(webPlayer.keyframes).toEqual([ expect(webPlayer.keyframes).toEqual([
{height: '0px', offset: 0}, {height: '0px', offset: 0},
{height: '300px', offset: 1}, {height: '300px', offset: 1},
@ -234,7 +237,7 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
fixture.detectChanges(); fixture.detectChanges();
player = engine.players[0] !; player = engine.players[0] !;
webPlayer = player.getRealPlayer() as ɵWebAnimationsPlayer; webPlayer = (player as TransitionAnimationPlayer).getRealPlayer() as ɵWebAnimationsPlayer;
expect(webPlayer.keyframes).toEqual([ expect(webPlayer.keyframes).toEqual([
{height: '300px', offset: 0}, {height: '300px', offset: 0},
{height: '0px', offset: 1}, {height: '0px', offset: 1},
@ -295,7 +298,7 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -308,7 +311,9 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
fixture.detectChanges(); fixture.detectChanges();
player = engine.players[0] !as TransitionAnimationPlayer; player = engine.players[0] !as TransitionAnimationPlayer;
let queriedPlayers = (player.getRealPlayer() as AnimationGroupPlayer).players; let queriedPlayers =
((player as TransitionAnimationPlayer).getRealPlayer() as AnimationGroupPlayer)
.players;
expect(queriedPlayers.length).toEqual(5); expect(queriedPlayers.length).toEqual(5);
let i = 0; let i = 0;
@ -325,7 +330,9 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
fixture.detectChanges(); fixture.detectChanges();
player = engine.players[0] !as TransitionAnimationPlayer; player = engine.players[0] !as TransitionAnimationPlayer;
queriedPlayers = (player.getRealPlayer() as AnimationGroupPlayer).players; queriedPlayers =
((player as TransitionAnimationPlayer).getRealPlayer() as AnimationGroupPlayer)
.players;
expect(queriedPlayers.length).toEqual(5); expect(queriedPlayers.length).toEqual(5);
for (i = 0; i < queriedPlayers.length; i++) { for (i = 0; i < queriedPlayers.length; i++) {
@ -364,7 +371,7 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -372,14 +379,14 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
fixture.detectChanges(); fixture.detectChanges();
let player = engine.players[0] !; let player = engine.players[0] !;
let webPlayer = player.getRealPlayer() as ɵWebAnimationsPlayer; let webPlayer = (player as TransitionAnimationPlayer).getRealPlayer() as ɵWebAnimationsPlayer;
webPlayer.setPosition(0.5); webPlayer.setPosition(0.5);
cmp.exp = 'b'; cmp.exp = 'b';
fixture.detectChanges(); fixture.detectChanges();
player = engine.players[0] !; player = engine.players[0] !;
webPlayer = player.getRealPlayer() as ɵWebAnimationsPlayer; webPlayer = (player as TransitionAnimationPlayer).getRealPlayer() as ɵWebAnimationsPlayer;
expect(approximate(parseFloat(webPlayer.keyframes[0]['width'] as string), 150)) expect(approximate(parseFloat(webPlayer.keyframes[0]['width'] as string), 150))
.toBeLessThan(0.05); .toBeLessThan(0.05);
expect(approximate(parseFloat(webPlayer.keyframes[0]['height'] as string), 300)) expect(approximate(parseFloat(webPlayer.keyframes[0]['height'] as string), 300))
@ -419,7 +426,7 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -428,7 +435,8 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
fixture.detectChanges(); fixture.detectChanges();
let player = engine.players[0] !; let player = engine.players[0] !;
let groupPlayer = player.getRealPlayer() as AnimationGroupPlayer; let groupPlayer =
(player as TransitionAnimationPlayer).getRealPlayer() as AnimationGroupPlayer;
let players = groupPlayer.players; let players = groupPlayer.players;
expect(players.length).toEqual(5); expect(players.length).toEqual(5);
@ -442,7 +450,8 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
fixture.detectChanges(); fixture.detectChanges();
player = engine.players[0]; player = engine.players[0];
groupPlayer = player.getRealPlayer() as AnimationGroupPlayer; groupPlayer =
(player as TransitionAnimationPlayer).getRealPlayer() as AnimationGroupPlayer;
players = groupPlayer.players; players = groupPlayer.players;
expect(players.length).toEqual(5); expect(players.length).toEqual(5);
@ -485,7 +494,7 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -499,7 +508,7 @@ import {browserDetection} from '@angular/platform-browser/testing/src/browser_ut
expect(elm.style.getPropertyValue('display')).toEqual('inline'); expect(elm.style.getPropertyValue('display')).toEqual('inline');
expect(elm.style.getPropertyValue('position')).toEqual('absolute'); expect(elm.style.getPropertyValue('position')).toEqual('absolute');
const player = engine.players.pop(); const player = engine.players.pop() !;
player.finish(); player.finish();
player.destroy(); player.destroy();

View File

@ -32,7 +32,7 @@ class SomeComponent {
beforeEach(() => { mockConsole = new MockConsole(); }); beforeEach(() => { mockConsole = new MockConsole(); });
function createRootEl(selector = 'bootstrap-app') { function createRootEl(selector = 'bootstrap-app') {
const doc = TestBed.get(DOCUMENT); const doc = TestBed.inject(DOCUMENT);
const rootEl = const rootEl =
<HTMLElement>getContent(createTemplate(`<${selector}></${selector}>`)).firstChild; <HTMLElement>getContent(createTemplate(`<${selector}></${selector}>`)).firstChild;
const oldRoots = doc.querySelectorAll(selector); const oldRoots = doc.querySelectorAll(selector);
@ -160,7 +160,7 @@ class SomeComponent {
const fixture = TestBed.configureTestingModule({declarations: [ReenteringComponent]}) const fixture = TestBed.configureTestingModule({declarations: [ReenteringComponent]})
.createComponent(ReenteringComponent); .createComponent(ReenteringComponent);
const appRef = TestBed.get(ApplicationRef) as ApplicationRef; const appRef = TestBed.inject(ApplicationRef);
appRef.attachView(fixture.componentRef.hostView); appRef.attachView(fixture.componentRef.hostView);
appRef.tick(); appRef.tick();
expect(fixture.componentInstance.reenterErr.message) expect(fixture.componentInstance.reenterErr.message)
@ -437,7 +437,7 @@ class SomeComponent {
it('should dirty check attached views', () => { it('should dirty check attached views', () => {
const comp = TestBed.createComponent(MyComp); const comp = TestBed.createComponent(MyComp);
const appRef: ApplicationRef = TestBed.get(ApplicationRef); const appRef: ApplicationRef = TestBed.inject(ApplicationRef);
expect(appRef.viewCount).toBe(0); expect(appRef.viewCount).toBe(0);
appRef.tick(); appRef.tick();
@ -451,7 +451,7 @@ class SomeComponent {
it('should not dirty check detached views', () => { it('should not dirty check detached views', () => {
const comp = TestBed.createComponent(MyComp); const comp = TestBed.createComponent(MyComp);
const appRef: ApplicationRef = TestBed.get(ApplicationRef); const appRef: ApplicationRef = TestBed.inject(ApplicationRef);
appRef.attachView(comp.componentRef.hostView); appRef.attachView(comp.componentRef.hostView);
appRef.tick(); appRef.tick();
@ -466,7 +466,7 @@ class SomeComponent {
it('should detach attached views if they are destroyed', () => { it('should detach attached views if they are destroyed', () => {
const comp = TestBed.createComponent(MyComp); const comp = TestBed.createComponent(MyComp);
const appRef: ApplicationRef = TestBed.get(ApplicationRef); const appRef: ApplicationRef = TestBed.inject(ApplicationRef);
appRef.attachView(comp.componentRef.hostView); appRef.attachView(comp.componentRef.hostView);
comp.destroy(); comp.destroy();
@ -476,7 +476,7 @@ class SomeComponent {
it('should detach attached embedded views if they are destroyed', () => { it('should detach attached embedded views if they are destroyed', () => {
const comp = TestBed.createComponent(EmbeddedViewComp); const comp = TestBed.createComponent(EmbeddedViewComp);
const appRef: ApplicationRef = TestBed.get(ApplicationRef); const appRef: ApplicationRef = TestBed.inject(ApplicationRef);
const embeddedViewRef = comp.componentInstance.tplRef.createEmbeddedView({}); const embeddedViewRef = comp.componentInstance.tplRef.createEmbeddedView({});
@ -494,7 +494,7 @@ class SomeComponent {
const containerComp = TestBed.createComponent(ContainerComp); const containerComp = TestBed.createComponent(ContainerComp);
containerComp.detectChanges(); containerComp.detectChanges();
const vc = containerComp.componentInstance.vc; const vc = containerComp.componentInstance.vc;
const appRef: ApplicationRef = TestBed.get(ApplicationRef); const appRef: ApplicationRef = TestBed.inject(ApplicationRef);
vc.insert(hostView); vc.insert(hostView);
expect(() => appRef.attachView(hostView)) expect(() => appRef.attachView(hostView))
@ -578,8 +578,8 @@ class SomeComponent {
function expectStableTexts(component: Type<any>, expected: string[]) { function expectStableTexts(component: Type<any>, expected: string[]) {
const fixture = TestBed.createComponent(component); const fixture = TestBed.createComponent(component);
const appRef: ApplicationRef = TestBed.get(ApplicationRef); const appRef: ApplicationRef = TestBed.inject(ApplicationRef);
const zone: NgZone = TestBed.get(NgZone); const zone: NgZone = TestBed.inject(NgZone);
appRef.attachView(fixture.componentRef.hostView); appRef.attachView(fixture.componentRef.hostView);
zone.run(() => appRef.tick()); zone.run(() => appRef.tick());
@ -631,8 +631,8 @@ class SomeComponent {
it('should be fired after app becomes unstable', async(() => { it('should be fired after app becomes unstable', async(() => {
const fixture = TestBed.createComponent(ClickComp); const fixture = TestBed.createComponent(ClickComp);
const appRef: ApplicationRef = TestBed.get(ApplicationRef); const appRef: ApplicationRef = TestBed.inject(ApplicationRef);
const zone: NgZone = TestBed.get(NgZone); const zone: NgZone = TestBed.inject(NgZone);
appRef.attachView(fixture.componentRef.hostView); appRef.attachView(fixture.componentRef.hostView);
zone.run(() => appRef.tick()); zone.run(() => appRef.tick());

View File

@ -26,7 +26,7 @@ describe('forwardRef integration', function() {
const a = TestBed.configureTestingModule({schemas: [NO_ERRORS_SCHEMA]}).createComponent(App); const a = TestBed.configureTestingModule({schemas: [NO_ERRORS_SCHEMA]}).createComponent(App);
a.detectChanges(); a.detectChanges();
expect(asNativeElements(a.debugElement.children)).toHaveText('frame(lock)'); expect(asNativeElements(a.debugElement.children)).toHaveText('frame(lock)');
expect(TestBed.get(ModuleFrame)).toBeDefined(); expect(TestBed.inject(ModuleFrame)).toBeDefined();
}); });
}); });

View File

@ -41,9 +41,9 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [
} }
function initHelpers(): void { function initHelpers(): void {
renderLog = TestBed.get(RenderLog); renderLog = TestBed.inject(RenderLog);
directiveLog = TestBed.get(DirectiveLog); directiveLog = TestBed.inject(DirectiveLog);
patchLoggingRenderer2(TestBed.get(RendererFactory2), renderLog); patchLoggingRenderer2(TestBed.inject(RendererFactory2), renderLog);
} }
function queryDirs(el: DebugElement, dirType: Type<any>): any { function queryDirs(el: DebugElement, dirType: Type<any>): any {
@ -682,7 +682,7 @@ const TEST_COMPILER_PROVIDERS: Provider[] = [
it('should call the begin and end methods on the renderer factory when change detection is called', it('should call the begin and end methods on the renderer factory when change detection is called',
fakeAsync(() => { fakeAsync(() => {
const ctx = createCompFixture('<div testDirective [a]="42"></div>'); const ctx = createCompFixture('<div testDirective [a]="42"></div>');
const rf = TestBed.get(RendererFactory2); const rf = TestBed.inject(RendererFactory2);
spyOn(rf, 'begin'); spyOn(rf, 'begin');
spyOn(rf, 'end'); spyOn(rf, 'end');
expect(rf.begin).not.toHaveBeenCalled(); expect(rf.begin).not.toHaveBeenCalled();

View File

@ -859,7 +859,7 @@ function declareTests(config?: {useJit: boolean}) {
const template = '<div listener></div>'; const template = '<div listener></div>';
TestBed.overrideComponent(MyComp, {set: {template}}); TestBed.overrideComponent(MyComp, {set: {template}});
const fixture = TestBed.createComponent(MyComp); const fixture = TestBed.createComponent(MyComp);
const doc = TestBed.get(DOCUMENT); const doc = TestBed.inject(DOCUMENT);
const tc = fixture.debugElement.children[0]; const tc = fixture.debugElement.children[0];
const listener = tc.injector.get(DirectiveListeningDomEvent); const listener = tc.injector.get(DirectiveListeningDomEvent);
@ -1013,7 +1013,7 @@ function declareTests(config?: {useJit: boolean}) {
const template = '<div *ngIf="ctxBoolProp" listener listenerother></div>'; const template = '<div *ngIf="ctxBoolProp" listener listenerother></div>';
TestBed.overrideComponent(MyComp, {set: {template}}); TestBed.overrideComponent(MyComp, {set: {template}});
const fixture = TestBed.createComponent(MyComp); const fixture = TestBed.createComponent(MyComp);
const doc = TestBed.get(DOCUMENT); const doc = TestBed.inject(DOCUMENT);
globalCounter = 0; globalCounter = 0;
fixture.componentInstance.ctxBoolProp = true; fixture.componentInstance.ctxBoolProp = true;
@ -1113,7 +1113,7 @@ function declareTests(config?: {useJit: boolean}) {
const compFixture = const compFixture =
TestBed.configureTestingModule({imports: [RootModule]}).createComponent(RootComp); TestBed.configureTestingModule({imports: [RootModule]}).createComponent(RootComp);
const compiler = <Compiler>TestBed.get(Compiler); const compiler = TestBed.inject(Compiler);
const myCompFactory = const myCompFactory =
<ComponentFactory<MyComp>>compiler.compileModuleAndAllComponentsSync(MyModule) <ComponentFactory<MyComp>>compiler.compileModuleAndAllComponentsSync(MyModule)
.componentFactories[0]; .componentFactories[0];
@ -1150,10 +1150,11 @@ function declareTests(config?: {useJit: boolean}) {
const compFixture = const compFixture =
TestBed.configureTestingModule({imports: [RootModule]}).createComponent(RootComp); TestBed.configureTestingModule({imports: [RootModule]}).createComponent(RootComp);
const compiler = <Compiler>TestBed.get(Compiler); const compiler = TestBed.inject(Compiler);
const myModule = compiler.compileModuleSync(MyModule).create(TestBed.get(NgModuleRef)); const myModule =
const myCompFactory = (<ComponentFactoryResolver>TestBed.get(ComponentFactoryResolver)) compiler.compileModuleSync(MyModule).create(TestBed.inject(NgModuleRef).injector);
.resolveComponentFactory(MyComp); const myCompFactory =
TestBed.inject(ComponentFactoryResolver).resolveComponentFactory(MyComp);
// Note: MyComp was declared as entryComponent in the RootModule, // Note: MyComp was declared as entryComponent in the RootModule,
// but we pass MyModule to the createComponent call. // but we pass MyModule to the createComponent call.
@ -1192,9 +1193,9 @@ function declareTests(config?: {useJit: boolean}) {
const compFixture = TestBed.configureTestingModule({imports: [RootModule]}) const compFixture = TestBed.configureTestingModule({imports: [RootModule]})
.createComponent(RootComp); .createComponent(RootComp);
const compiler = <Compiler>TestBed.get(Compiler); const compiler = TestBed.inject(Compiler);
const myModule = const myModule = compiler.compileModuleSync(MyModule).create(
compiler.compileModuleSync(MyModule).create(TestBed.get(NgModuleRef)); TestBed.inject(NgModuleRef).injector);
const myCompFactory = const myCompFactory =
myModule.componentFactoryResolver.resolveComponentFactory(MyComp); myModule.componentFactoryResolver.resolveComponentFactory(MyComp);

View File

@ -80,8 +80,7 @@ import {obsoleteInIvy} from '@angular/private/testing';
TestBed.configureTestingModule({imports: [SomeModule], providers: [SomeDep]}); TestBed.configureTestingModule({imports: [SomeModule], providers: [SomeDep]});
let summariesPromise = TestBed.compileComponents().then(() => { let summariesPromise = TestBed.compileComponents().then(() => {
const metadataResolver = const metadataResolver = TestBed.inject(CompileMetadataResolver);
TestBed.get(CompileMetadataResolver) as CompileMetadataResolver;
const summaries = [ const summaries = [
metadataResolver.getNgModuleSummary(SomeModule), metadataResolver.getNgModuleSummary(SomeModule),
// test nesting via closures, as we use this in the generated code too. // test nesting via closures, as we use this in the generated code too.
@ -174,7 +173,7 @@ import {obsoleteInIvy} from '@angular/private/testing';
TestBed.configureTestingModule({ TestBed.configureTestingModule({
providers: [SomeService, SomeDep], providers: [SomeService, SomeDep],
}); });
TestBed.get(SomeService); TestBed.inject(SomeService);
expectInstanceCreated(SomeService); expectInstanceCreated(SomeService);
}); });

View File

@ -128,7 +128,7 @@ describe('projection', () => {
} }
TestBed.configureTestingModule({imports: [MyModule]}); TestBed.configureTestingModule({imports: [MyModule]});
const injector: Injector = TestBed.get(Injector); const injector: Injector = TestBed.inject(Injector);
const componentFactoryResolver: ComponentFactoryResolver = const componentFactoryResolver: ComponentFactoryResolver =
injector.get(ComponentFactoryResolver); injector.get(ComponentFactoryResolver);
@ -168,7 +168,7 @@ describe('projection', () => {
} }
TestBed.configureTestingModule({imports: [MyModule]}); TestBed.configureTestingModule({imports: [MyModule]});
const injector: Injector = TestBed.get(Injector); const injector: Injector = TestBed.inject(Injector);
const componentFactoryResolver: ComponentFactoryResolver = const componentFactoryResolver: ComponentFactoryResolver =
injector.get(ComponentFactoryResolver); injector.get(ComponentFactoryResolver);

View File

@ -201,7 +201,7 @@ describe('jit source mapping', () => {
const comp = compileAndCreateComponent(MyComp); const comp = compileAndCreateComponent(MyComp);
let error: any; let error: any;
const errorHandler = TestBed.get(ErrorHandler); const errorHandler = TestBed.inject(ErrorHandler);
spyOn(errorHandler, 'handleError').and.callFake((e: any) => error = e); spyOn(errorHandler, 'handleError').and.callFake((e: any) => error = e);
comp.debugElement.children[0].children[0].triggerEventHandler('click', 'EVENT'); comp.debugElement.children[0].children[0].triggerEventHandler('click', 'EVENT');
expect(error).toBeTruthy(); expect(error).toBeTruthy();
@ -381,7 +381,7 @@ describe('jit source mapping', () => {
const comp = resolveCompileAndCreateComponent(MyComp, template); const comp = resolveCompileAndCreateComponent(MyComp, template);
let error: any; let error: any;
const errorHandler = TestBed.get(ErrorHandler); const errorHandler = TestBed.inject(ErrorHandler);
spyOn(errorHandler, 'handleError').and.callFake((e: any) => error = e); spyOn(errorHandler, 'handleError').and.callFake((e: any) => error = e);
try { try {
comp.debugElement.children[0].children[0].triggerEventHandler('click', 'EVENT'); comp.debugElement.children[0].children[0].triggerEventHandler('click', 'EVENT');

View File

@ -254,7 +254,7 @@ describe('TestBed', () => {
imports: [MyModule.forRoot()], imports: [MyModule.forRoot()],
}); });
const service = TestBed.get(MyService); const service = TestBed.inject(MyService);
expect(service.get()).toEqual('override'); expect(service.get()).toEqual('override');
}); });
@ -283,7 +283,7 @@ describe('TestBed', () => {
providers: [{provide: MyService, useValue: serviceOverride}], providers: [{provide: MyService, useValue: serviceOverride}],
}); });
const service = TestBed.get(MyService); const service = TestBed.inject(MyService);
expect(service.get()).toEqual('override'); expect(service.get()).toEqual('override');
}); });
@ -381,7 +381,7 @@ describe('TestBed', () => {
getTestBed().resetTestingModule(); getTestBed().resetTestingModule();
TestBed.configureTestingModule({imports: [ProvidesErrorHandler, HelloWorldModule]}); TestBed.configureTestingModule({imports: [ProvidesErrorHandler, HelloWorldModule]});
expect(TestBed.get(ErrorHandler)).toEqual(jasmine.any(CustomErrorHandler)); expect(TestBed.inject(ErrorHandler)).toEqual(jasmine.any(CustomErrorHandler));
}); });
@ -691,7 +691,7 @@ describe('TestBed', () => {
TestBed.configureTestingModule({imports: [Module, Module]}); TestBed.configureTestingModule({imports: [Module, Module]});
TestBed.overrideProvider(Token, {useValue: {name: 'fake'}}); TestBed.overrideProvider(Token, {useValue: {name: 'fake'}});
expect(TestBed.get(Token).name).toEqual('fake'); expect(TestBed.inject(Token).name).toEqual('fake');
TestBed.resetTestingModule(); TestBed.resetTestingModule();

View File

@ -280,7 +280,7 @@ const removeEventListener = '__zone_symbol__removeEventListener' as 'removeEvent
}); });
it('should report debug info on event errors', () => { it('should report debug info on event errors', () => {
const handleErrorSpy = spyOn(TestBed.get(ErrorHandler), 'handleError'); const handleErrorSpy = spyOn(TestBed.inject(ErrorHandler), 'handleError');
const addListenerSpy = spyOn(HTMLElement.prototype, addEventListener).and.callThrough(); const addListenerSpy = spyOn(HTMLElement.prototype, addEventListener).and.callThrough();
const {view, rootNodes} = createAndAttachAndGetRootNodes(compViewDef([elementDef( const {view, rootNodes} = createAndAttachAndGetRootNodes(compViewDef([elementDef(
0, NodeFlags.None, null, null, 0, 'button', null, null, [[null !, 'click']], 0, NodeFlags.None, null, null, 0, 'button', null, null, [[null !, 'click']],

View File

@ -33,8 +33,8 @@ export function createRootView(
rootSelectorOrNode?: any): ViewData { rootSelectorOrNode?: any): ViewData {
initServicesIfNeeded(); initServicesIfNeeded();
return Services.createRootView( return Services.createRootView(
TestBed.get(Injector), projectableNodes || [], rootSelectorOrNode, def, TestBed.inject(Injector), projectableNodes || [], rootSelectorOrNode, def,
TestBed.get(NgModuleRef), context); TestBed.inject(NgModuleRef), context);
} }
export function createEmbeddedView(parent: ViewData, anchorDef: NodeDef, context?: any): ViewData { export function createEmbeddedView(parent: ViewData, anchorDef: NodeDef, context?: any): ViewData {
@ -96,4 +96,4 @@ export function callMostRecentEventListenerHandler(spy: any, params: any) {
const handler = args[1]; const handler = args[1];
handler && handler.apply(obj, [{type: eventName}]); handler && handler.apply(obj, [{type: eventName}]);
} }

View File

@ -103,7 +103,7 @@ import {ARG_TYPE_VALUES, checkNodeInlineOrDynamic, createRootView, createAndGetR
() => compViewDef([textDef(0, null, ['a'])])), () => compViewDef([textDef(0, null, ['a'])])),
directiveDef(1, NodeFlags.Component, null, 0, SomeService, []) directiveDef(1, NodeFlags.Component, null, 0, SomeService, [])
]), ]),
TestBed.get(Injector), [], getDOM().createElement('div')); TestBed.inject(Injector), [], getDOM().createElement('div'));
} catch (e) { } catch (e) {
err = e; err = e;
} }
@ -377,7 +377,7 @@ import {ARG_TYPE_VALUES, checkNodeInlineOrDynamic, createRootView, createAndGetR
}); });
it('should report debug info on event errors', () => { it('should report debug info on event errors', () => {
const handleErrorSpy = spyOn(TestBed.get(ErrorHandler), 'handleError'); const handleErrorSpy = spyOn(TestBed.inject(ErrorHandler), 'handleError');
let emitter = new EventEmitter<any>(); let emitter = new EventEmitter<any>();
class SomeService { class SomeService {

View File

@ -26,7 +26,7 @@ describe('HeroesService (from Angular)', () => {
// #docregion angular-spec // #docregion angular-spec
it('should have access to the HeroesService', () => { it('should have access to the HeroesService', () => {
const heroesService = TestBed.get(HeroesService) as HeroesService; const heroesService = TestBed.inject(HeroesService);
expect(heroesService).toBeDefined(); expect(heroesService).toBeDefined();
}); });
// #enddocregion angular-spec // #enddocregion angular-spec

View File

@ -88,7 +88,7 @@ if (isBrowser) {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
imports: [TestModule], imports: [TestModule],
}); });
const compiler = TestBed.get(Compiler) as Compiler; const compiler = TestBed.inject(Compiler);
expect(compiler.getModuleId(TestModule)).toBe('test-module'); expect(compiler.getModuleId(TestModule)).toBe('test-module');
}); });
}); });

View File

@ -34,13 +34,13 @@ import {el} from '../../testing/src/browser_util';
styles: [], styles: [],
data: {'animation': animationTriggers} data: {'animation': animationTriggers}
}; };
return (TestBed.get(RendererFactory2) as AnimationRendererFactory) return (TestBed.inject(RendererFactory2) as AnimationRendererFactory)
.createRenderer(element, type); .createRenderer(element, type);
} }
it('should hook into the engine\'s insert operations when appending children', () => { it('should hook into the engine\'s insert operations when appending children', () => {
const renderer = makeRenderer(); const renderer = makeRenderer();
const engine = TestBed.get(AnimationEngine) as MockAnimationEngine; const engine = TestBed.inject(AnimationEngine) as MockAnimationEngine;
const container = el('<div></div>'); const container = el('<div></div>');
renderer.appendChild(container, element); renderer.appendChild(container, element);
@ -50,7 +50,7 @@ import {el} from '../../testing/src/browser_util';
it('should hook into the engine\'s insert operations when inserting a child before another', it('should hook into the engine\'s insert operations when inserting a child before another',
() => { () => {
const renderer = makeRenderer(); const renderer = makeRenderer();
const engine = TestBed.get(AnimationEngine) as MockAnimationEngine; const engine = TestBed.inject(AnimationEngine) as MockAnimationEngine;
const container = el('<div></div>'); const container = el('<div></div>');
const element2 = el('<div></div>'); const element2 = el('<div></div>');
container.appendChild(element2); container.appendChild(element2);
@ -61,7 +61,7 @@ import {el} from '../../testing/src/browser_util';
it('should hook into the engine\'s insert operations when removing children', () => { it('should hook into the engine\'s insert operations when removing children', () => {
const renderer = makeRenderer(); const renderer = makeRenderer();
const engine = TestBed.get(AnimationEngine) as MockAnimationEngine; const engine = TestBed.inject(AnimationEngine) as MockAnimationEngine;
const container = el('<div></div>'); const container = el('<div></div>');
renderer.removeChild(container, element); renderer.removeChild(container, element);
@ -70,7 +70,7 @@ import {el} from '../../testing/src/browser_util';
it('should hook into the engine\'s setProperty call if the property begins with `@`', () => { it('should hook into the engine\'s setProperty call if the property begins with `@`', () => {
const renderer = makeRenderer(); const renderer = makeRenderer();
const engine = TestBed.get(AnimationEngine) as MockAnimationEngine; const engine = TestBed.inject(AnimationEngine) as MockAnimationEngine;
renderer.setProperty(element, 'prop', 'value'); renderer.setProperty(element, 'prop', 'value');
expect(engine.captures['setProperty']).toBeFalsy(); expect(engine.captures['setProperty']).toBeFalsy();
@ -82,7 +82,7 @@ import {el} from '../../testing/src/browser_util';
describe('listen', () => { describe('listen', () => {
it('should hook into the engine\'s listen call if the property begins with `@`', () => { it('should hook into the engine\'s listen call if the property begins with `@`', () => {
const renderer = makeRenderer(); const renderer = makeRenderer();
const engine = TestBed.get(AnimationEngine) as MockAnimationEngine; const engine = TestBed.inject(AnimationEngine) as MockAnimationEngine;
const cb = (event: any): boolean => { return true; }; const cb = (event: any): boolean => { return true; };
@ -96,7 +96,7 @@ import {el} from '../../testing/src/browser_util';
it('should resolve the body|document|window nodes given their values as strings as input', it('should resolve the body|document|window nodes given their values as strings as input',
() => { () => {
const renderer = makeRenderer(); const renderer = makeRenderer();
const engine = TestBed.get(AnimationEngine) as MockAnimationEngine; const engine = TestBed.inject(AnimationEngine) as MockAnimationEngine;
const cb = (event: any): boolean => { return true; }; const cb = (event: any): boolean => { return true; };
@ -140,7 +140,7 @@ import {el} from '../../testing/src/browser_util';
declarations: [Cmp] declarations: [Cmp]
}); });
const engine = TestBed.get(AnimationEngine); const engine = TestBed.inject(AnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
cmp.exp = 'state'; cmp.exp = 'state';
@ -225,7 +225,7 @@ import {el} from '../../testing/src/browser_util';
declarations: [Cmp] declarations: [Cmp]
}); });
const engine = TestBed.get(AnimationEngine); const engine = TestBed.inject(AnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -295,7 +295,7 @@ import {el} from '../../testing/src/browser_util';
declarations: [Cmp] declarations: [Cmp]
}); });
const renderer = TestBed.get(RendererFactory2) as ExtendedAnimationRendererFactory; const renderer = TestBed.inject(RendererFactory2) as ExtendedAnimationRendererFactory;
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;

View File

@ -68,7 +68,7 @@ import {NoopAnimationsModule} from '@angular/platform-browser/animations';
} }
TestBed.configureTestingModule({declarations: [Cmp]}); TestBed.configureTestingModule({declarations: [Cmp]});
const engine = TestBed.get(ɵAnimationEngine); const engine = TestBed.inject(ɵAnimationEngine);
const fixture = TestBed.createComponent(Cmp); const fixture = TestBed.createComponent(Cmp);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;

View File

@ -197,6 +197,6 @@ import {expect} from '@angular/platform-browser/testing/src/matchers';
}); });
it('should inject Meta service when using BrowserModule', it('should inject Meta service when using BrowserModule',
() => expect(TestBed.get(DependsOnMeta).meta).toBeAnInstanceOf(Meta)); () => expect(TestBed.inject(DependsOnMeta).meta).toBeAnInstanceOf(Meta));
}); });
} }

View File

@ -56,6 +56,6 @@ import {expect} from '@angular/platform-browser/testing/src/matchers';
}); });
it('should inject Title service when using BrowserModule', it('should inject Title service when using BrowserModule',
() => { expect(TestBed.get(DependsOnTitle).title).toBeAnInstanceOf(Title); }); () => { expect(TestBed.inject(DependsOnTitle).title).toBeAnInstanceOf(Title); });
}); });
} }

View File

@ -46,52 +46,52 @@ import {StateKey, escapeHtml, makeStateKey, unescapeHtml} from '@angular/platfor
BrowserTransferStateModule, BrowserTransferStateModule,
] ]
}); });
doc = TestBed.get(DOCUMENT); doc = TestBed.inject(DOCUMENT);
}); });
afterEach(() => { removeScriptTag(doc, APP_ID + '-state'); }); afterEach(() => { removeScriptTag(doc, APP_ID + '-state'); });
it('is initialized from script tag', () => { it('is initialized from script tag', () => {
addScriptTag(doc, APP_ID, {test: 10}); addScriptTag(doc, APP_ID, {test: 10});
const transferState: TransferState = TestBed.get(TransferState); const transferState: TransferState = TestBed.inject(TransferState);
expect(transferState.get(TEST_KEY, 0)).toBe(10); expect(transferState.get(TEST_KEY, 0)).toBe(10);
}); });
it('is initialized to empty state if script tag not found', () => { it('is initialized to empty state if script tag not found', () => {
const transferState: TransferState = TestBed.get(TransferState); const transferState: TransferState = TestBed.inject(TransferState);
expect(transferState.get(TEST_KEY, 0)).toBe(0); expect(transferState.get(TEST_KEY, 0)).toBe(0);
}); });
it('supports adding new keys using set', () => { it('supports adding new keys using set', () => {
const transferState: TransferState = TestBed.get(TransferState); const transferState: TransferState = TestBed.inject(TransferState);
transferState.set(TEST_KEY, 20); transferState.set(TEST_KEY, 20);
expect(transferState.get(TEST_KEY, 0)).toBe(20); expect(transferState.get(TEST_KEY, 0)).toBe(20);
expect(transferState.hasKey(TEST_KEY)).toBe(true); expect(transferState.hasKey(TEST_KEY)).toBe(true);
}); });
it('supports setting and accessing value \'0\' via get', () => { it('supports setting and accessing value \'0\' via get', () => {
const transferState: TransferState = TestBed.get(TransferState); const transferState: TransferState = TestBed.inject(TransferState);
transferState.set(TEST_KEY, 0); transferState.set(TEST_KEY, 0);
expect(transferState.get(TEST_KEY, 20)).toBe(0); expect(transferState.get(TEST_KEY, 20)).toBe(0);
expect(transferState.hasKey(TEST_KEY)).toBe(true); expect(transferState.hasKey(TEST_KEY)).toBe(true);
}); });
it('supports setting and accessing value \'false\' via get', () => { it('supports setting and accessing value \'false\' via get', () => {
const transferState: TransferState = TestBed.get(TransferState); const transferState: TransferState = TestBed.inject(TransferState);
transferState.set(TEST_KEY, false); transferState.set(TEST_KEY, false);
expect(transferState.get(TEST_KEY, true)).toBe(false); expect(transferState.get(TEST_KEY, true)).toBe(false);
expect(transferState.hasKey(TEST_KEY)).toBe(true); expect(transferState.hasKey(TEST_KEY)).toBe(true);
}); });
it('supports setting and accessing value \'null\' via get', () => { it('supports setting and accessing value \'null\' via get', () => {
const transferState: TransferState = TestBed.get(TransferState); const transferState: TransferState = TestBed.inject(TransferState);
transferState.set(TEST_KEY, null); transferState.set(TEST_KEY, null);
expect(transferState.get(TEST_KEY, 20 as any)).toBe(null); expect(transferState.get(TEST_KEY, 20 as any)).toBe(null);
expect(transferState.hasKey(TEST_KEY)).toBe(true); expect(transferState.hasKey(TEST_KEY)).toBe(true);
}); });
it('supports removing keys', () => { it('supports removing keys', () => {
const transferState: TransferState = TestBed.get(TransferState); const transferState: TransferState = TestBed.inject(TransferState);
transferState.set(TEST_KEY, 20); transferState.set(TEST_KEY, 20);
transferState.remove(TEST_KEY); transferState.remove(TEST_KEY);
expect(transferState.get(TEST_KEY, 0)).toBe(0); expect(transferState.get(TEST_KEY, 0)).toBe(0);
@ -99,13 +99,13 @@ import {StateKey, escapeHtml, makeStateKey, unescapeHtml} from '@angular/platfor
}); });
it('supports serialization using toJson()', () => { it('supports serialization using toJson()', () => {
const transferState: TransferState = TestBed.get(TransferState); const transferState: TransferState = TestBed.inject(TransferState);
transferState.set(TEST_KEY, 20); transferState.set(TEST_KEY, 20);
expect(transferState.toJson()).toBe('{"test":20}'); expect(transferState.toJson()).toBe('{"test":20}');
}); });
it('calls onSerialize callbacks when calling toJson()', () => { it('calls onSerialize callbacks when calling toJson()', () => {
const transferState: TransferState = TestBed.get(TransferState); const transferState: TransferState = TestBed.inject(TransferState);
transferState.set(TEST_KEY, 20); transferState.set(TEST_KEY, 20);
let value = 'initial'; let value = 'initial';

View File

@ -7,7 +7,7 @@
*/ */
import {CompilerConfig, ResourceLoader} from '@angular/compiler'; import {CompilerConfig, ResourceLoader} from '@angular/compiler';
import {CUSTOM_ELEMENTS_SCHEMA, Compiler, Component, Directive, Inject, Injectable, Injector, Input, NgModule, Optional, Pipe, SkipSelf, ɵstringify as stringify} from '@angular/core'; import {CUSTOM_ELEMENTS_SCHEMA, Compiler, Component, Directive, Inject, Injectable, InjectionToken, Injector, Input, NgModule, Optional, Pipe, SkipSelf, ɵstringify as stringify} from '@angular/core';
import {TestBed, async, fakeAsync, getTestBed, inject, tick, withModule} from '@angular/core/testing'; import {TestBed, async, fakeAsync, getTestBed, inject, tick, withModule} from '@angular/core/testing';
import {expect} from '@angular/platform-browser/testing/src/matchers'; import {expect} from '@angular/platform-browser/testing/src/matchers';
import {ivyEnabled, modifiedInIvy, obsoleteInIvy, onlyInIvy} from '@angular/private/testing'; import {ivyEnabled, modifiedInIvy, obsoleteInIvy, onlyInIvy} from '@angular/private/testing';
@ -112,6 +112,9 @@ class SomeLibModule {
class CompWithUrlTemplate { class CompWithUrlTemplate {
} }
const aTok = new InjectionToken<string>('a');
const bTok = new InjectionToken<string>('b');
{ {
describe('public testing API', () => { describe('public testing API', () => {
describe('using the async helper with context passing', () => { describe('using the async helper with context passing', () => {
@ -416,55 +419,56 @@ class CompWithUrlTemplate {
describe('overriding providers', () => { describe('overriding providers', () => {
describe('in NgModules', () => { describe('in NgModules', () => {
it('should support useValue', () => { it('should support useValue', () => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
providers: [ providers: [
{provide: 'a', useValue: 'aValue'}, {provide: aTok, useValue: 'aValue'},
] ]
}); });
TestBed.overrideProvider('a', {useValue: 'mockValue'}); TestBed.overrideProvider(aTok, {useValue: 'mockValue'});
expect(TestBed.get('a')).toBe('mockValue'); expect(TestBed.inject(aTok)).toBe('mockValue');
}); });
it('should support useFactory', () => { it('should support useFactory', () => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
providers: [ providers: [
{provide: 'dep', useValue: 'depValue'}, {provide: 'dep', useValue: 'depValue'},
{provide: 'a', useValue: 'aValue'}, {provide: aTok, useValue: 'aValue'},
] ]
}); });
TestBed.overrideProvider( TestBed.overrideProvider(
'a', {useFactory: (dep: any) => `mockA: ${dep}`, deps: ['dep']}); aTok, {useFactory: (dep: any) => `mockA: ${dep}`, deps: ['dep']});
expect(TestBed.get('a')).toBe('mockA: depValue'); expect(TestBed.inject(aTok)).toBe('mockA: depValue');
}); });
it('should support @Optional without matches', () => { it('should support @Optional without matches', () => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
providers: [ providers: [
{provide: 'a', useValue: 'aValue'}, {provide: aTok, useValue: 'aValue'},
] ]
}); });
TestBed.overrideProvider( TestBed.overrideProvider(
'a', {useFactory: (dep: any) => `mockA: ${dep}`, deps: [[new Optional(), 'dep']]}); aTok, {useFactory: (dep: any) => `mockA: ${dep}`, deps: [[new Optional(), 'dep']]});
expect(TestBed.get('a')).toBe('mockA: null'); expect(TestBed.inject(aTok)).toBe('mockA: null');
}); });
it('should support Optional with matches', () => { it('should support Optional with matches', () => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
providers: [ providers: [
{provide: 'dep', useValue: 'depValue'}, {provide: 'dep', useValue: 'depValue'},
{provide: 'a', useValue: 'aValue'}, {provide: aTok, useValue: 'aValue'},
] ]
}); });
TestBed.overrideProvider( TestBed.overrideProvider(
'a', {useFactory: (dep: any) => `mockA: ${dep}`, deps: [[new Optional(), 'dep']]}); aTok, {useFactory: (dep: any) => `mockA: ${dep}`, deps: [[new Optional(), 'dep']]});
expect(TestBed.get('a')).toBe('mockA: depValue'); expect(TestBed.inject(aTok)).toBe('mockA: depValue');
}); });
it('should support SkipSelf', () => { it('should support SkipSelf', () => {
@NgModule({ @NgModule({
providers: [ providers: [
{provide: 'a', useValue: 'aValue'}, {provide: aTok, useValue: 'aValue'},
{provide: 'dep', useValue: 'depValue'}, {provide: 'dep', useValue: 'depValue'},
] ]
}) })
@ -472,13 +476,14 @@ class CompWithUrlTemplate {
} }
TestBed.overrideProvider( TestBed.overrideProvider(
'a', {useFactory: (dep: any) => `mockA: ${dep}`, deps: [[new SkipSelf(), 'dep']]}); aTok, {useFactory: (dep: any) => `mockA: ${dep}`, deps: [[new SkipSelf(), 'dep']]});
TestBed.configureTestingModule( TestBed.configureTestingModule(
{providers: [{provide: 'dep', useValue: 'parentDepValue'}]}); {providers: [{provide: 'dep', useValue: 'parentDepValue'}]});
const compiler = TestBed.get(Compiler) as Compiler; const compiler = TestBed.inject(Compiler);
const modFactory = compiler.compileModuleSync(MyModule); const modFactory = compiler.compileModuleSync(MyModule);
expect(modFactory.create(getTestBed()).injector.get('a')).toBe('mockA: parentDepValue'); expect(modFactory.create(getTestBed()).injector.get(aTok))
.toBe('mockA: parentDepValue');
}); });
it('should keep imported NgModules eager', () => { it('should keep imported NgModules eager', () => {
@ -491,42 +496,42 @@ class CompWithUrlTemplate {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
providers: [ providers: [
{provide: 'a', useValue: 'aValue'}, {provide: aTok, useValue: 'aValue'},
], ],
imports: [SomeModule] imports: [SomeModule]
}); });
TestBed.overrideProvider('a', {useValue: 'mockValue'}); TestBed.overrideProvider(aTok, {useValue: 'mockValue'});
expect(TestBed.get('a')).toBe('mockValue'); expect(TestBed.inject(aTok)).toBe('mockValue');
expect(someModule).toBeAnInstanceOf(SomeModule); expect(someModule).toBeAnInstanceOf(SomeModule);
}); });
describe('injecting eager providers into an eager overwritten provider', () => { describe('injecting eager providers into an eager overwritten provider', () => {
@NgModule({ @NgModule({
providers: [ providers: [
{provide: 'a', useFactory: () => 'aValue'}, {provide: aTok, useFactory: () => 'aValue'},
{provide: 'b', useFactory: () => 'bValue'}, {provide: bTok, useFactory: () => 'bValue'},
] ]
}) })
class MyModule { class MyModule {
// NgModule is eager, which makes all of its deps eager // NgModule is eager, which makes all of its deps eager
constructor(@Inject('a') a: any, @Inject('b') b: any) {} constructor(@Inject(aTok) a: any, @Inject(bTok) b: any) {}
} }
it('should inject providers that were declared before', () => { it('should inject providers that were declared before', () => {
TestBed.configureTestingModule({imports: [MyModule]}); TestBed.configureTestingModule({imports: [MyModule]});
TestBed.overrideProvider( TestBed.overrideProvider(
'b', {useFactory: (a: string) => `mockB: ${a}`, deps: ['a']}); bTok, {useFactory: (a: string) => `mockB: ${a}`, deps: [aTok]});
expect(TestBed.get('b')).toBe('mockB: aValue'); expect(TestBed.inject(bTok)).toBe('mockB: aValue');
}); });
it('should inject providers that were declared afterwards', () => { it('should inject providers that were declared afterwards', () => {
TestBed.configureTestingModule({imports: [MyModule]}); TestBed.configureTestingModule({imports: [MyModule]});
TestBed.overrideProvider( TestBed.overrideProvider(
'a', {useFactory: (b: string) => `mockA: ${b}`, deps: ['b']}); aTok, {useFactory: (b: string) => `mockA: ${b}`, deps: [bTok]});
expect(TestBed.get('a')).toBe('mockA: bValue'); expect(TestBed.inject(aTok)).toBe('mockA: bValue');
}); });
}); });
}); });
@ -536,17 +541,17 @@ class CompWithUrlTemplate {
@Component({ @Component({
template: '', template: '',
providers: [ providers: [
{provide: 'a', useValue: 'aValue'}, {provide: aTok, useValue: 'aValue'},
] ]
}) })
class MComp { class MComp {
} }
TestBed.overrideProvider('a', {useValue: 'mockValue'}); TestBed.overrideProvider(aTok, {useValue: 'mockValue'});
const ctx = const ctx =
TestBed.configureTestingModule({declarations: [MComp]}).createComponent(MComp); TestBed.configureTestingModule({declarations: [MComp]}).createComponent(MComp);
expect(ctx.debugElement.injector.get('a')).toBe('mockValue'); expect(ctx.debugElement.injector.get(aTok)).toBe('mockValue');
}); });
it('should support useFactory', () => { it('should support useFactory', () => {
@ -554,36 +559,36 @@ class CompWithUrlTemplate {
template: '', template: '',
providers: [ providers: [
{provide: 'dep', useValue: 'depValue'}, {provide: 'dep', useValue: 'depValue'},
{provide: 'a', useValue: 'aValue'}, {provide: aTok, useValue: 'aValue'},
] ]
}) })
class MyComp { class MyComp {
} }
TestBed.overrideProvider( TestBed.overrideProvider(
'a', {useFactory: (dep: any) => `mockA: ${dep}`, deps: ['dep']}); aTok, {useFactory: (dep: any) => `mockA: ${dep}`, deps: ['dep']});
const ctx = const ctx =
TestBed.configureTestingModule({declarations: [MyComp]}).createComponent(MyComp); TestBed.configureTestingModule({declarations: [MyComp]}).createComponent(MyComp);
expect(ctx.debugElement.injector.get('a')).toBe('mockA: depValue'); expect(ctx.debugElement.injector.get(aTok)).toBe('mockA: depValue');
}); });
it('should support @Optional without matches', () => { it('should support @Optional without matches', () => {
@Component({ @Component({
template: '', template: '',
providers: [ providers: [
{provide: 'a', useValue: 'aValue'}, {provide: aTok, useValue: 'aValue'},
] ]
}) })
class MyComp { class MyComp {
} }
TestBed.overrideProvider( TestBed.overrideProvider(
'a', {useFactory: (dep: any) => `mockA: ${dep}`, deps: [[new Optional(), 'dep']]}); aTok, {useFactory: (dep: any) => `mockA: ${dep}`, deps: [[new Optional(), 'dep']]});
const ctx = const ctx =
TestBed.configureTestingModule({declarations: [MyComp]}).createComponent(MyComp); TestBed.configureTestingModule({declarations: [MyComp]}).createComponent(MyComp);
expect(ctx.debugElement.injector.get('a')).toBe('mockA: null'); expect(ctx.debugElement.injector.get(aTok)).toBe('mockA: null');
}); });
it('should support Optional with matches', () => { it('should support Optional with matches', () => {
@ -591,25 +596,25 @@ class CompWithUrlTemplate {
template: '', template: '',
providers: [ providers: [
{provide: 'dep', useValue: 'depValue'}, {provide: 'dep', useValue: 'depValue'},
{provide: 'a', useValue: 'aValue'}, {provide: aTok, useValue: 'aValue'},
] ]
}) })
class MyComp { class MyComp {
} }
TestBed.overrideProvider( TestBed.overrideProvider(
'a', {useFactory: (dep: any) => `mockA: ${dep}`, deps: [[new Optional(), 'dep']]}); aTok, {useFactory: (dep: any) => `mockA: ${dep}`, deps: [[new Optional(), 'dep']]});
const ctx = const ctx =
TestBed.configureTestingModule({declarations: [MyComp]}).createComponent(MyComp); TestBed.configureTestingModule({declarations: [MyComp]}).createComponent(MyComp);
expect(ctx.debugElement.injector.get('a')).toBe('mockA: depValue'); expect(ctx.debugElement.injector.get(aTok)).toBe('mockA: depValue');
}); });
it('should support SkipSelf', () => { it('should support SkipSelf', () => {
@Directive({ @Directive({
selector: '[myDir]', selector: '[myDir]',
providers: [ providers: [
{provide: 'a', useValue: 'aValue'}, {provide: aTok, useValue: 'aValue'},
{provide: 'dep', useValue: 'depValue'}, {provide: 'dep', useValue: 'depValue'},
] ]
}) })
@ -626,17 +631,17 @@ class CompWithUrlTemplate {
} }
TestBed.overrideProvider( TestBed.overrideProvider(
'a', {useFactory: (dep: any) => `mockA: ${dep}`, deps: [[new SkipSelf(), 'dep']]}); aTok, {useFactory: (dep: any) => `mockA: ${dep}`, deps: [[new SkipSelf(), 'dep']]});
const ctx = TestBed.configureTestingModule({declarations: [MyComp, MyDir]}) const ctx = TestBed.configureTestingModule({declarations: [MyComp, MyDir]})
.createComponent(MyComp); .createComponent(MyComp);
expect(ctx.debugElement.children[0].injector.get('a')).toBe('mockA: parentDepValue'); expect(ctx.debugElement.children[0].injector.get(aTok)).toBe('mockA: parentDepValue');
}); });
it('should support multiple providers in a template', () => { it('should support multiple providers in a template', () => {
@Directive({ @Directive({
selector: '[myDir1]', selector: '[myDir1]',
providers: [ providers: [
{provide: 'a', useValue: 'aValue1'}, {provide: aTok, useValue: 'aValue1'},
] ]
}) })
class MyDir1 { class MyDir1 {
@ -645,7 +650,7 @@ class CompWithUrlTemplate {
@Directive({ @Directive({
selector: '[myDir2]', selector: '[myDir2]',
providers: [ providers: [
{provide: 'a', useValue: 'aValue2'}, {provide: aTok, useValue: 'aValue2'},
] ]
}) })
class MyDir2 { class MyDir2 {
@ -657,51 +662,51 @@ class CompWithUrlTemplate {
class MyComp { class MyComp {
} }
TestBed.overrideProvider('a', {useValue: 'mockA'}); TestBed.overrideProvider(aTok, {useValue: 'mockA'});
const ctx = TestBed.configureTestingModule({declarations: [MyComp, MyDir1, MyDir2]}) const ctx = TestBed.configureTestingModule({declarations: [MyComp, MyDir1, MyDir2]})
.createComponent(MyComp); .createComponent(MyComp);
expect(ctx.debugElement.children[0].injector.get('a')).toBe('mockA'); expect(ctx.debugElement.children[0].injector.get(aTok)).toBe('mockA');
expect(ctx.debugElement.children[1].injector.get('a')).toBe('mockA'); expect(ctx.debugElement.children[1].injector.get(aTok)).toBe('mockA');
}); });
describe('injecting eager providers into an eager overwritten provider', () => { describe('injecting eager providers into an eager overwritten provider', () => {
@Component({ @Component({
template: '', template: '',
providers: [ providers: [
{provide: 'a', useFactory: () => 'aValue'}, {provide: aTok, useFactory: () => 'aValue'},
{provide: 'b', useFactory: () => 'bValue'}, {provide: bTok, useFactory: () => 'bValue'},
] ]
}) })
class MyComp { class MyComp {
// Component is eager, which makes all of its deps eager // Component is eager, which makes all of its deps eager
constructor(@Inject('a') a: any, @Inject('b') b: any) {} constructor(@Inject(aTok) a: any, @Inject(bTok) b: any) {}
} }
it('should inject providers that were declared before it', () => { it('should inject providers that were declared before it', () => {
TestBed.overrideProvider( TestBed.overrideProvider(
'b', {useFactory: (a: string) => `mockB: ${a}`, deps: ['a']}); bTok, {useFactory: (a: string) => `mockB: ${a}`, deps: [aTok]});
const ctx = const ctx =
TestBed.configureTestingModule({declarations: [MyComp]}).createComponent(MyComp); TestBed.configureTestingModule({declarations: [MyComp]}).createComponent(MyComp);
expect(ctx.debugElement.injector.get('b')).toBe('mockB: aValue'); expect(ctx.debugElement.injector.get(bTok)).toBe('mockB: aValue');
}); });
it('should inject providers that were declared after it', () => { it('should inject providers that were declared after it', () => {
TestBed.overrideProvider( TestBed.overrideProvider(
'a', {useFactory: (b: string) => `mockA: ${b}`, deps: ['b']}); aTok, {useFactory: (b: string) => `mockA: ${b}`, deps: [bTok]});
const ctx = const ctx =
TestBed.configureTestingModule({declarations: [MyComp]}).createComponent(MyComp); TestBed.configureTestingModule({declarations: [MyComp]}).createComponent(MyComp);
expect(ctx.debugElement.injector.get('a')).toBe('mockA: bValue'); expect(ctx.debugElement.injector.get(aTok)).toBe('mockA: bValue');
}); });
}); });
}); });
it('should reset overrides when the testing modules is resetted', () => { it('should reset overrides when the testing modules is resetted', () => {
TestBed.overrideProvider('a', {useValue: 'mockValue'}); TestBed.overrideProvider(aTok, {useValue: 'mockValue'});
TestBed.resetTestingModule(); TestBed.resetTestingModule();
TestBed.configureTestingModule({providers: [{provide: 'a', useValue: 'aValue'}]}); TestBed.configureTestingModule({providers: [{provide: aTok, useValue: 'aValue'}]});
expect(TestBed.get('a')).toBe('aValue'); expect(TestBed.inject(aTok)).toBe('aValue');
}); });
}); });
@ -739,7 +744,7 @@ class CompWithUrlTemplate {
class MyComponent { class MyComponent {
} }
TestBed.get(Injector); TestBed.inject(Injector);
expect(() => TestBed.overrideTemplateUsingTestingModule(MyComponent, 'b')) expect(() => TestBed.overrideTemplateUsingTestingModule(MyComponent, 'b'))
.toThrowError( .toThrowError(

View File

@ -18,7 +18,7 @@ describe('applyRedirects', () => {
const serializer = new DefaultUrlSerializer(); const serializer = new DefaultUrlSerializer();
let testModule: NgModuleRef<any>; let testModule: NgModuleRef<any>;
beforeEach(() => { testModule = TestBed.get(NgModuleRef); }); beforeEach(() => { testModule = TestBed.inject(NgModuleRef); });
it('should return the same url tree when no redirects', () => { it('should return the same url tree when no redirects', () => {
checkRedirect( checkRedirect(

View File

@ -439,7 +439,7 @@ describe('Integration', () => {
TestBed.configureTestingModule({imports: [TestModule]}); TestBed.configureTestingModule({imports: [TestModule]});
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
const fixture = createRoot(router, RootCmp); const fixture = createRoot(router, RootCmp);
router.resetConfig([{ router.resetConfig([{
@ -509,7 +509,7 @@ describe('Integration', () => {
} }
TestBed.configureTestingModule({declarations: [RootCmpWithLink]}); TestBed.configureTestingModule({declarations: [RootCmpWithLink]});
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
const fixture = createRoot(router, RootCmpWithLink); const fixture = createRoot(router, RootCmpWithLink);
@ -544,8 +544,8 @@ describe('Integration', () => {
TestBed.configureTestingModule({imports: [TestModule]}); TestBed.configureTestingModule({imports: [TestModule]});
const router = TestBed.get(Router); const router = TestBed.inject(Router);
const location = TestBed.get(Location); const location = TestBed.inject(Location);
const fixture = createRoot(router, RootCmp); const fixture = createRoot(router, RootCmp);
router.resetConfig([{path: 'record/:id', component: RecordLocationCmp}]); router.resetConfig([{path: 'record/:id', component: RecordLocationCmp}]);
@ -1208,8 +1208,8 @@ describe('Integration', () => {
// Errors should behave the same for both deferred and eager URL update strategies // Errors should behave the same for both deferred and eager URL update strategies
['deferred', 'eager'].forEach((strat: any) => { ['deferred', 'eager'].forEach((strat: any) => {
it('should dispatch NavigationError after the url has been reset back', fakeAsync(() => { it('should dispatch NavigationError after the url has been reset back', fakeAsync(() => {
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
const location: SpyLocation = TestBed.get(Location); const location = TestBed.inject(Location) as SpyLocation;
const fixture = createRoot(router, RootCmp); const fixture = createRoot(router, RootCmp);
router.resetConfig( router.resetConfig(
@ -1235,8 +1235,8 @@ describe('Integration', () => {
})); }));
it('should reset the url with the right state when navigation errors', fakeAsync(() => { it('should reset the url with the right state when navigation errors', fakeAsync(() => {
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
const location: SpyLocation = TestBed.get(Location); const location = TestBed.inject(Location) as SpyLocation;
const fixture = createRoot(router, RootCmp); const fixture = createRoot(router, RootCmp);
router.resetConfig([ router.resetConfig([
@ -1270,7 +1270,7 @@ describe('Integration', () => {
it('should not trigger another navigation when resetting the url back due to a NavigationError', it('should not trigger another navigation when resetting the url back due to a NavigationError',
fakeAsync(() => { fakeAsync(() => {
const router = TestBed.get(Router); const router = TestBed.inject(Router);
router.onSameUrlNavigation = 'reload'; router.onSameUrlNavigation = 'reload';
const fixture = createRoot(router, RootCmp); const fixture = createRoot(router, RootCmp);
@ -1302,8 +1302,8 @@ describe('Integration', () => {
TestBed.configureTestingModule( TestBed.configureTestingModule(
{providers: [{provide: 'returnsFalse', useValue: () => false}]}); {providers: [{provide: 'returnsFalse', useValue: () => false}]});
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
const location: SpyLocation = TestBed.get(Location); const location = TestBed.inject(Location) as SpyLocation;
const fixture = createRoot(router, RootCmp); const fixture = createRoot(router, RootCmp);
@ -1489,7 +1489,7 @@ describe('Integration', () => {
TestBed.configureTestingModule({declarations: [Container]}); TestBed.configureTestingModule({declarations: [Container]});
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
const fixture = createRoot(router, Container); const fixture = createRoot(router, Container);
const cmp = fixture.componentInstance; const cmp = fixture.componentInstance;
@ -1791,7 +1791,7 @@ describe('Integration', () => {
} }
TestBed.configureTestingModule({declarations: [RootCmpWithLink]}); TestBed.configureTestingModule({declarations: [RootCmpWithLink]});
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
const fixture = createRoot(router, RootCmpWithLink); const fixture = createRoot(router, RootCmpWithLink);
@ -1814,7 +1814,7 @@ describe('Integration', () => {
} }
TestBed.configureTestingModule({declarations: [CmpWithLink]}); TestBed.configureTestingModule({declarations: [CmpWithLink]});
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
let fixture: ComponentFixture<CmpWithLink> = createRoot(router, CmpWithLink); let fixture: ComponentFixture<CmpWithLink> = createRoot(router, CmpWithLink);
router.resetConfig([{path: 'home', component: SimpleCmp}]); router.resetConfig([{path: 'home', component: SimpleCmp}]);
@ -1834,7 +1834,7 @@ describe('Integration', () => {
class RootCmpWithLink { class RootCmpWithLink {
} }
TestBed.configureTestingModule({declarations: [RootCmpWithLink]}); TestBed.configureTestingModule({declarations: [RootCmpWithLink]});
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
const fixture = createRoot(router, RootCmpWithLink); const fixture = createRoot(router, RootCmpWithLink);
router.resetConfig([{path: 'home', component: SimpleCmp}]); router.resetConfig([{path: 'home', component: SimpleCmp}]);
@ -1864,7 +1864,7 @@ describe('Integration', () => {
class RootCmpWithLink { class RootCmpWithLink {
} }
TestBed.configureTestingModule({declarations: [RootCmpWithLink]}); TestBed.configureTestingModule({declarations: [RootCmpWithLink]});
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
const fixture = createRoot(router, RootCmpWithLink); const fixture = createRoot(router, RootCmpWithLink);
router.resetConfig([{path: 'home', component: SimpleCmp}]); router.resetConfig([{path: 'home', component: SimpleCmp}]);
@ -1886,7 +1886,7 @@ describe('Integration', () => {
class RootCmpWithLink { class RootCmpWithLink {
} }
TestBed.configureTestingModule({declarations: [RootCmpWithLink]}); TestBed.configureTestingModule({declarations: [RootCmpWithLink]});
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
const fixture = createRoot(router, RootCmpWithLink); const fixture = createRoot(router, RootCmpWithLink);
router.resetConfig([{path: 'home', component: SimpleCmp}]); router.resetConfig([{path: 'home', component: SimpleCmp}]);
@ -2058,7 +2058,7 @@ describe('Integration', () => {
} }
TestBed.configureTestingModule({declarations: [RootCmpWithArea]}); TestBed.configureTestingModule({declarations: [RootCmpWithArea]});
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
const fixture = createRoot(router, RootCmpWithArea); const fixture = createRoot(router, RootCmpWithArea);
@ -3687,7 +3687,7 @@ describe('Integration', () => {
} }
TestBed.configureTestingModule({declarations: [RootCmpWithLink]}); TestBed.configureTestingModule({declarations: [RootCmpWithLink]});
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
const f = TestBed.createComponent(RootCmpWithLink); const f = TestBed.createComponent(RootCmpWithLink);
advance(f); advance(f);
@ -3772,7 +3772,7 @@ describe('Integration', () => {
} }
TestBed.configureTestingModule({declarations: [ComponentWithRouterLink]}); TestBed.configureTestingModule({declarations: [ComponentWithRouterLink]});
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
router.resetConfig([ router.resetConfig([
{ {
@ -4397,7 +4397,7 @@ describe('Integration', () => {
beforeEach(() => { beforeEach(() => {
TestBed.configureTestingModule( TestBed.configureTestingModule(
{providers: [{provide: PreloadingStrategy, useExisting: PreloadAllModules}]}); {providers: [{provide: PreloadingStrategy, useExisting: PreloadAllModules}]});
const preloader = TestBed.get(RouterPreloader); const preloader = TestBed.inject(RouterPreloader);
preloader.setUpPreloading(); preloader.setUpPreloading();
}); });
@ -4797,7 +4797,7 @@ describe('Integration', () => {
TestBed.configureTestingModule({imports: [TestModule]}); TestBed.configureTestingModule({imports: [TestModule]});
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
router.routeReuseStrategy = new AttachDetachReuseStrategy(); router.routeReuseStrategy = new AttachDetachReuseStrategy();
const fixture = createRoot(router, RootCmpWithCondOutlet); const fixture = createRoot(router, RootCmpWithCondOutlet);

View File

@ -25,7 +25,7 @@ describe('prioritizedGuardValue operator', () => {
beforeEach(() => { TestBed.configureTestingModule({imports: [RouterTestingModule]}); }); beforeEach(() => { TestBed.configureTestingModule({imports: [RouterTestingModule]}); });
beforeEach(() => { testScheduler = new TestScheduler(assertDeepEquals); }); beforeEach(() => { testScheduler = new TestScheduler(assertDeepEquals); });
beforeEach(() => { router = TestBed.get(Router); }); beforeEach(() => { router = TestBed.inject(Router); });
it('should return true if all values are true', () => { it('should return true if all values are true', () => {
testScheduler.run(({hot, cold, expectObservable}) => { testScheduler.run(({hot, cold, expectObservable}) => {

View File

@ -45,7 +45,7 @@ describe('Integration', () => {
TestBed.configureTestingModule({imports: [MyModule]}); TestBed.configureTestingModule({imports: [MyModule]});
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
const fixture = createRoot(router, MyCmp); const fixture = createRoot(router, MyCmp);
router.resetConfig([{path: 'simple', component: SimpleCmp}]); router.resetConfig([{path: 'simple', component: SimpleCmp}]);
@ -62,7 +62,7 @@ describe('Integration', () => {
template: ` template: `
<div #rla="routerLinkActive" routerLinkActive> <div #rla="routerLinkActive" routerLinkActive>
isActive: {{rla.isActive}} isActive: {{rla.isActive}}
<ng-template let-data> <ng-template let-data>
<a [routerLink]="data">link</a> <a [routerLink]="data">link</a>
</ng-template> </ng-template>
@ -94,7 +94,7 @@ describe('Integration', () => {
declarations: [ComponentWithRouterLink, SimpleCmp] declarations: [ComponentWithRouterLink, SimpleCmp]
}); });
const router: Router = TestBed.get(Router); const router: Router = TestBed.inject(Router);
const fixture = createRoot(router, ComponentWithRouterLink); const fixture = createRoot(router, ComponentWithRouterLink);
router.navigateByUrl('/simple'); router.navigateByUrl('/simple');
advance(fixture); advance(fixture);

View File

@ -32,7 +32,7 @@ describe('Router', () => {
beforeEach(() => { TestBed.configureTestingModule({imports: [RouterTestingModule]}); }); beforeEach(() => { TestBed.configureTestingModule({imports: [RouterTestingModule]}); });
it('should copy config to avoid mutations of user-provided objects', () => { it('should copy config to avoid mutations of user-provided objects', () => {
const r: Router = TestBed.get(Router); const r: Router = TestBed.inject(Router);
const configs: Routes = [{ const configs: Routes = [{
path: 'a', path: 'a',
component: TestComponent, component: TestComponent,
@ -66,7 +66,7 @@ describe('Router', () => {
beforeEach(() => { TestBed.configureTestingModule({imports: [RouterTestingModule]}); }); beforeEach(() => { TestBed.configureTestingModule({imports: [RouterTestingModule]}); });
it('should not change root route when updating the root component', () => { it('should not change root route when updating the root component', () => {
const r: Router = TestBed.get(Router); const r: Router = TestBed.inject(Router);
const root = r.routerState.root; const root = r.routerState.root;
(r as any).resetRootComponentType(NewRootComponent); (r as any).resetRootComponentType(NewRootComponent);

View File

@ -19,7 +19,7 @@ import {ChildrenOutletContexts, ExtraOptions, NoPreloading, PreloadingStrategy,
* Allows to simulate the loading of ng modules in tests. * Allows to simulate the loading of ng modules in tests.
* *
* ``` * ```
* const loader = TestBed.get(NgModuleFactoryLoader); * const loader = TestBed.inject(NgModuleFactoryLoader);
* *
* @Component({template: 'lazy-loaded'}) * @Component({template: 'lazy-loaded'})
* class LazyLoadedComponent {} * class LazyLoadedComponent {}

View File

@ -28,7 +28,7 @@ describe('setUpLocationSync', () => {
], ],
}); });
upgradeModule = TestBed.get(UpgradeModule); upgradeModule = TestBed.inject(UpgradeModule);
upgradeModule.$injector = { upgradeModule.$injector = {
get: jasmine.createSpy('$injector.get').and.returnValue({'$on': () => undefined}) get: jasmine.createSpy('$injector.get').and.returnValue({'$on': () => undefined})
}; };

View File

@ -58,7 +58,7 @@ import {MockPushManager, MockPushSubscription, MockServiceWorkerContainer, MockS
] ]
}); });
expect(TestBed.get(NgswCommChannel).isEnabled).toEqual(false); expect(TestBed.inject(NgswCommChannel).isEnabled).toEqual(false);
}); });
it('gives disabled NgswCommChannel when \'enabled\' option is false', () => { it('gives disabled NgswCommChannel when \'enabled\' option is false', () => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
@ -72,7 +72,7 @@ import {MockPushManager, MockPushSubscription, MockServiceWorkerContainer, MockS
] ]
}); });
expect(TestBed.get(NgswCommChannel).isEnabled).toEqual(false); expect(TestBed.inject(NgswCommChannel).isEnabled).toEqual(false);
}); });
it('gives disabled NgswCommChannel when navigator.serviceWorker is undefined', () => { it('gives disabled NgswCommChannel when navigator.serviceWorker is undefined', () => {
TestBed.configureTestingModule({ TestBed.configureTestingModule({
@ -94,7 +94,7 @@ import {MockPushManager, MockPushSubscription, MockServiceWorkerContainer, MockS
try { try {
// Set `navigator` to `{serviceWorker: undefined}`. // Set `navigator` to `{serviceWorker: undefined}`.
Object.defineProperty(context, 'navigator', patchedDescriptor); Object.defineProperty(context, 'navigator', patchedDescriptor);
expect(TestBed.get(NgswCommChannel).isEnabled).toBe(false); expect(TestBed.inject(NgswCommChannel).isEnabled).toBe(false);
} finally { } finally {
if (originalDescriptor) { if (originalDescriptor) {
Object.defineProperty(context, 'navigator', originalDescriptor); Object.defineProperty(context, 'navigator', originalDescriptor);
@ -123,7 +123,7 @@ import {MockPushManager, MockPushSubscription, MockServiceWorkerContainer, MockS
try { try {
// Set `navigator` to `{serviceWorker: mock}`. // Set `navigator` to `{serviceWorker: mock}`.
Object.defineProperty(context, 'navigator', patchedDescriptor); Object.defineProperty(context, 'navigator', patchedDescriptor);
expect(TestBed.get(NgswCommChannel).isEnabled).toBe(true); expect(TestBed.inject(NgswCommChannel).isEnabled).toBe(true);
} finally { } finally {
if (originalDescriptor) { if (originalDescriptor) {
Object.defineProperty(context, 'navigator', originalDescriptor); Object.defineProperty(context, 'navigator', originalDescriptor);
@ -154,7 +154,7 @@ import {MockPushManager, MockPushSubscription, MockServiceWorkerContainer, MockS
{provide: NgswCommChannel, useValue: comm}, {provide: NgswCommChannel, useValue: comm},
] ]
}); });
expect(() => TestBed.get(SwPush)).not.toThrow(); expect(() => TestBed.inject(SwPush)).not.toThrow();
}); });
describe('requestSubscription()', () => { describe('requestSubscription()', () => {
@ -472,7 +472,7 @@ import {MockPushManager, MockPushSubscription, MockServiceWorkerContainer, MockS
{provide: NgswCommChannel, useValue: comm}, {provide: NgswCommChannel, useValue: comm},
] ]
}); });
expect(() => TestBed.get(SwUpdate)).not.toThrow(); expect(() => TestBed.inject(SwUpdate)).not.toThrow();
}); });
describe('with no SW', () => { describe('with no SW', () => {
beforeEach(() => { comm = new NgswCommChannel(undefined); }); beforeEach(() => { comm = new NgswCommChannel(undefined); });

View File

@ -24,7 +24,7 @@ describe('ServiceWorkerModule', () => {
let swRegisterSpy: jasmine.Spy; let swRegisterSpy: jasmine.Spy;
const untilStable = () => { const untilStable = () => {
const appRef: ApplicationRef = TestBed.get(ApplicationRef); const appRef: ApplicationRef = TestBed.inject(ApplicationRef);
return appRef.isStable.pipe(filter(Boolean), take(1)).toPromise(); return appRef.isStable.pipe(filter(Boolean), take(1)).toPromise();
}; };
@ -45,28 +45,28 @@ describe('ServiceWorkerModule', () => {
it('sets the registration options', async() => { it('sets the registration options', async() => {
await configTestBed({enabled: true, scope: 'foo'}); await configTestBed({enabled: true, scope: 'foo'});
expect(TestBed.get(SwRegistrationOptions)).toEqual({enabled: true, scope: 'foo'}); expect(TestBed.inject(SwRegistrationOptions)).toEqual({enabled: true, scope: 'foo'});
expect(swRegisterSpy).toHaveBeenCalledWith('sw.js', {scope: 'foo'}); expect(swRegisterSpy).toHaveBeenCalledWith('sw.js', {scope: 'foo'});
}); });
it('can disable the SW', async() => { it('can disable the SW', async() => {
await configTestBed({enabled: false}); await configTestBed({enabled: false});
expect(TestBed.get(SwUpdate).isEnabled).toBe(false); expect(TestBed.inject(SwUpdate).isEnabled).toBe(false);
expect(swRegisterSpy).not.toHaveBeenCalled(); expect(swRegisterSpy).not.toHaveBeenCalled();
}); });
it('can enable the SW', async() => { it('can enable the SW', async() => {
await configTestBed({enabled: true}); await configTestBed({enabled: true});
expect(TestBed.get(SwUpdate).isEnabled).toBe(true); expect(TestBed.inject(SwUpdate).isEnabled).toBe(true);
expect(swRegisterSpy).toHaveBeenCalledWith('sw.js', {scope: undefined}); expect(swRegisterSpy).toHaveBeenCalledWith('sw.js', {scope: undefined});
}); });
it('defaults to enabling the SW', async() => { it('defaults to enabling the SW', async() => {
await configTestBed({}); await configTestBed({});
expect(TestBed.get(SwUpdate).isEnabled).toBe(true); expect(TestBed.inject(SwUpdate).isEnabled).toBe(true);
expect(swRegisterSpy).toHaveBeenCalledWith('sw.js', {scope: undefined}); expect(swRegisterSpy).toHaveBeenCalledWith('sw.js', {scope: undefined});
}); });
@ -96,7 +96,7 @@ describe('ServiceWorkerModule', () => {
configTestBed({enabled: true, scope: 'provider'}); configTestBed({enabled: true, scope: 'provider'});
await untilStable(); await untilStable();
expect(TestBed.get(SwRegistrationOptions)).toEqual({enabled: true, scope: 'provider'}); expect(TestBed.inject(SwRegistrationOptions)).toEqual({enabled: true, scope: 'provider'});
expect(swRegisterSpy).toHaveBeenCalledWith('sw.js', {scope: 'provider'}); expect(swRegisterSpy).toHaveBeenCalledWith('sw.js', {scope: 'provider'});
}); });
@ -104,7 +104,7 @@ describe('ServiceWorkerModule', () => {
configTestBed({enabled: false}, {enabled: true}); configTestBed({enabled: false}, {enabled: true});
await untilStable(); await untilStable();
expect(TestBed.get(SwUpdate).isEnabled).toBe(false); expect(TestBed.inject(SwUpdate).isEnabled).toBe(false);
expect(swRegisterSpy).not.toHaveBeenCalled(); expect(swRegisterSpy).not.toHaveBeenCalled();
}); });
@ -112,7 +112,7 @@ describe('ServiceWorkerModule', () => {
configTestBed({enabled: true}, {enabled: false}); configTestBed({enabled: true}, {enabled: false});
await untilStable(); await untilStable();
expect(TestBed.get(SwUpdate).isEnabled).toBe(true); expect(TestBed.inject(SwUpdate).isEnabled).toBe(true);
expect(swRegisterSpy).toHaveBeenCalledWith('sw.js', {scope: undefined}); expect(swRegisterSpy).toHaveBeenCalledWith('sw.js', {scope: undefined});
}); });
@ -120,7 +120,7 @@ describe('ServiceWorkerModule', () => {
configTestBed({}, {enabled: false}); configTestBed({}, {enabled: false});
await untilStable(); await untilStable();
expect(TestBed.get(SwUpdate).isEnabled).toBe(true); expect(TestBed.inject(SwUpdate).isEnabled).toBe(true);
expect(swRegisterSpy).toHaveBeenCalledWith('sw.js', {scope: undefined}); expect(swRegisterSpy).toHaveBeenCalledWith('sw.js', {scope: undefined});
}); });
@ -142,7 +142,7 @@ describe('ServiceWorkerModule', () => {
}); });
// Dummy `get()` call to initialize the test "app". // Dummy `get()` call to initialize the test "app".
TestBed.get(ApplicationRef); TestBed.inject(ApplicationRef);
return isStableSub; return isStableSub;
}; };

View File

@ -170,8 +170,8 @@ withEachNg1Version(() => {
} }
beforeEach(() => { beforeEach(() => {
compiler = TestBed.get(Compiler); compiler = TestBed.inject(Compiler);
registry = TestBed.get(TestabilityRegistry); registry = TestBed.inject(TestabilityRegistry);
adapter = getAdaptor(); adapter = getAdaptor();
}); });
beforeEach(() => registry.unregisterAllApplications()); beforeEach(() => registry.unregisterAllApplications());
@ -179,7 +179,7 @@ withEachNg1Version(() => {
it('should add testabilities hook when creating components', () => { it('should add testabilities hook when creating components', () => {
let registry = TestBed.get(TestabilityRegistry); let registry = TestBed.inject(TestabilityRegistry);
adapter.createComponent([]); adapter.createComponent([]);
expect(registry.getAllTestabilities().length).toEqual(1); expect(registry.getAllTestabilities().length).toEqual(1);
@ -189,7 +189,7 @@ withEachNg1Version(() => {
}); });
it('should remove the testability hook when destroy a component', () => { it('should remove the testability hook when destroy a component', () => {
const registry = TestBed.get(TestabilityRegistry); const registry = TestBed.inject(TestabilityRegistry);
expect(registry.getAllTestabilities().length).toEqual(0); expect(registry.getAllTestabilities().length).toEqual(0);
adapter.createComponent([]); adapter.createComponent([]);
expect(registry.getAllTestabilities().length).toEqual(1); expect(registry.getAllTestabilities().length).toEqual(1);

View File

@ -93,7 +93,7 @@ export function createAngularJSTestingModule(angularModules: any[]): string {
imports: angularModules, imports: angularModules,
providers: [{provide: $INJECTOR, useValue: $injector}] providers: [{provide: $INJECTOR, useValue: $injector}]
}); });
return TestBed.get(Injector); return TestBed.inject(Injector);
} }
]) ])
.name; .name;

View File

@ -21,7 +21,7 @@ withEachNg1Version(() => {
defineAppModule(); defineAppModule();
// Configure an NgModule that has the Angular and AngularJS injectors wired up // Configure an NgModule that has the Angular and AngularJS injectors wired up
TestBed.configureTestingModule({imports: [createAngularTestingModule(['app']), AppModule]}); TestBed.configureTestingModule({imports: [createAngularTestingModule(['app']), AppModule]});
const inventory = TestBed.get(Inventory) as Inventory; const inventory = TestBed.inject(Inventory);
expect(inventory.serverRequest).toBe(serverRequestInstance); expect(inventory.serverRequest).toBe(serverRequestInstance);
}); });
@ -29,20 +29,20 @@ withEachNg1Version(() => {
defineAppModule(); defineAppModule();
TestBed.configureTestingModule({imports: [createAngularTestingModule(['app']), AppModule]}); TestBed.configureTestingModule({imports: [createAngularTestingModule(['app']), AppModule]});
// Check that the injectors are wired up correctly // Check that the injectors are wired up correctly
TestBed.get(Inventory) as Inventory; TestBed.inject(Inventory);
// Grab references to the current injectors // Grab references to the current injectors
const injector = TestBed.get(Injector); const injector = TestBed.inject(Injector);
const $injector = TestBed.get($INJECTOR); const $injector = TestBed.inject($INJECTOR as any);
TestBed.resetTestingModule(); TestBed.resetTestingModule();
TestBed.configureTestingModule({imports: [createAngularTestingModule(['app']), AppModule]}); TestBed.configureTestingModule({imports: [createAngularTestingModule(['app']), AppModule]});
// Check that the injectors are wired up correctly // Check that the injectors are wired up correctly
TestBed.get(Inventory) as Inventory; TestBed.inject(Inventory);
// Check that the new injectors are different to the previous ones. // Check that the new injectors are different to the previous ones.
expect(TestBed.get(Injector)).not.toBe(injector); expect(TestBed.inject(Injector)).not.toBe(injector);
expect(TestBed.get($INJECTOR)).not.toBe($injector); expect(TestBed.inject($INJECTOR as any)).not.toBe($injector);
}); });
}); });
}); });