@@ -798,7 +785,6 @@ describe('OnPush components with signals', () => {
it('tracks signal updates if embedded view is change detected directly', () => {
@Component({
- changeDetection: ChangeDetectionStrategy.OnPush,
template: `
`,
})
class Test {
@@ -827,7 +813,6 @@ describe('OnPush components with signals', () => {
it('tracks signal updates if embedded view is change detected directly before attaching', () => {
@Component({
- changeDetection: ChangeDetectionStrategy.OnPush,
template: `
`,
})
class Test {
@@ -861,7 +846,7 @@ describe('OnPush components with signals', () => {
describe('shielded by non-dirty OnPush', () => {
@Component({
selector: 'signal-component',
- changeDetection: ChangeDetectionStrategy.OnPush,
+
template: `{{ value() }}`,
})
class SignalComponent {
@@ -877,7 +862,7 @@ describe('OnPush components with signals', () => {
selector: 'on-push-parent',
template: `
{{ incrementChecks() }}`,
- changeDetection: ChangeDetectionStrategy.OnPush,
+
imports: [SignalComponent],
})
class OnPushParent {
diff --git a/packages/core/test/acceptance/change_detection_transplanted_view_spec.ts b/packages/core/test/acceptance/change_detection_transplanted_view_spec.ts
index 7a0ba6ce87c..380e967446d 100644
--- a/packages/core/test/acceptance/change_detection_transplanted_view_spec.ts
+++ b/packages/core/test/acceptance/change_detection_transplanted_view_spec.ts
@@ -44,7 +44,6 @@ describe('change detection for transplanted views', () => {
describe('when declaration appears before insertion', () => {
@Component({
selector: 'onpush-insert-comp',
- changeDetection: ChangeDetectionStrategy.OnPush,
template: `
OnPushInsertComp({{ greeting }})
@@ -119,7 +118,6 @@ describe('change detection for transplanted views', () => {
selector: `onpush-declare-comp`,
template: ` OnPushDeclareComp({{ name }})
{{ greeting }} {{ logName() }}! `,
- changeDetection: ChangeDetectionStrategy.OnPush,
standalone: false,
})
class OnPushDeclareComp extends DeclareComp {
@@ -137,7 +135,6 @@ describe('change detection for transplanted views', () => {
{{ greeting }} {{ surname() }}{{ logExecutionContext() }}!
`,
- changeDetection: ChangeDetectionStrategy.OnPush,
standalone: false,
})
class SignalOnPushDeclareComp {
@@ -475,7 +472,6 @@ describe('change detection for transplanted views', () => {
template: `
Insertion({{ name }})
`,
- changeDetection: ChangeDetectionStrategy.OnPush,
standalone: false,
})
class Insertion {
@@ -494,7 +490,6 @@ describe('change detection for transplanted views', () => {
TemplateContext({{ contextName }})
`,
- changeDetection: ChangeDetectionStrategy.OnPush,
standalone: false,
})
class Declaration {
@@ -617,7 +612,6 @@ describe('change detection for transplanted views', () => {
@Component({
selector: 'on-push-insertion-host',
template: `
`,
- changeDetection: ChangeDetectionStrategy.OnPush,
standalone: false,
})
class OnPushInsertionHost {
@@ -629,7 +623,6 @@ describe('change detection for transplanted views', () => {
{{ value }}
`,
- changeDetection: ChangeDetectionStrategy.OnPush,
standalone: false,
})
class OnPushDeclaration {
@@ -731,7 +724,6 @@ describe('change detection for transplanted views', () => {
@Component({
selector: 'triple',
template: '
',
- changeDetection: ChangeDetectionStrategy.OnPush,
standalone: false,
})
class TripleTemplate {
@@ -883,7 +875,6 @@ describe('change detection for transplanted views', () => {
@Component({
selector: 'on-push-component',
template: `
`,
- changeDetection: ChangeDetectionStrategy.OnPush,
standalone: false,
})
class OnPushComponent {
@@ -1036,7 +1027,6 @@ describe('change detection for transplanted views', () => {
@Component({
selector: 'insertion',
template: `
`,
- changeDetection: ChangeDetectionStrategy.OnPush,
})
class Insertion {
@ViewChild('vc', {read: ViewContainerRef, static: true}) viewContainer!: ViewContainerRef;
@@ -1160,7 +1150,6 @@ describe('change detection for transplanted views', () => {
@Component({
selector: 'insertion',
template: `
`,
- changeDetection: ChangeDetectionStrategy.OnPush,
})
class Insertion {
@ViewChild('vc', {read: ViewContainerRef, static: true}) viewContainer!: ViewContainerRef;
diff --git a/packages/core/test/acceptance/control_flow_for_spec.ts b/packages/core/test/acceptance/control_flow_for_spec.ts
index 783dd8e0dcc..c9759a0f5ea 100644
--- a/packages/core/test/acceptance/control_flow_for_spec.ts
+++ b/packages/core/test/acceptance/control_flow_for_spec.ts
@@ -1297,7 +1297,6 @@ describe('control flow - for', () => {
// prettier-ignore
@Component({
template: `@for (item of items; track item) {{{item}}|}`,
- changeDetection: ChangeDetectionStrategy.OnPush,
})
class TestComponent {
items = new Proxy([1, 2, 3, 4, 5], {
@@ -1324,7 +1323,6 @@ describe('control flow - for', () => {
// prettier-ignore
@Component({
template: `@for (item of items; track $index) {{{item}}|}`,
- changeDetection: ChangeDetectionStrategy.OnPush,
})
class TestComponent {
items = new Proxy(
diff --git a/packages/core/test/acceptance/create_component_spec.ts b/packages/core/test/acceptance/create_component_spec.ts
index 3905d56ba36..68b34e3020a 100644
--- a/packages/core/test/acceptance/create_component_spec.ts
+++ b/packages/core/test/acceptance/create_component_spec.ts
@@ -1141,7 +1141,6 @@ describe('createComponent', () => {
it('should update view of component set with the onPush strategy after input change', () => {
@Component({
- changeDetection: ChangeDetectionStrategy.OnPush,
template: 'Value: {{ value }}',
})
class DisplayOnPushComponent {
diff --git a/packages/core/test/acceptance/defer_spec.ts b/packages/core/test/acceptance/defer_spec.ts
index cd0948b43e3..e4ec4a817d8 100644
--- a/packages/core/test/acceptance/defer_spec.ts
+++ b/packages/core/test/acceptance/defer_spec.ts
@@ -463,7 +463,6 @@ describe('@defer', () => {
@Component({
selector: 'simple-app',
imports: [MyLazyCmp],
- changeDetection: ChangeDetectionStrategy.OnPush,
template: `
@defer (on immediate) {
@@ -485,7 +484,6 @@ describe('@defer', () => {
it('should render when @defer-loaded component uses OnPush', async () => {
@Component({
selector: 'my-lazy-cmp',
- changeDetection: ChangeDetectionStrategy.OnPush,
template: '{{ foo }}',
})
class MyLazyCmp {
@@ -518,7 +516,6 @@ describe('@defer', () => {
it('should render when both @defer-loaded and host component use OnPush', async () => {
@Component({
selector: 'my-lazy-cmp',
- changeDetection: ChangeDetectionStrategy.OnPush,
template: '{{ foo }}',
})
class MyLazyCmp {
@@ -528,7 +525,6 @@ describe('@defer', () => {
@Component({
selector: 'simple-app',
imports: [MyLazyCmp],
- changeDetection: ChangeDetectionStrategy.OnPush,
template: `
@defer (on immediate) {
@@ -550,7 +546,6 @@ describe('@defer', () => {
it('should render when both OnPush components used in other blocks (e.g. @placeholder)', async () => {
@Component({
selector: 'my-lazy-cmp',
- changeDetection: ChangeDetectionStrategy.OnPush,
template: '{{ foo }}',
})
class MyLazyCmp {
@@ -559,7 +554,6 @@ describe('@defer', () => {
@Component({
selector: 'another-lazy-cmp',
- changeDetection: ChangeDetectionStrategy.OnPush,
template: '{{ foo }}',
})
class AnotherLazyCmp {
@@ -569,7 +563,6 @@ describe('@defer', () => {
@Component({
selector: 'simple-app',
imports: [MyLazyCmp, AnotherLazyCmp],
- changeDetection: ChangeDetectionStrategy.OnPush,
template: `
@defer (when isVisible) {
diff --git a/packages/core/test/acceptance/pipe_spec.ts b/packages/core/test/acceptance/pipe_spec.ts
index 5021a861fd1..b1f54a4fbd5 100644
--- a/packages/core/test/acceptance/pipe_spec.ts
+++ b/packages/core/test/acceptance/pipe_spec.ts
@@ -674,7 +674,6 @@ describe('pipe', () => {
let pipeChangeDetectorRef: ChangeDetectorRef | undefined;
@Component({
- changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'some-comp',
template: 'Inner value: "{{displayValue}}"',
standalone: false,
@@ -685,7 +684,6 @@ describe('pipe', () => {
}
@Component({
- changeDetection: ChangeDetectionStrategy.OnPush,
template: `
Outer value: "{{ displayValue }}"
@@ -730,7 +728,6 @@ describe('pipe', () => {
let pipeChangeDetectorRef: ChangeDetectorRef | undefined;
@Component({
- changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'some-comp',
template: 'Inner value: "{{displayValue}}"
',
standalone: false,
@@ -741,7 +738,6 @@ describe('pipe', () => {
}
@Component({
- changeDetection: ChangeDetectionStrategy.OnPush,
template: `
Hello
diff --git a/packages/core/test/acceptance/query_spec.ts b/packages/core/test/acceptance/query_spec.ts
index 417b1464a69..0a79750cbc3 100644
--- a/packages/core/test/acceptance/query_spec.ts
+++ b/packages/core/test/acceptance/query_spec.ts
@@ -1778,7 +1778,6 @@ describe('query logic', () => {
it('should not throw when hydration metadata has no serialized container data', () => {
@Component({
template: ``,
- changeDetection: ChangeDetectionStrategy.OnPush,
})
class TestCmp {}
diff --git a/packages/core/test/application_ref_spec.ts b/packages/core/test/application_ref_spec.ts
index dc5a2b7822b..96d12974ac7 100644
--- a/packages/core/test/application_ref_spec.ts
+++ b/packages/core/test/application_ref_spec.ts
@@ -763,7 +763,6 @@ describe('bootstrap', () => {
@Component({
template: '',
host: {'[class]': 'clazz'},
- changeDetection: ChangeDetectionStrategy.OnPush,
})
class HostBindingComp {
clazz = 'initial';
diff --git a/packages/core/test/linker/change_detection_integration_spec.ts b/packages/core/test/linker/change_detection_integration_spec.ts
index b3da22ad5b9..03fe0bdce74 100644
--- a/packages/core/test/linker/change_detection_integration_spec.ts
+++ b/packages/core/test/linker/change_detection_integration_spec.ts
@@ -1902,7 +1902,6 @@ class WrapCompWithRef {
selector: 'push-cmp',
template: '{{value}}{{renderIncrement}}',
host: {'(event)': 'noop()'},
- changeDetection: ChangeDetectionStrategy.OnPush,
standalone: false,
})
class PushComp {
diff --git a/packages/core/test/linker/integration_spec.ts b/packages/core/test/linker/integration_spec.ts
index 9566fe00f63..96323229908 100644
--- a/packages/core/test/linker/integration_spec.ts
+++ b/packages/core/test/linker/integration_spec.ts
@@ -2359,7 +2359,6 @@ class EventCmp {
selector: 'push-cmp',
inputs: ['prop'],
host: {'(click)': 'true'},
- changeDetection: ChangeDetectionStrategy.OnPush,
template:
'{{field}}',
standalone: false,
@@ -2383,7 +2382,6 @@ class PushCmp {
@Component({
selector: 'push-cmp-with-ref',
inputs: ['prop'],
- changeDetection: ChangeDetectionStrategy.OnPush,
template: '{{field}}',
standalone: false,
})
@@ -2410,7 +2408,6 @@ class PushCmpWithRef {
@Component({
selector: 'push-cmp-with-host-event',
host: {'(click)': 'ctxCallback($event)'},
- changeDetection: ChangeDetectionStrategy.OnPush,
template: '',
standalone: false,
})
@@ -2420,7 +2417,6 @@ class PushCmpWithHostEvent {
@Component({
selector: 'push-cmp-with-async',
- changeDetection: ChangeDetectionStrategy.OnPush,
template: '{{field | async}}',
standalone: false,
})
diff --git a/packages/core/test/render3/jit/declare_component_spec.ts b/packages/core/test/render3/jit/declare_component_spec.ts
index e4825f0d5b6..23b63d93603 100644
--- a/packages/core/test/render3/jit/declare_component_spec.ts
+++ b/packages/core/test/render3/jit/declare_component_spec.ts
@@ -306,7 +306,6 @@ describe('component declaration jit compilation', () => {
version: '18.0.0',
type: TestClass,
template: '',
- changeDetection: ChangeDetectionStrategy.OnPush,
}) as ComponentDef;
expectComponentDef(def, {
diff --git a/packages/core/test/render3/reactivity_spec.ts b/packages/core/test/render3/reactivity_spec.ts
index e6196903371..7fa2cb70da6 100644
--- a/packages/core/test/render3/reactivity_spec.ts
+++ b/packages/core/test/render3/reactivity_spec.ts
@@ -349,7 +349,6 @@ describe('reactivity', () => {
const source = signal('');
@Component({
- changeDetection: ChangeDetectionStrategy.OnPush,
template: '{{ data }}',
})
class TestCmp {
@@ -392,7 +391,6 @@ describe('reactivity', () => {
}
@Component({
- changeDetection: ChangeDetectionStrategy.OnPush,
providers: [Service],
template: '{{ service.data }}',
})
@@ -439,7 +437,6 @@ describe('reactivity', () => {
@Component({
imports: [Dir],
template: `{{ data }}`,
- changeDetection: ChangeDetectionStrategy.OnPush,
})
class TestCmp {}
diff --git a/packages/core/test/resource/BUILD.bazel b/packages/core/test/resource/BUILD.bazel
index 69dda747125..2ef375225df 100644
--- a/packages/core/test/resource/BUILD.bazel
+++ b/packages/core/test/resource/BUILD.bazel
@@ -1,4 +1,4 @@
-load("//tools:defaults.bzl", "angular_jasmine_test", "ng_project", "ng_web_test_suite")
+load("//tools:defaults.bzl", "ng_project", "ng_web_test_suite", "zoneless_jasmine_test")
package(default_visibility = ["//visibility:private"])
@@ -16,7 +16,7 @@ ng_project(
],
)
-angular_jasmine_test(
+zoneless_jasmine_test(
name = "resource",
data = [
":resource_lib",
diff --git a/packages/core/test/resource/resource_spec.ts b/packages/core/test/resource/resource_spec.ts
index 5d878802f70..494b6ac58a7 100644
--- a/packages/core/test/resource/resource_spec.ts
+++ b/packages/core/test/resource/resource_spec.ts
@@ -6,6 +6,7 @@
* found in the LICENSE file at https://angular.dev/license
*/
+import {timeout} from '@angular/private/testing';
import {
ApplicationRef,
ɵCACHE_ACTIVE as CACHE_ACTIVE,
@@ -52,7 +53,7 @@ abstract class MockBackend {
entry.reject(reason);
}
- return flushMicrotasks();
+ return timeout();
}
async flush(): Promise {
@@ -64,7 +65,7 @@ abstract class MockBackend {
this.pending.clear();
await Promise.all(allPending);
- await flushMicrotasks();
+ await timeout();
}
protected abstract prepareResponse(request: T): R;
@@ -132,7 +133,7 @@ describe('resource', () => {
});
TestBed.tick();
- await flushMicrotasks();
+ await timeout();
expect(prevStatus).toBe('idle');
});
@@ -361,7 +362,7 @@ describe('resource', () => {
// Resolve the first load.
resolve[0]();
- await flushMicrotasks();
+ await timeout();
// The resource should still be loading. Ticking (triggering the 2nd effect)
// should not change the loading status.
@@ -372,7 +373,7 @@ describe('resource', () => {
// Resolve the second load.
resolve[1]?.();
- await flushMicrotasks();
+ await timeout();
// We should see the resolved value.
expect(res.status()).toBe('resolved');
@@ -1108,10 +1109,6 @@ describe('resource', () => {
});
});
-function flushMicrotasks(): Promise {
- return new Promise((resolve) => setTimeout(resolve, 0));
-}
-
function extractError(fn: () => unknown): Error | undefined {
try {
fn();
@@ -1146,7 +1143,7 @@ describe('with TransferState', () => {
expect(testResource.value()).toBe(123);
// Should prevent loader from running
- await flushMicrotasks();
+ await timeout();
expect(testResource.value()).toBe(123);
});
@@ -1162,7 +1159,7 @@ describe('with TransferState', () => {
expect(testResource.status()).toBe('loading');
- await flushMicrotasks();
+ await timeout();
expect(testResource.status()).toBe('resolved');
expect(testResource.value()).toBe(789);
@@ -1179,7 +1176,7 @@ describe('with TransferState', () => {
injector: TestBed.inject(Injector),
});
- await flushMicrotasks();
+ await timeout();
expect(testResource.status()).toBe('resolved');
expect(testResource.value()).toBe(101112);
diff --git a/packages/core/test/signals/BUILD.bazel b/packages/core/test/signals/BUILD.bazel
index d3602b0b55d..cca993968c7 100644
--- a/packages/core/test/signals/BUILD.bazel
+++ b/packages/core/test/signals/BUILD.bazel
@@ -1,4 +1,4 @@
-load("//tools:defaults.bzl", "jasmine_test", "ng_web_test_suite", "ts_project")
+load("//tools:defaults.bzl", "ng_web_test_suite", "ts_project", "zoneless_jasmine_test")
package(default_visibility = ["//visibility:private"])
@@ -16,7 +16,7 @@ ts_project(
],
)
-jasmine_test(
+zoneless_jasmine_test(
name = "signals",
data = [
":signals_lib",