Skip to content

Commit f407a87

Browse files
committed
fix(cdk/tree): fix tests for zoneless
1 parent f22830c commit f407a87

File tree

3 files changed

+16
-9
lines changed

3 files changed

+16
-9
lines changed

src/cdk/tree/tree-with-tree-control.spec.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import {
1212
ViewChild,
1313
TrackByFunction,
1414
Type,
15-
provideZoneChangeDetection,
1615
EventEmitter,
1716
ViewChildren,
1817
QueryList,
@@ -30,7 +29,7 @@ import {NestedTreeControl} from './control/nested-tree-control';
3029
import {CdkTreeModule, CdkTreeNodePadding} from './index';
3130
import {CdkTree, CdkTreeNode} from './tree';
3231

33-
describe('CdkTree', () => {
32+
describe('CdkTree with TreeControl', () => {
3433
/** Represents an indent for expectNestedTreeToMatch */
3534
const _ = {};
3635
let dataSource: FakeDataSource;
@@ -42,7 +41,6 @@ describe('CdkTree', () => {
4241
TestBed.configureTestingModule({
4342
imports: [CdkTreeModule],
4443
providers: [
45-
provideZoneChangeDetection(),
4644
{
4745
provide: Directionality,
4846
useFactory: () => (dir = {value: 'ltr', change: new EventEmitter<Direction>()}),
@@ -150,6 +148,7 @@ describe('CdkTree', () => {
150148

151149
it('should be able to use units different from px for the indentation', () => {
152150
component.indent = '15rem';
151+
fixture.changeDetectorRef.markForCheck();
153152
fixture.detectChanges();
154153

155154
const data = dataSource.data;
@@ -166,6 +165,7 @@ describe('CdkTree', () => {
166165

167166
it('should default to px if no unit is set for string value indentation', () => {
168167
component.indent = '17';
168+
fixture.changeDetectorRef.markForCheck();
169169
fixture.detectChanges();
170170

171171
const data = dataSource.data;
@@ -182,6 +182,7 @@ describe('CdkTree', () => {
182182

183183
it('should be able to set zero as the indent level', () => {
184184
component.paddingNodes.forEach(node => (node.level = 0));
185+
fixture.changeDetectorRef.markForCheck();
185186
fixture.detectChanges();
186187

187188
const data = dataSource.data;
@@ -200,6 +201,7 @@ describe('CdkTree', () => {
200201
const node = getNodes(treeElement)[0];
201202

202203
component.indent = 10;
204+
fixture.changeDetectorRef.markForCheck();
203205
fixture.detectChanges();
204206

205207
expect(node.style.paddingLeft).toBe('10px');
@@ -391,6 +393,7 @@ describe('CdkTree', () => {
391393
);
392394

393395
dataSource.addChild(data[1]);
396+
fixture.changeDetectorRef.markForCheck();
394397
fixture.detectChanges();
395398

396399
treeElement = fixture.nativeElement.querySelector('cdk-tree');
@@ -771,6 +774,7 @@ describe('CdkTree', () => {
771774
let data = dataSource.data;
772775
const child = dataSource.addChild(data[1], false);
773776
dataSource.addChild(child, false);
777+
fixture.changeDetectorRef.markForCheck();
774778
fixture.detectChanges();
775779

776780
(getNodes(treeElement)[1] as HTMLElement).click();
@@ -793,6 +797,7 @@ describe('CdkTree', () => {
793797
const child = dataSource.addChild(data[1], false);
794798
dataSource.addChild(child, false);
795799

800+
fixture.changeDetectorRef.markForCheck();
796801
fixture.detectChanges();
797802

798803
expectNestedTreeToMatch(
@@ -1192,6 +1197,7 @@ describe('CdkTree', () => {
11921197

11931198
it('ignores clicks on disabled items', () => {
11941199
dataSource.data[1].isDisabled = true;
1200+
fixture.changeDetectorRef.markForCheck();
11951201
fixture.detectChanges();
11961202

11971203
nodes[1].click();

src/cdk/tree/tree.spec.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1240,6 +1240,7 @@ describe('CdkTree', () => {
12401240

12411241
it('ignores clicks on disabled items', () => {
12421242
dataSource.data[1].isDisabled = true;
1243+
fixture.changeDetectorRef.markForCheck();
12431244
fixture.detectChanges();
12441245
expect(nodes.map(x => x.getAttribute('tabindex')).join(', ')).toEqual('0, -1, -1');
12451246

src/cdk/tree/tree.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ import {
5959
isObservable,
6060
of as observableOf,
6161
} from 'rxjs';
62-
import {distinctUntilChanged,
62+
import {
63+
distinctUntilChanged,
6364
concatMap,
6465
map,
6566
reduce,
@@ -351,7 +352,7 @@ export class CdkTree<T, K = T>
351352
}
352353
}
353354

354-
private _getExpansionModel() {
355+
_getExpansionModel() {
355356
if (!this.treeControl) {
356357
this._expansionModel ??= new SelectionModel<K>(true);
357358
return this._expansionModel;
@@ -1137,8 +1138,6 @@ export class CdkTree<T, K = T>
11371138
export class CdkTreeNode<T, K = T> implements OnDestroy, OnInit, TreeKeyManagerItem {
11381139
protected _tabindex: number | null = -1;
11391140

1140-
_changeDetectorRef = inject(ChangeDetectorRef);
1141-
11421141
/**
11431142
* The role of the tree node.
11441143
*
@@ -1300,8 +1299,9 @@ export class CdkTreeNode<T, K = T> implements OnDestroy, OnInit, TreeKeyManagerI
13001299

13011300
ngOnInit(): void {
13021301
this._parentNodeAriaLevel = getParentNodeAriaLevel(this._elementRef.nativeElement);
1303-
this._tree._getExpansionModel().changed
1304-
.pipe(
1302+
this._tree
1303+
._getExpansionModel()
1304+
.changed.pipe(
13051305
map(() => this.isExpanded),
13061306
distinctUntilChanged(),
13071307
)

0 commit comments

Comments
 (0)