Skip to content

Commit df6c205

Browse files
thePunderWomandylhunn
authored andcommitted
fix(core): Change defer block fixture default behavior to playthrough (#53956)
This inverts the default behavior of test bed to use playthrough for defer blocks instead of manual. fixes: #53686 PR Close #53956
1 parent f9781f9 commit df6c205

3 files changed

Lines changed: 14 additions & 11 deletions

File tree

packages/core/src/defer/interfaces.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,12 +210,13 @@ export interface DeferBlockConfig {
210210
export enum DeferBlockBehavior {
211211
/**
212212
* Manual triggering mode for defer blocks. Provides control over when defer blocks render
213-
* and which state they render. This is the default behavior in test environments.
213+
* and which state they render.
214214
*/
215215
Manual,
216216

217217
/**
218218
* Playthrough mode for defer blocks. This mode behaves like defer blocks would in a browser.
219+
* This is the default behavior in test environments.
219220
*/
220221
Playthrough,
221222
}

packages/core/test/test_bed_spec.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2149,20 +2149,20 @@ describe('TestBed defer block behavior', () => {
21492149
TestBed.resetTestingModule();
21502150
});
21512151

2152-
it('should default defer block behavior to manual', () => {
2153-
expect(TestBedImpl.INSTANCE.getDeferBlockBehavior()).toBe(DeferBlockBehavior.Manual);
2152+
it('should default defer block behavior to playthrough', () => {
2153+
expect(TestBedImpl.INSTANCE.getDeferBlockBehavior()).toBe(DeferBlockBehavior.Playthrough);
21542154
});
21552155

21562156
it('should be able to configure defer block behavior', () => {
2157-
TestBed.configureTestingModule({deferBlockBehavior: DeferBlockBehavior.Playthrough});
2158-
expect(TestBedImpl.INSTANCE.getDeferBlockBehavior()).toBe(DeferBlockBehavior.Playthrough);
2157+
TestBed.configureTestingModule({deferBlockBehavior: DeferBlockBehavior.Manual});
2158+
expect(TestBedImpl.INSTANCE.getDeferBlockBehavior()).toBe(DeferBlockBehavior.Manual);
21592159
});
21602160

21612161
it('should reset the defer block behavior back to the default when TestBed is reset', () => {
2162-
TestBed.configureTestingModule({deferBlockBehavior: DeferBlockBehavior.Playthrough});
2163-
expect(TestBedImpl.INSTANCE.getDeferBlockBehavior()).toBe(DeferBlockBehavior.Playthrough);
2164-
TestBed.resetTestingModule();
2162+
TestBed.configureTestingModule({deferBlockBehavior: DeferBlockBehavior.Manual});
21652163
expect(TestBedImpl.INSTANCE.getDeferBlockBehavior()).toBe(DeferBlockBehavior.Manual);
2164+
TestBed.resetTestingModule();
2165+
expect(TestBedImpl.INSTANCE.getDeferBlockBehavior()).toBe(DeferBlockBehavior.Playthrough);
21662166
});
21672167
});
21682168

packages/core/testing/src/test_bed.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ import {MetadataOverride} from './metadata_override';
5050
import {ComponentFixtureAutoDetect, ComponentFixtureNoNgZone, ModuleTeardownOptions, TEARDOWN_TESTING_MODULE_ON_DESTROY_DEFAULT, TestComponentRenderer, TestEnvironmentOptions, TestModuleMetadata, THROW_ON_UNKNOWN_ELEMENTS_DEFAULT, THROW_ON_UNKNOWN_PROPERTIES_DEFAULT} from './test_bed_common';
5151
import {TestBedCompiler} from './test_bed_compiler';
5252

53+
const DEFER_BLOCK_DEFAULT_BEHAVIOR = DeferBlockBehavior.Playthrough;
54+
5355
/**
5456
* Static methods implemented by the `TestBed`.
5557
*
@@ -205,7 +207,7 @@ export class TestBedImpl implements TestBed {
205207
* Defer block behavior option that specifies whether defer blocks will be triggered manually
206208
* or set to play through.
207209
*/
208-
private _instanceDeferBlockBehavior = DeferBlockBehavior.Manual;
210+
private _instanceDeferBlockBehavior = DEFER_BLOCK_DEFAULT_BEHAVIOR;
209211

210212
/**
211213
* "Error on unknown elements" option that has been configured at the `TestBed` instance level.
@@ -481,7 +483,7 @@ export class TestBedImpl implements TestBed {
481483
this._instanceTeardownOptions = undefined;
482484
this._instanceErrorOnUnknownElementsOption = undefined;
483485
this._instanceErrorOnUnknownPropertiesOption = undefined;
484-
this._instanceDeferBlockBehavior = DeferBlockBehavior.Manual;
486+
this._instanceDeferBlockBehavior = DEFER_BLOCK_DEFAULT_BEHAVIOR;
485487
}
486488
}
487489
return this;
@@ -512,7 +514,7 @@ export class TestBedImpl implements TestBed {
512514
this._instanceTeardownOptions = moduleDef.teardown;
513515
this._instanceErrorOnUnknownElementsOption = moduleDef.errorOnUnknownElements;
514516
this._instanceErrorOnUnknownPropertiesOption = moduleDef.errorOnUnknownProperties;
515-
this._instanceDeferBlockBehavior = moduleDef.deferBlockBehavior ?? DeferBlockBehavior.Manual;
517+
this._instanceDeferBlockBehavior = moduleDef.deferBlockBehavior ?? DEFER_BLOCK_DEFAULT_BEHAVIOR;
516518
// Store the current value of the strict mode option,
517519
// so we can restore it later
518520
this._previousErrorOnUnknownElementsOption = getUnknownElementStrictMode();

0 commit comments

Comments
 (0)