Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(429)

Side by Side Diff: chrome/browser/resources/chromeos/switch_access/tree_walker_unittest.gtestjs

Issue 2818503002: Improved isInteresting heuristic, made more AutomationNodes focusable (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 */ 22 /** @override */
23 browsePreload: DUMMY_URL, 23 browsePreload: DUMMY_URL,
24 24
25 getSampleTree: function() { 25 getSampleTree: function() {
26 let loc = {left: 0, top: 0, width: 0, height: 0};
26 // root 27 // root
27 // middle1 28 // middle1
28 // leaf1 29 // leaf1
29 // leaf2 30 // leaf2
30 // leaf3 31 // leaf3
31 // middle2 32 // middle2
32 // leaf4 33 // leaf4
33 // leaf5 34 // leaf5
34 let root = {}; 35 let root = {location: loc, state: {}};
35 let middle1 = {}; 36 let middle1 = {location: loc, state: {}};
36 let middle2 = {}; 37 let middle2 = {location: loc, state: {}};
37 let leaf1 = {}; 38 let leaf1 = {location: loc, state: {}};
38 let leaf2 = {}; 39 let leaf2 = {location: loc, state: {}};
39 let leaf3 = {}; 40 let leaf3 = {location: loc, state: {}};
40 let leaf4 = {}; 41 let leaf4 = {location: loc, state: {}};
41 let leaf5 = {}; 42 let leaf5 = {location: loc, state: {}};
42 43
43 root.firstChild = middle1; 44 root.firstChild = middle1;
44 root.lastChild = middle2; 45 root.lastChild = middle2;
45 46
46 middle1.parent = root; 47 middle1.parent = root;
47 middle2.parent = root; 48 middle2.parent = root;
48 middle1.nextSibling = middle2; 49 middle1.nextSibling = middle2;
49 middle2.previousSibling = middle1; 50 middle2.previousSibling = middle1;
50 middle1.firstChild = leaf1; 51 middle1.firstChild = leaf1;
51 middle1.lastChild = leaf3; 52 middle1.lastChild = leaf3;
(...skipping 20 matching lines...) Expand all
72 leaf1: leaf1, 73 leaf1: leaf1,
73 leaf2: leaf2, 74 leaf2: leaf2,
74 leaf3: leaf3, 75 leaf3: leaf3,
75 leaf4: leaf4, 76 leaf4: leaf4,
76 leaf5: leaf5 77 leaf5: leaf5
77 }; 78 };
78 } 79 }
79 }; 80 };
80 81
81 TEST_F('AutomationTreeWalkerUnitTest', 'MoveToNode', function() { 82 TEST_F('AutomationTreeWalkerUnitTest', 'MoveToNode', function() {
83 chrome.automation = {RoleType: {TAB: 'tab', TAB_LIST: 'tabList'}};
82 let t = this.getSampleTree(); 84 let t = this.getSampleTree();
83 let treeWalker = new AutomationTreeWalker(); 85 let treeWalker = new AutomationTreeWalker();
84 86
85 let interesting = {focusable: true}; 87 let interesting = {focusable: true};
86 t.leaf1.state = interesting; 88 t.leaf1.state = interesting;
87 t.leaf2.state = interesting; 89 t.leaf2.state = interesting;
88 t.middle2.state = interesting; 90 t.middle2.state = interesting;
89 t.leaf5.state = interesting; 91 t.leaf5.state = interesting;
90 92
91 // Move to next node. 93 // Move to next node.
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 assertEquals(t.leaf3, treeWalker.getYoungestDescendant_(t.middle1)); 149 assertEquals(t.leaf3, treeWalker.getYoungestDescendant_(t.middle1));
148 assertEquals(t.leaf5, treeWalker.getYoungestDescendant_(t.middle2)); 150 assertEquals(t.leaf5, treeWalker.getYoungestDescendant_(t.middle2));
149 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf1)); 151 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf1));
150 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf2)); 152 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf2));
151 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf3)); 153 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf3));
152 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf4)); 154 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf4));
153 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf5)); 155 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf5));
154 }); 156 });
155 157
156 TEST_F('AutomationTreeWalkerUnitTest', 'IsInteresting', function() { 158 TEST_F('AutomationTreeWalkerUnitTest', 'IsInteresting', function() {
157 let node1 = {}; 159 chrome.automation = {RoleType: {TAB: 'tab', TAB_LIST: 'tabList'}};
158 let node2 = {state: {}};
159 let node3 = {state: {focusable: false}};
160 let node4 = {state: {focusable: true}};
161 let treeWalker = new AutomationTreeWalker(); 160 let treeWalker = new AutomationTreeWalker();
162 161
163 assertTrue(treeWalker.isInteresting_(node1) === undefined); 162 // Testing focusable.
164 assertTrue(treeWalker.isInteresting_(node2) === undefined); 163 let loc1 = {left: 0, top: 0, width: 0, height: 0};
165 assertFalse(treeWalker.isInteresting_(node3)); 164 let node1 = {location: loc1, state: {}};
166 assertTrue(treeWalker.isInteresting_(node4)); 165 let node2 = {location: loc1, state: {focusable: false}};
166 let node3 = {location: loc1, state: {focusable: true}};
167 assertEquals(undefined, treeWalker.isInteresting_(node1));
168 assertFalse(treeWalker.isInteresting_(node2));
169 assertTrue(treeWalker.isInteresting_(node3));
170
171 // Testing onscreen.
172 let loc2 = {left: -1, top: 0, width: 0, height: 0};
173 let loc3 = {left: 0, top: -1, width: 0, height: 0};
174 let node4 = {location: loc2, state: {focusable: true}};
175 let node5 = {location: loc3, state: {focusable: true}};
176 assertFalse(treeWalker.isInteresting_(node4));
177 assertFalse(treeWalker.isInteresting_(node5));
178
179 // Testing if tab.
180 let node6 = {location: loc1, role: 'tabList', state: {}};
181 let node7 = {location: loc1, parent: node6, role: 'tab', state: {}};
182 assertEquals(undefined, treeWalker.isInteresting_(node6));
183 assertTrue(treeWalker.isInteresting_(node7));
167 }); 184 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698