Skip to content

Commit a554208

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

File tree

8 files changed

+53
-48
lines changed

8 files changed

+53
-48
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: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ ts_library(
7575
"//packages/core/testing",
7676
"//packages/localize/init",
7777
"//packages/platform-browser",
78-
"//packages/platform-browser-dynamic",
7978
"//packages/platform-browser/animations",
8079
"//packages/platform-browser/testing",
8180
"//packages/platform-server",

packages/core/test/application_ref_spec.ts

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,12 @@ import {
1515
Compiler,
1616
CompilerFactory,
1717
Component,
18-
effect,
1918
EnvironmentInjector,
2019
InjectionToken,
2120
LOCALE_ID,
2221
NgModule,
2322
NgZone,
2423
PlatformRef,
25-
ProviderToken,
2624
provideZoneChangeDetection,
2725
RendererFactory2,
2826
TemplateRef,
@@ -48,6 +46,7 @@ import {ApplicationRef} from '../src/application/application_ref';
4846
import {NoopNgZone} from '../src/zone/ng_zone';
4947
import {ComponentFixtureNoNgZone, inject, TestBed, waitForAsync, withModule} from '../testing';
5048
import {take} from 'rxjs/operators';
49+
import {compileNgModuleFactory} from '../src/application/application_ngmodule_factory_compiler';
5150

5251
let serverPlatformModule: Promise<Type<ServerModule>> | null = null;
5352
if (isNode) {
@@ -661,45 +660,38 @@ describe('bootstrap', () => {
661660
initializerDone = true;
662661
}, 1);
663662

664-
const compilerFactory: CompilerFactory = defaultPlatform.injector.get(CompilerFactory, null)!;
665-
const moduleFactory = compilerFactory
666-
.createCompiler()
667-
.compileModuleSync(
668-
await createModule([{provide: APP_INITIALIZER, useValue: () => promise, multi: true}]),
669-
);
663+
const moduleType = await createModule([
664+
{provide: APP_INITIALIZER, useValue: () => promise, multi: true},
665+
]);
666+
const moduleFactory = await compileNgModuleFactory(defaultPlatform.injector, {}, moduleType);
667+
670668
defaultPlatform.bootstrapModuleFactory(moduleFactory).then((_) => {
671669
expect(initializerDone).toBe(true);
672670
});
673671
}));
674672

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

694690
it('should rethrow promise errors even if the exceptionHandler is not rethrowing', waitForAsync(async () => {
695-
const compilerFactory: CompilerFactory = defaultPlatform.injector.get(CompilerFactory, null)!;
696-
const moduleFactory = compilerFactory
697-
.createCompiler()
698-
.compileModuleSync(
699-
await createModule([
700-
{provide: APP_INITIALIZER, useValue: () => Promise.reject('Test'), multi: true},
701-
]),
702-
);
691+
const moduleType = await createModule([
692+
{provide: APP_INITIALIZER, useValue: () => Promise.reject('Test'), multi: true},
693+
]);
694+
const moduleFactory = await compileNgModuleFactory(defaultPlatform.injector, {}, moduleType);
703695
defaultPlatform.bootstrapModuleFactory(moduleFactory).then(
704696
() => expect(false).toBe(true),
705697
(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/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ ts_library(
1818
"//packages/core/testing",
1919
"//packages/platform-browser-dynamic",
2020
"//packages/platform-browser-dynamic/testing",
21+
"//packages/platform-browser/animations",
2122
"//packages/platform-browser/testing",
2223
"//packages/private/testing",
2324
],

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

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@
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';
15+
import {NoopAnimationsModule} from '@angular/platform-browser/animations';
1316

1417
// Components for the tests.
1518
class FancyService {
@@ -54,6 +57,15 @@ if (isBrowser) {
5457
describe('using the test injector with the inject helper', () => {
5558
describe('setting up Providers', () => {
5659
beforeEach(() => {
60+
getPlatform()?.destroy();
61+
// We need to reset the test environment because
62+
// browser_tests.init.ts doesn't use platformBrowserDynamicTesting
63+
TestBed.resetTestEnvironment();
64+
TestBed.initTestEnvironment(
65+
[BrowserDynamicTestingModule],
66+
platformBrowserDynamicTesting(),
67+
);
68+
5769
TestBed.configureTestingModule({
5870
providers: [{provide: FancyService, useValue: new FancyService()}],
5971
});
@@ -76,6 +88,17 @@ if (isBrowser) {
7688
expect(value).toEqual('async value');
7789
}),
7890
));
91+
92+
afterEach(() => {
93+
getPlatform()?.destroy();
94+
95+
// We're reset the test environment to their default values, cf browser_tests.init.ts
96+
TestBed.resetTestEnvironment();
97+
TestBed.initTestEnvironment(
98+
[BrowserTestingModule, NoopAnimationsModule],
99+
platformBrowserTesting(),
100+
);
101+
});
79102
});
80103
});
81104

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)