OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 /** | 5 /** |
6 * Test fixture for tree_walker.js. | 6 * Test fixture for tree_walker.js. |
7 * @constructor | 7 * @constructor |
8 * @extends {testing.Test} | 8 * @extends {testing.Test} |
9 */ | 9 */ |
10 function AutomationTreeWalkerUnitTest () { | 10 function AutomationTreeWalkerUnitTest () { |
11 testing.Test.call(this); | 11 testing.Test.call(this); |
12 }; | 12 }; |
13 | 13 |
14 AutomationTreeWalkerUnitTest.prototype = { | 14 AutomationTreeWalkerUnitTest.prototype = { |
15 __proto__: testing.Test.prototype, | 15 __proto__: testing.Test.prototype, |
16 | 16 |
17 /** @override */ | 17 /** @override */ |
18 extraLibraries: [ | 18 extraLibraries: [ |
19 'tree_walker.js', | 19 'tree_walker.js', |
20 ], | 20 ], |
21 | 21 |
| 22 /** @override */ |
| 23 browsePreload: DUMMY_URL, |
| 24 |
22 getSampleTree: function() { | 25 getSampleTree: function() { |
23 // root | 26 // root |
24 // middle1 | 27 // middle1 |
25 // leaf1 | 28 // leaf1 |
26 // leaf2 | 29 // leaf2 |
27 // leaf3 | 30 // leaf3 |
28 // middle2 | 31 // middle2 |
29 // leaf4 | 32 // leaf4 |
30 // leaf5 | 33 // leaf5 |
31 let root = {}; | 34 let root = {}; |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 middle2: middle2, | 71 middle2: middle2, |
69 leaf1: leaf1, | 72 leaf1: leaf1, |
70 leaf2: leaf2, | 73 leaf2: leaf2, |
71 leaf3: leaf3, | 74 leaf3: leaf3, |
72 leaf4: leaf4, | 75 leaf4: leaf4, |
73 leaf5: leaf5 | 76 leaf5: leaf5 |
74 }; | 77 }; |
75 } | 78 } |
76 }; | 79 }; |
77 | 80 |
| 81 TEST_F('AutomationTreeWalkerUnitTest', 'MoveToNode', function() { |
| 82 let t = this.getSampleTree(); |
| 83 let treeWalker = new AutomationTreeWalker(); |
| 84 |
| 85 let interesting = {focusable: true}; |
| 86 t.leaf1.state = interesting; |
| 87 t.leaf2.state = interesting; |
| 88 t.middle2.state = interesting; |
| 89 t.leaf5.state = interesting; |
| 90 |
| 91 // Move to next node. |
| 92 assertEquals(t.leaf1, treeWalker.moveToNode(t.root, t.root, true)); |
| 93 assertEquals(t.leaf1, treeWalker.moveToNode(t.middle1, t.root, true)); |
| 94 assertEquals(t.leaf2, treeWalker.moveToNode(t.leaf1, t.root, true)); |
| 95 assertEquals(t.middle2, treeWalker.moveToNode(t.leaf2, t.root, true)); |
| 96 assertEquals(t.middle2, treeWalker.moveToNode(t.leaf3, t.root, true)); |
| 97 assertEquals(t.leaf5, treeWalker.moveToNode(t.middle2, t.root, true)); |
| 98 assertEquals(t.leaf5, treeWalker.moveToNode(t.leaf4, t.root, true)); |
| 99 assertEquals(t.leaf1, treeWalker.moveToNode(t.leaf5, t.root, true)); |
| 100 |
| 101 // Move to previous node. |
| 102 assertEquals(t.middle2, treeWalker.moveToNode(t.leaf5, t.root, false)); |
| 103 assertEquals(t.middle2, treeWalker.moveToNode(t.leaf4, t.root, false)); |
| 104 assertEquals(t.leaf2, treeWalker.moveToNode(t.middle2, t.root, false)); |
| 105 assertEquals(t.leaf2, treeWalker.moveToNode(t.leaf3, t.root, false)); |
| 106 assertEquals(t.leaf1, treeWalker.moveToNode(t.leaf2, t.root, false)); |
| 107 assertEquals(t.leaf5, treeWalker.moveToNode(t.leaf1, t.root, false)); |
| 108 assertEquals(t.leaf5, treeWalker.moveToNode(t.middle1, t.root, false)); |
| 109 assertEquals(t.leaf5, treeWalker.moveToNode(t.root, t.root, false)); |
| 110 }); |
| 111 |
78 TEST_F('AutomationTreeWalkerUnitTest', 'GetNextNode', function() { | 112 TEST_F('AutomationTreeWalkerUnitTest', 'GetNextNode', function() { |
79 let tree = this.getSampleTree(); | 113 let t = this.getSampleTree(); |
80 let treeWalker = new AutomationTreeWalker(); | 114 let treeWalker = new AutomationTreeWalker(); |
81 | 115 |
82 let order = | 116 let order = |
83 [tree.root, tree.middle1, tree.leaf1, tree.leaf2, tree.leaf3, | 117 [t.root, t.middle1, t.leaf1, t.leaf2, t.leaf3, |
84 tree.middle2, tree.leaf4, tree.leaf5]; | 118 t.middle2, t.leaf4, t.leaf5]; |
85 let node = tree.root; | 119 let node = t.root; |
86 for (let i = 0; i < order.length; i++) { | 120 for (let i = 0; i < order.length; i++) { |
87 assertEquals(order[i], node); | 121 assertEquals(order[i], node); |
88 node = treeWalker.getNextNode_(node); | 122 node = treeWalker.getNextNode_(node); |
89 } | 123 } |
90 assertEquals(undefined, node); | 124 assertEquals(undefined, node); |
91 }); | 125 }); |
92 | 126 |
93 TEST_F('AutomationTreeWalkerUnitTest', 'GetPreviousNode', function() { | 127 TEST_F('AutomationTreeWalkerUnitTest', 'GetPreviousNode', function() { |
94 let tree = this.getSampleTree(); | 128 let t = this.getSampleTree(); |
95 let treeWalker = new AutomationTreeWalker(); | 129 let treeWalker = new AutomationTreeWalker(); |
96 | 130 |
97 let order = | 131 let order = |
98 [tree.leaf5, tree.leaf4, tree.middle2, tree.leaf3, tree.leaf2, | 132 [t.leaf5, t.leaf4, t.middle2, t.leaf3, t.leaf2, |
99 tree.leaf1, tree.middle1, tree.root]; | 133 t.leaf1, t.middle1, t.root]; |
100 let node = tree.leaf5; | 134 let node = t.leaf5; |
101 for (let i = 0; i < order.length; i++) { | 135 for (let i = 0; i < order.length; i++) { |
102 assertEquals(order[i], node); | 136 assertEquals(order[i], node); |
103 node = treeWalker.getPreviousNode_(node); | 137 node = treeWalker.getPreviousNode_(node); |
104 } | 138 } |
105 assertEquals(undefined, node); | 139 assertEquals(undefined, node); |
106 }); | 140 }); |
107 | 141 |
108 TEST_F('AutomationTreeWalkerUnitTest', 'GetYoungestDescendant', function() { | 142 TEST_F('AutomationTreeWalkerUnitTest', 'GetYoungestDescendant', function() { |
109 let tree = this.getSampleTree(); | 143 let t = this.getSampleTree(); |
110 let treeWalker = new AutomationTreeWalker(); | 144 let treeWalker = new AutomationTreeWalker(); |
111 | 145 |
112 assertEquals(tree.leaf5, treeWalker.getYoungestDescendant_(tree.root)); | 146 assertEquals(t.leaf5, treeWalker.getYoungestDescendant_(t.root)); |
113 assertEquals(tree.leaf3, treeWalker.getYoungestDescendant_(tree.middle1)); | 147 assertEquals(t.leaf3, treeWalker.getYoungestDescendant_(t.middle1)); |
114 assertEquals(tree.leaf5, treeWalker.getYoungestDescendant_(tree.middle2)); | 148 assertEquals(t.leaf5, treeWalker.getYoungestDescendant_(t.middle2)); |
115 assertEquals(undefined, treeWalker.getYoungestDescendant_(tree.leaf1)); | 149 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf1)); |
116 assertEquals(undefined, treeWalker.getYoungestDescendant_(tree.leaf2)); | 150 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf2)); |
117 assertEquals(undefined, treeWalker.getYoungestDescendant_(tree.leaf3)); | 151 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf3)); |
118 assertEquals(undefined, treeWalker.getYoungestDescendant_(tree.leaf4)); | 152 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf4)); |
119 assertEquals(undefined, treeWalker.getYoungestDescendant_(tree.leaf5)); | 153 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf5)); |
120 }); | 154 }); |
121 | 155 |
122 TEST_F('AutomationTreeWalkerUnitTest', 'IsInteresting', function() { | 156 TEST_F('AutomationTreeWalkerUnitTest', 'IsInteresting', function() { |
123 let node1 = {}; | 157 let node1 = {}; |
124 let node2 = {state: {}}; | 158 let node2 = {state: {}}; |
125 let node3 = {state: {focusable: false}}; | 159 let node3 = {state: {focusable: false}}; |
126 let node4 = {state: {focusable: true}}; | 160 let node4 = {state: {focusable: true}}; |
127 let treeWalker = new AutomationTreeWalker(); | 161 let treeWalker = new AutomationTreeWalker(); |
128 | 162 |
129 assertTrue(treeWalker.isInteresting_(node1) === undefined); | 163 assertTrue(treeWalker.isInteresting_(node1) === undefined); |
130 assertTrue(treeWalker.isInteresting_(node2) === undefined); | 164 assertTrue(treeWalker.isInteresting_(node2) === undefined); |
131 assertFalse(treeWalker.isInteresting_(node3)); | 165 assertFalse(treeWalker.isInteresting_(node3)); |
132 assertTrue(treeWalker.isInteresting_(node4)); | 166 assertTrue(treeWalker.isInteresting_(node4)); |
133 }); | 167 }); |
OLD | NEW |