File tree Expand file tree Collapse file tree 2 files changed +36
-6
lines changed
src/material/tree/testing Expand file tree Collapse file tree 2 files changed +36
-6
lines changed Original file line number Diff line number Diff line change @@ -100,15 +100,15 @@ export function runHarnessTests(
100
100
it ( 'should correctly get tree structure' , async ( ) => {
101
101
const trees = await loader . getAllHarnesses ( treeHarness ) ;
102
102
const flatTree = trees [ 0 ] ;
103
- expect ( await flatTree . getTreeStructure ( ) ) . toEqual (
103
+ expect ( await flatTree . getStructureText ( ) ) . toEqual (
104
104
`Flat Group 1
105
105
Flat Group 2` ) ;
106
106
} ) ;
107
107
108
108
it ( 'should correctly get tree structure' , async ( ) => {
109
109
const trees = await loader . getAllHarnesses ( treeHarness ) ;
110
110
const nestedTree = trees [ 1 ] ;
111
- expect ( await nestedTree . getTreeStructure ( ) ) . toEqual (
111
+ expect ( await nestedTree . getStructureText ( ) ) . toEqual (
112
112
`Nested Group 1
113
113
\tNested Leaf 1.1
114
114
\tNested Leaf 1.2
Original file line number Diff line number Diff line change @@ -29,15 +29,45 @@ export class MatTreeHarness extends ComponentHarness {
29
29
return this . locatorForAll ( MatTreeNodeHarness . with ( filter ) ) ( ) ;
30
30
}
31
31
32
- async getTreeStructure ( ) : Promise < string > {
32
+ /**
33
+ * String representation of the tree structure.
34
+ * Eg.
35
+ * Tree:
36
+ * `
37
+ * <mat-tree>
38
+ * <mat-tree-node>Node 1<mat-tree-node>
39
+ * <mat-nested-tree-node>
40
+ * Node 2
41
+ * <mat-nested-tree-node>
42
+ * Node 2.1
43
+ * <mat-tree-node>
44
+ * Node 2.1.1
45
+ * <mat-tree-node>
46
+ * <mat-nested-tree-node>
47
+ * <mat-tree-node>
48
+ * Node 2.2
49
+ * <mat-tree-node>
50
+ * <mat-nested-tree-node>
51
+ * </mat-tree>`
52
+ *
53
+ * Structured text:
54
+ * Node 1
55
+ * Node 2
56
+ * Node 2.1
57
+ * Node 2.1.1
58
+ * Node 2.2
59
+ */
60
+ async getStructureText ( ) : Promise < string > {
33
61
let treeString = '' ;
34
62
const nodes = await this . getNodes ( ) ;
63
+ const levelsAndText = await Promise . all ( nodes . map ( node => {
64
+ return Promise . all ( [ node . getLevel ( ) , node . getText ( ) ] ) ;
65
+ } ) ) ;
35
66
for ( let i = 0 ; i < nodes . length ; i ++ ) {
67
+ const [ level , text ] = levelsAndText [ i ] ;
36
68
treeString += i === 0 ? '' : '\n' ;
37
- const node = nodes [ i ] ;
38
- const level = await node . getLevel ( ) ;
39
69
treeString += '\t' . repeat ( level - 1 ) ;
40
- treeString += await node . getText ( ) ;
70
+ treeString += text ;
41
71
}
42
72
return treeString ;
43
73
}
You can’t perform that action at this time.
0 commit comments