Skip to content

Commit b2b8566

Browse files
JeanMechemmalerba
authored andcommitted
build: Run browsers tests without platform-browser-dynamic (#60937)
Use the regular `platform-browser` providers instead. PR Close #60937
1 parent 46c1ade commit b2b8566

File tree

7 files changed

+49
-46
lines changed

7 files changed

+49
-46
lines changed

packages/animations/test/browser_animation_builder_spec.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,9 @@ import {DOCUMENT} from '@angular/common';
1717
import {Component, NgZone, RendererFactory2, ViewChild} from '@angular/core';
1818
import {fakeAsync, flushMicrotasks, TestBed} from '@angular/core/testing';
1919
import {ɵDomRendererFactory2 as DomRendererFactory2} from '@angular/platform-browser';
20-
import {
21-
BrowserDynamicTestingModule,
22-
platformBrowserDynamicTesting,
23-
} from '@angular/platform-browser-dynamic/testing';
2420
import {NoopAnimationsModule} from '@angular/platform-browser/animations';
2521
import {ɵAsyncAnimationRendererFactory as AsyncAnimationRendererFactory} from '@angular/platform-browser/animations/async';
22+
import {BrowserTestingModule, platformBrowserTesting} from '@angular/platform-browser/testing';
2623

2724
describe('BrowserAnimationBuilder', () => {
2825
if (isNode) {
@@ -236,7 +233,7 @@ describe('BrowserAnimationBuilder', () => {
236233
// We need to reset the test environment because
237234
// browser_tests.init.ts inits the environment with the NoopAnimationsModule
238235
TestBed.resetTestEnvironment();
239-
TestBed.initTestEnvironment([BrowserDynamicTestingModule], platformBrowserDynamicTesting());
236+
TestBed.initTestEnvironment([BrowserTestingModule], platformBrowserTesting());
240237
});
241238

242239
it('should throw an error when injecting AnimationBuilder without animation providers set', () => {
@@ -249,8 +246,8 @@ describe('BrowserAnimationBuilder', () => {
249246
// We're reset the test environment to their default values, cf browser_tests.init.ts
250247
TestBed.resetTestEnvironment();
251248
TestBed.initTestEnvironment(
252-
[BrowserDynamicTestingModule, NoopAnimationsModule],
253-
platformBrowserDynamicTesting(),
249+
[BrowserTestingModule, NoopAnimationsModule],
250+
platformBrowserTesting(),
254251
);
255252
});
256253
});

packages/core/test/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ ts_library(
7575
"//packages/core/testing",
7676
"//packages/localize/init",
7777
"//packages/platform-browser",
78-
"//packages/platform-browser-dynamic",
78+
"//packages/platform-browser-dynamic/testing",
7979
"//packages/platform-browser/animations",
8080
"//packages/platform-browser/testing",
8181
"//packages/platform-server",

packages/core/test/application_ref_spec.ts

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ import {ApplicationRef} from '../src/application/application_ref';
4646
import {NoopNgZone} from '../src/zone/ng_zone';
4747
import {ComponentFixtureNoNgZone, inject, TestBed, waitForAsync, withModule} from '../testing';
4848
import {take} from 'rxjs/operators';
49+
import {compileNgModuleFactory} from '../src/application/application_ngmodule_factory_compiler';
4950

5051
let serverPlatformModule: Promise<Type<ServerModule>> | null = null;
5152
if (isNode) {
@@ -659,45 +660,38 @@ describe('bootstrap', () => {
659660
initializerDone = true;
660661
}, 1);
661662

662-
const compilerFactory: CompilerFactory = defaultPlatform.injector.get(CompilerFactory, null)!;
663-
const moduleFactory = compilerFactory
664-
.createCompiler()
665-
.compileModuleSync(
666-
await createModule([{provide: APP_INITIALIZER, useValue: () => promise, multi: true}]),
667-
);
663+
const moduleType = await createModule([
664+
{provide: APP_INITIALIZER, useValue: () => promise, multi: true},
665+
]);
666+
const moduleFactory = await compileNgModuleFactory(defaultPlatform.injector, {}, moduleType);
667+
668668
defaultPlatform.bootstrapModuleFactory(moduleFactory).then((_) => {
669669
expect(initializerDone).toBe(true);
670670
});
671671
}));
672672

673673
it('should rethrow sync errors even if the exceptionHandler is not rethrowing', waitForAsync(async () => {
674-
const compilerFactory: CompilerFactory = defaultPlatform.injector.get(CompilerFactory, null)!;
675-
const moduleFactory = compilerFactory.createCompiler().compileModuleSync(
676-
await createModule([
677-
{
678-
provide: APP_INITIALIZER,
679-
useValue: () => {
680-
throw 'Test';
681-
},
682-
multi: true,
674+
const moduleType = await createModule([
675+
{
676+
provide: APP_INITIALIZER,
677+
useValue: () => {
678+
throw 'Test';
683679
},
684-
]),
685-
);
680+
multi: true,
681+
},
682+
]);
683+
const moduleFactory = await compileNgModuleFactory(defaultPlatform.injector, {}, moduleType);
686684
expect(() => defaultPlatform.bootstrapModuleFactory(moduleFactory)).toThrow('Test');
687685
// Error rethrown will be seen by the exception handler since it's after
688686
// construction.
689687
expect(mockConsole.res[0].join('#')).toEqual('ERROR#Test');
690688
}));
691689

692690
it('should rethrow promise errors even if the exceptionHandler is not rethrowing', waitForAsync(async () => {
693-
const compilerFactory: CompilerFactory = defaultPlatform.injector.get(CompilerFactory, null)!;
694-
const moduleFactory = compilerFactory
695-
.createCompiler()
696-
.compileModuleSync(
697-
await createModule([
698-
{provide: APP_INITIALIZER, useValue: () => Promise.reject('Test'), multi: true},
699-
]),
700-
);
691+
const moduleType = await createModule([
692+
{provide: APP_INITIALIZER, useValue: () => Promise.reject('Test'), multi: true},
693+
]);
694+
const moduleFactory = await compileNgModuleFactory(defaultPlatform.injector, {}, moduleType);
701695
defaultPlatform.bootstrapModuleFactory(moduleFactory).then(
702696
() => expect(false).toBe(true),
703697
(e) => {

packages/core/test/linker/regression_integration_spec.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ import {
3636
ViewContainerRef,
3737
} from '../../src/core';
3838
import {fakeAsync, inject, TestBed, tick} from '../../testing';
39-
import {BrowserModule, By} from '@angular/platform-browser';
40-
import {platformBrowserDynamic} from '@angular/platform-browser-dynamic';
39+
import {BrowserModule, By, platformBrowser} from '@angular/platform-browser';
4140
import {expect} from '@angular/platform-browser/testing/src/matchers';
4241

4342
describe('regressions', () => {
@@ -485,7 +484,7 @@ describe('regressions using bootstrap', () => {
485484
})
486485
class TestModule {}
487486

488-
platformBrowserDynamic()
487+
platformBrowser()
489488
.bootstrapModule(TestModule)
490489
.then((ref) => {
491490
NgZone.assertNotInAngularZone();

packages/platform-browser-dynamic/test/testing_public_browser_spec.ts

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@
77
*/
88

99
import {ResourceLoader} from '@angular/compiler';
10-
import {Compiler, Component, NgModule} from '@angular/core';
10+
import {Compiler, Component, getPlatform, NgModule, PlatformRef} from '@angular/core';
1111
import {fakeAsync, inject, TestBed, tick, waitForAsync} from '@angular/core/testing';
1212
import {ResourceLoaderImpl} from '../src/resource_loader/resource_loader_impl';
13+
import {BrowserDynamicTestingModule, platformBrowserDynamicTesting} from '../testing';
14+
import {BrowserTestingModule, platformBrowserTesting} from '@angular/platform-browser/testing';
1315

1416
// Components for the tests.
1517
class FancyService {
@@ -54,6 +56,15 @@ if (isBrowser) {
5456
describe('using the test injector with the inject helper', () => {
5557
describe('setting up Providers', () => {
5658
beforeEach(() => {
59+
getPlatform()?.destroy();
60+
// We need to reset the test environment because
61+
// browser_tests.init.ts doesn't use platformBrowserDynamicTesting
62+
TestBed.resetTestEnvironment();
63+
TestBed.initTestEnvironment(
64+
[BrowserDynamicTestingModule],
65+
platformBrowserDynamicTesting(),
66+
);
67+
5768
TestBed.configureTestingModule({
5869
providers: [{provide: FancyService, useValue: new FancyService()}],
5970
});
@@ -76,6 +87,14 @@ if (isBrowser) {
7687
expect(value).toEqual('async value');
7788
}),
7889
));
90+
91+
afterEach(() => {
92+
getPlatform()?.destroy();
93+
94+
// We're reset the test environment to their default values, cf browser_tests.init.ts
95+
TestBed.resetTestEnvironment();
96+
TestBed.initTestEnvironment([BrowserTestingModule], platformBrowserTesting());
97+
});
7998
});
8099
});
81100

tools/testing/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ ts_library(
2020
":zone_base_setup_lib",
2121
"//packages/compiler",
2222
"//packages/core/testing",
23-
"//packages/platform-browser-dynamic/testing",
2423
"//packages/platform-browser/animations",
24+
"//packages/platform-browser/testing",
2525
"//packages/zone.js/lib",
2626
],
2727
)

tools/testing/browser_tests.init.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,10 @@ import './zone_base_setup';
1111
import '@angular/compiler'; // For JIT mode. Must be in front of any other @angular/* imports.
1212

1313
import {TestBed} from '@angular/core/testing';
14-
import {
15-
BrowserDynamicTestingModule,
16-
platformBrowserDynamicTesting,
17-
} from '@angular/platform-browser-dynamic/testing';
14+
import {BrowserTestingModule, platformBrowserTesting} from '@angular/platform-browser/testing';
1815
import {NoopAnimationsModule} from '@angular/platform-browser/animations';
1916

20-
TestBed.initTestEnvironment(
21-
[BrowserDynamicTestingModule, NoopAnimationsModule],
22-
platformBrowserDynamicTesting(),
23-
);
17+
TestBed.initTestEnvironment([BrowserTestingModule, NoopAnimationsModule], platformBrowserTesting());
2418

2519
(window as any).isNode = false;
2620
(window as any).isBrowser = true;

0 commit comments

Comments
 (0)