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

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

Issue 2863613003: Implemented scanning by group (Closed)
Patch Set: Responded to comments Created 3 years, 7 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
« no previous file with comments | « chrome/browser/resources/chromeos/switch_access/tree_walker.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 () {
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 return { 69 return {
70 root: root, 70 root: root,
71 middle1: middle1, 71 middle1: middle1,
72 middle2: middle2, 72 middle2: middle2,
73 leaf1: leaf1, 73 leaf1: leaf1,
74 leaf2: leaf2, 74 leaf2: leaf2,
75 leaf3: leaf3, 75 leaf3: leaf3,
76 leaf4: leaf4, 76 leaf4: leaf4,
77 leaf5: leaf5 77 leaf5: leaf5
78 }; 78 };
79 },
80
81 getDefaultRestrictions: function() {
82 return {
83 leaf: function(node) {
84 return false;
85 },
86 visit: function(node) {
87 return node.state.focusable === true;
88 },
89 }
79 } 90 }
80 }; 91 };
81 92
82 TEST_F('AutomationTreeWalkerUnitTest', 'MoveToNode', function() { 93 TEST_F('AutomationTreeWalkerUnitTest', 'MoveToNode', function() {
83 chrome.automation = { 94 chrome.automation = {
84 RoleType: {DESKTOP: 'desktop', TAB: 'tab', TAB_LIST: 'tabList'}, 95 RoleType: {DESKTOP: 'desktop', TAB: 'tab', TAB_LIST: 'tabList'},
85 StateType: {FOCUSABLE: 'focusable', OFFSCREEN: 'offscreen'} 96 StateType: {FOCUSABLE: 'focusable', OFFSCREEN: 'offscreen'}
86 }; 97 };
87 98
88 let t = this.getSampleTree(); 99 let t = this.getSampleTree();
89 let treeWalker = new AutomationTreeWalker(); 100 let treeWalker =
101 new AutomationTreeWalker(t.root, t.root, this.getDefaultRestrictions());
90 102
91 let interesting = {focusable: true}; 103 let interesting = {focusable: true};
92 t.leaf1.state = interesting; 104 t.leaf1.state = interesting;
93 t.leaf2.state = interesting; 105 t.leaf2.state = interesting;
94 t.middle2.state = interesting; 106 t.middle2.state = interesting;
95 t.leaf5.state = interesting; 107 t.leaf5.state = interesting;
96 108
97 // Move to next node. 109 // Move to next node.
98 assertEquals(t.leaf1, treeWalker.moveToNode(t.root, t.root, true)); 110 assertEquals(t.leaf1, treeWalker.moveToNode(true));
99 assertEquals(t.leaf1, treeWalker.moveToNode(t.middle1, t.root, true)); 111 assertEquals(t.leaf2, treeWalker.moveToNode(true));
100 assertEquals(t.leaf2, treeWalker.moveToNode(t.leaf1, t.root, true)); 112 assertEquals(t.middle2, treeWalker.moveToNode(true));
101 assertEquals(t.middle2, treeWalker.moveToNode(t.leaf2, t.root, true)); 113 assertEquals(t.leaf5, treeWalker.moveToNode(true));
102 assertEquals(t.middle2, treeWalker.moveToNode(t.leaf3, t.root, true)); 114 assertEquals(t.leaf1, treeWalker.moveToNode(true));
103 assertEquals(t.leaf5, treeWalker.moveToNode(t.middle2, t.root, true));
104 assertEquals(t.leaf5, treeWalker.moveToNode(t.leaf4, t.root, true));
105 assertEquals(t.leaf1, treeWalker.moveToNode(t.leaf5, t.root, true));
106 115
107 // Move to previous node. 116 // Move to previous node.
108 assertEquals(t.middle2, treeWalker.moveToNode(t.leaf5, t.root, false)); 117 assertEquals(t.leaf5, treeWalker.moveToNode(false));
109 assertEquals(t.middle2, treeWalker.moveToNode(t.leaf4, t.root, false)); 118 assertEquals(t.middle2, treeWalker.moveToNode(false));
110 assertEquals(t.leaf2, treeWalker.moveToNode(t.middle2, t.root, false)); 119 assertEquals(t.leaf2, treeWalker.moveToNode(false));
111 assertEquals(t.leaf2, treeWalker.moveToNode(t.leaf3, t.root, false)); 120 assertEquals(t.leaf1, treeWalker.moveToNode(false));
112 assertEquals(t.leaf1, treeWalker.moveToNode(t.leaf2, t.root, false)); 121 assertEquals(t.leaf5, treeWalker.moveToNode(false));
113 assertEquals(t.leaf5, treeWalker.moveToNode(t.leaf1, t.root, false));
114 assertEquals(t.leaf5, treeWalker.moveToNode(t.middle1, t.root, false));
115 assertEquals(t.leaf5, treeWalker.moveToNode(t.root, t.root, false));
116 }); 122 });
117 123
118 TEST_F('AutomationTreeWalkerUnitTest', 'GetNextNode', function() { 124 TEST_F('AutomationTreeWalkerUnitTest', 'GetNextNode', function() {
119 let t = this.getSampleTree(); 125 let t = this.getSampleTree();
120 let treeWalker = new AutomationTreeWalker(); 126 let treeWalker =
127 new AutomationTreeWalker(t.root, t.root, this.getDefaultRestrictions());
121 128
122 let order = 129 let order =
123 [t.root, t.middle1, t.leaf1, t.leaf2, t.leaf3, 130 [t.root, t.middle1, t.leaf1, t.leaf2, t.leaf3,
124 t.middle2, t.leaf4, t.leaf5]; 131 t.middle2, t.leaf4, t.leaf5];
125 let node = t.root; 132 let node = t.root;
126 for (let i = 0; i < order.length; i++) { 133 for (let i = 0; i < order.length; i++) {
127 assertEquals(order[i], node); 134 assertEquals(order[i], node);
128 node = treeWalker.getNextNode_(node); 135 node = treeWalker.getNextNode_(node);
129 } 136 }
130 assertEquals(undefined, node); 137 assertEquals(undefined, node);
131 }); 138 });
132 139
133 TEST_F('AutomationTreeWalkerUnitTest', 'GetPreviousNode', function() { 140 TEST_F('AutomationTreeWalkerUnitTest', 'GetPreviousNode', function() {
134 let t = this.getSampleTree(); 141 let t = this.getSampleTree();
135 let treeWalker = new AutomationTreeWalker(); 142 let treeWalker =
143 new AutomationTreeWalker(t.root, t.root, this.getDefaultRestrictions());
136 144
137 let order = 145 let order =
138 [t.leaf5, t.leaf4, t.middle2, t.leaf3, t.leaf2, 146 [t.leaf5, t.leaf4, t.middle2, t.leaf3, t.leaf2,
139 t.leaf1, t.middle1, t.root]; 147 t.leaf1, t.middle1, t.root];
140 let node = t.leaf5; 148 let node = t.leaf5;
141 for (let i = 0; i < order.length; i++) { 149 for (let i = 0; i < order.length; i++) {
142 assertEquals(order[i], node); 150 assertEquals(order[i], node);
143 node = treeWalker.getPreviousNode_(node); 151 node = treeWalker.getPreviousNode_(node);
144 } 152 }
145 assertEquals(undefined, node); 153 assertEquals(undefined, node);
146 }); 154 });
147 155
148 TEST_F('AutomationTreeWalkerUnitTest', 'GetYoungestDescendant', function() { 156 TEST_F('AutomationTreeWalkerUnitTest', 'GetYoungestDescendant', function() {
149 let t = this.getSampleTree(); 157 let t = this.getSampleTree();
150 let treeWalker = new AutomationTreeWalker(); 158 let treeWalker =
159 new AutomationTreeWalker(t.root, t.root, this.getDefaultRestrictions());
151 160
152 assertEquals(t.leaf5, treeWalker.getYoungestDescendant_(t.root)); 161 assertEquals(t.leaf5, treeWalker.getYoungestDescendant_(t.root));
153 assertEquals(t.leaf3, treeWalker.getYoungestDescendant_(t.middle1)); 162 assertEquals(t.leaf3, treeWalker.getYoungestDescendant_(t.middle1));
154 assertEquals(t.leaf5, treeWalker.getYoungestDescendant_(t.middle2)); 163 assertEquals(t.leaf5, treeWalker.getYoungestDescendant_(t.middle2));
155 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf1)); 164 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf1));
156 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf2)); 165 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf2));
157 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf3)); 166 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf3));
158 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf4)); 167 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf4));
159 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf5)); 168 assertEquals(undefined, treeWalker.getYoungestDescendant_(t.leaf5));
160 }); 169 });
161
162 TEST_F('AutomationTreeWalkerUnitTest', 'IsInteresting', function() {
163 chrome.automation = {
164 RoleType: {DESKTOP: 'desktop', TAB: 'tab', TAB_LIST: 'tabList'},
165 StateType: {FOCUSABLE: 'focusable', OFFSCREEN: 'offscreen'}
166 };
167
168 let treeWalker = new AutomationTreeWalker();
169
170 // Testing focusable.
171 let loc1 = {left: 0, top: 0, width: 0, height: 0};
172 let node1 = {location: loc1, state: {}};
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));
195 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/chromeos/switch_access/tree_walker.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698