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

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: Responded to comment 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 = {
84 RoleType: {DESKTOP: 'desktop', TAB: 'tab', TAB_LIST: 'tabList'},
85 StateType: {FOCUSABLE: 'focusable', OFFSCREEN: 'offscreen'}
86 };
87
82 let t = this.getSampleTree(); 88 let t = this.getSampleTree();
83 let treeWalker = new AutomationTreeWalker(); 89 let treeWalker = new AutomationTreeWalker();
84 90
85 let interesting = {focusable: true}; 91 let interesting = {focusable: true};
86 t.leaf1.state = interesting; 92 t.leaf1.state = interesting;
87 t.leaf2.state = interesting; 93 t.leaf2.state = interesting;
88 t.middle2.state = interesting; 94 t.middle2.state = interesting;
89 t.leaf5.state = interesting; 95 t.leaf5.state = interesting;
90 96
91 // Move to next node. 97 // Move to next node.
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 assertEquals(t.leaf3, treeWalker.getYoungestDescendant_(t.middle1)); 153 assertEquals(t.leaf3, treeWalker.getYoungestDescendant_(t.middle1));
148 assertEquals(t.leaf5, treeWalker.getYoungestDescendant_(t.middle2)); 154 assertEquals(t.leaf5, treeWalker.getYoungestDescendant_(t.middle2));
149 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf1)); 155 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf1));
150 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf2)); 156 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf2));
151 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf3)); 157 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf3));
152 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf4)); 158 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf4));
153 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf5)); 159 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf5));
154 }); 160 });
155 161
156 TEST_F('AutomationTreeWalkerUnitTest', 'IsInteresting', function() { 162 TEST_F('AutomationTreeWalkerUnitTest', 'IsInteresting', function() {
157 let node1 = {}; 163 chrome.automation = {
158 let node2 = {state: {}}; 164 RoleType: {DESKTOP: 'desktop', TAB: 'tab', TAB_LIST: 'tabList'},
159 let node3 = {state: {focusable: false}}; 165 StateType: {FOCUSABLE: 'focusable', OFFSCREEN: 'offscreen'}
160 let node4 = {state: {focusable: true}}; 166 };
167
161 let treeWalker = new AutomationTreeWalker(); 168 let treeWalker = new AutomationTreeWalker();
162 169
163 assertTrue(treeWalker.isInteresting_(node1) === undefined); 170 // Testing focusable.
164 assertTrue(treeWalker.isInteresting_(node2) === undefined); 171 let loc1 = {left: 0, top: 0, width: 0, height: 0};
165 assertFalse(treeWalker.isInteresting_(node3)); 172 let node1 = {location: loc1, state: {}};
166 assertTrue(treeWalker.isInteresting_(node4)); 173 let node2 = {location: loc1, state: {focusable: false}};
174 let node3 = {location: loc1, state: {focusable: true}};
175 assertFalse(treeWalker.isInteresting_(node1));
176 assertFalse(treeWalker.isInteresting_(node2));
177 assertTrue(treeWalker.isInteresting_(node3));
178
179 // Testing onscreen.
180 let loc2 = {left: -1, top: 0, width: 0, height: 0};
181 let loc3 = {left: 0, top: -1, width: 0, height: 0};
182 let node4 = {location: loc2, state: {focusable: true}};
183 let node5 = {location: loc3, state: {focusable: true}};
184 assertFalse(treeWalker.isInteresting_(node4));
185 assertFalse(treeWalker.isInteresting_(node5));
186
187 // Testing if tab.
188 let node6 = {location: loc1, role: 'desktop', state: {}};
189 let node7 = {location: loc1, role: 'tabList', state: {}};
190 let node8 =
191 {location: loc1, parent: node7, root: node6, role: 'tab', state: {}};
192 assertFalse(treeWalker.isInteresting_(node6));
193 assertFalse(treeWalker.isInteresting_(node7));
194 assertTrue(treeWalker.isInteresting_(node8));
167 }); 195 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/chromeos/switch_access/tree_walker.js ('k') | ui/views/accessibility/ax_view_obj_wrapper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698