Skip to content

Commit d55a5bd

Browse files
committed
toggle
1 parent b988eda commit d55a5bd

File tree

2 files changed

+20
-22
lines changed

2 files changed

+20
-22
lines changed

src/material/tree/testing/node-harness.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export class MatTreeNodeHarness extends ComponentHarness {
1919
/** The selector of the host element of a `MatTreeNode` instance. */
2020
static hostSelector = '.mat-tree-node';
2121

22-
_toggle = this.locatorForOptional('mattreenodetoggle');
22+
_toggle = this.locatorForOptional('[matTreeNodeToggle]');
2323

2424
/**
2525
* Gets a `HarnessPredicate` that can be used to search for a tree node with specific attributes.
@@ -55,6 +55,7 @@ export class MatTreeNodeHarness extends ComponentHarness {
5555
return (await this.host()).text();
5656
}
5757

58+
/** Expands/collapses the node by clicking on the toggle. Only works when node is not disabled. */
5859
async toggleExpansion(): Promise<void> {
5960
const toggle = await this._toggle();
6061
if (toggle) {

src/material/tree/testing/shared.spec.ts

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,12 @@ export function runHarnessTests(
5050
expect(nestedTreeNestedNodes.length).toBe(3);
5151
});
5252

53-
it('should correctly get properties of node', async () => {
53+
it('should correctly get correct node with text', async () => {
5454
const trees = await loader.getAllHarnesses(treeHarness);
5555
const flatTree = trees[0];
56-
const flatTreeNodes = await flatTree.getNodes();
57-
const secondGroup = flatTreeNodes[1];
56+
const flatTreeNodes = await flatTree.getNodes({text: /Flat Group 2/});
57+
expect(flatTreeNodes.length).toBe(1);
58+
const secondGroup = flatTreeNodes[0];
5859

5960
expect(await secondGroup.getRole()).toBe('group');
6061
expect(await secondGroup.getText()).toBe('Toggle Flat Group 2');
@@ -66,15 +67,14 @@ export function runHarnessTests(
6667
it('should toggle expansion', async () => {
6768
const trees = await loader.getAllHarnesses(treeHarness);
6869
const nestedTree = trees[1];
69-
const nestedTreeNodes = await nestedTree.getNodes();
70-
const firstGroup = nestedTreeNodes[1];
70+
const nestedTreeNodes = await nestedTree.getNestedNodes();
71+
const firstGroup = nestedTreeNodes[0];
7172

7273
expect(await firstGroup.isExpanded()).toBe(false);
7374

7475
await firstGroup.toggleExpansion();
7576

7677
expect(await firstGroup.isExpanded()).toBe(true);
77-
7878
});
7979
}
8080

@@ -149,8 +149,7 @@ interface ExampleFlatNode {
149149
</mat-tree-node>
150150
<!-- This is the tree node template for expandable nodes -->
151151
<mat-tree-node *matTreeNodeDef="let node;when: flatTreeHasChild" matTreeNodePadding>
152-
<button matTreeNodeToggle
153-
[attr.aria-label]="'toggle ' + node.name">
152+
<button matTreeNodeToggle>
154153
Toggle
155154
</button>
156155
{{node.name}}
@@ -164,8 +163,7 @@ interface ExampleFlatNode {
164163
</mat-tree-node>
165164
<!-- This is the tree node template for expandable nodes -->
166165
<mat-nested-tree-node *matTreeNodeDef="let node; when: nestedTreeHasChild">
167-
<button matTreeNodeToggle
168-
[attr.aria-label]="'toggle ' + node.name">
166+
<button matTreeNodeToggle>
169167
Toggle
170168
</button>
171169
{{node.name}}
@@ -177,6 +175,16 @@ interface ExampleFlatNode {
177175
`
178176
})
179177
class TreeHarnessTest {
178+
private _transformer = (node: FoodNode, level: number) => {
179+
return {
180+
expandable: !!node.children && node.children.length > 0,
181+
name: node.name,
182+
level: level,
183+
};
184+
};
185+
186+
treeFlattener = new MatTreeFlattener(
187+
this._transformer, node => node.level, node => node.expandable, node => node.children);
180188
flatTreeControl = new FlatTreeControl<ExampleFlatNode>(
181189
node => node.level, node => node.expandable);
182190
flatTreeDataSource = new MatTreeFlatDataSource(this.flatTreeControl, this.treeFlattener);
@@ -191,15 +199,4 @@ class TreeHarnessTest {
191199
flatTreeHasChild = (_: number, node: ExampleFlatNode) => node.expandable;
192200

193201
nestedTreeHasChild = (_: number, node: FoodNode) => !!node.children && node.children.length > 0;
194-
195-
private _transformer = (node: FoodNode, level: number) => {
196-
return {
197-
expandable: !!node.children && node.children.length > 0,
198-
name: node.name,
199-
level: level,
200-
};
201-
};
202-
203-
treeFlattener = new MatTreeFlattener(
204-
this._transformer, node => node.level, node => node.expandable, node => node.children);
205202
}

0 commit comments

Comments
 (0)