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

Side by Side Diff: chrome/browser/resources/chromeos/chromevox/testing/mock_feedback.js

Issue 1318683002: Make cvox2 feedback more robust when focusing a text field. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@mock_feedback
Patch Set: Created 5 years, 4 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 * @fileoverview This file contains the |MockFeedback| class which is a 6 * @fileoverview This file contains the |MockFeedback| class which is a
7 * combined mock class for speech and braille feedback. A test that uses 7 * combined mock class for speech and braille feedback. A test that uses
8 * this class may add expectations for speech utterances and braille display 8 * this class may add expectations for speech utterances and braille display
9 * content to be output. The |install| method sets appropriate mock classes 9 * content to be output. The |install| method sets appropriate mock classes
10 * as the |cvox.ChromeVox.tts| and |cvox.ChromeVox.braille| objects, 10 * as the |cvox.ChromeVox.tts| and |cvox.ChromeVox.braille| objects,
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 return !!MockFeedback.matchAndConsume_( 134 return !!MockFeedback.matchAndConsume_(
135 text, {}, this.pendingUtterances_); 135 text, {}, this.pendingUtterances_);
136 }.bind(this), 136 }.bind(this),
137 toString: function() { return 'Speak \'' + text + '\''; } 137 toString: function() { return 'Speak \'' + text + '\''; }
138 }); 138 });
139 }.bind(this)); 139 }.bind(this));
140 return this; 140 return this;
141 }, 141 },
142 142
143 /** 143 /**
144 * Adds an expectation that a given utterance will not be spoken.
145 * @param {...(string|RegExp)} var_args One or more utterance to add as
146 * negative expectations.
147 * @return {MockFeedback} |this| for chaining
148 */
149 expectNoSpeech: function() {
Peter Lundblad 2015/08/26 16:56:13 I think this only works if the unexpected utteranc
dmazzoni 2015/08/26 18:18:23 Good point. How about expectNextSpeechUtteranceIsN
150 assertFalse(this.replaying_);
151 Array.prototype.forEach.call(arguments, function(text) {
152 this.pendingActions_.push({
153 perform: function() {
154 if (this.pendingUtterances_.length == 0)
155 return false;
156 if (MockFeedback.matchAndConsume_(
157 text, {}, this.pendingUtterances_)) {
158 throw new Error('Got disallowed utterance "' + text + '".');
159 }
160 return true;
161 }.bind(this),
162 toString: function() { return 'Do not speak \'' + text + '\''; }
163 });
164 }.bind(this));
165 return this;
166 },
167
168 /**
144 * Adds an expectation for braille output. 169 * Adds an expectation for braille output.
145 * @param {string|RegExp} text 170 * @param {string|RegExp} text
146 * @param {Object=} opt_props Additional properties to match in the 171 * @param {Object=} opt_props Additional properties to match in the
147 * |NavBraille| 172 * |NavBraille|
148 * @return {MockFeedback} |this| for chaining 173 * @return {MockFeedback} |this| for chaining
149 */ 174 */
150 expectBraille: function(text, opt_props) { 175 expectBraille: function(text, opt_props) {
151 assertFalse(this.replaying_); 176 assertFalse(this.replaying_);
152 var props = opt_props || {}; 177 var props = opt_props || {};
153 this.pendingActions_.push({ 178 this.pendingActions_.push({
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 return this.lastMatchedBraille_; 236 return this.lastMatchedBraille_;
212 }, 237 },
213 238
214 /** 239 /**
215 * @param {string} textString 240 * @param {string} textString
216 * @param {cvox.QueueMode} queueMode 241 * @param {cvox.QueueMode} queueMode
217 * @param {Object=} properties 242 * @param {Object=} properties
218 * @private 243 * @private
219 */ 244 */
220 addUtterance_: function(textString, queueMode, properties) { 245 addUtterance_: function(textString, queueMode, properties) {
246 console.log('*** ADDUTTERANCE ' + textString);
Peter Lundblad 2015/08/26 16:56:13 Intentional?
dmazzoni 2015/08/26 18:18:23 Oops, meant to remove that. Is there a way to add
221 var callback; 247 var callback;
222 if (properties && (properties.startCallback || properties.endCallback)) { 248 if (properties && (properties.startCallback || properties.endCallback)) {
223 var startCallback = properties.startCallback; 249 var startCallback = properties.startCallback;
224 var endCallback = properties.endCallback; 250 var endCallback = properties.endCallback;
225 callback = function() { 251 callback = function() {
226 startCallback && startCallback(); 252 startCallback && startCallback();
227 endCallback && endCallback(); 253 endCallback && endCallback();
228 }; 254 };
229 } 255 }
230 this.pendingUtterances_.push( 256 this.pendingUtterances_.push(
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 } 349 }
324 if (candidate) { 350 if (candidate) {
325 var consumed = pending.splice(0, i + 1); 351 var consumed = pending.splice(0, i + 1);
326 consumed.forEach(function(item) { 352 consumed.forEach(function(item) {
327 if (item.callback) 353 if (item.callback)
328 item.callback(); 354 item.callback();
329 }); 355 });
330 } 356 }
331 return candidate; 357 return candidate;
332 }; 358 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698