| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 * Mock tts class. | 6 * Mock tts class. |
| 7 * @constructor | 7 * @constructor |
| 8 * @extends {cvox.TtsInterface} | 8 * @extends {cvox.TtsInterface} |
| 9 */ | 9 */ |
| 10 var MockTts = function() { | 10 var MockTts = function() { |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 42 var expectation = {}; | 42 var expectation = {}; |
| 43 expectation.endCallback = opt_callback; | 43 expectation.endCallback = opt_callback; |
| 44 this.addExpectation_(expectedText, expectation); | 44 this.addExpectation_(expectedText, expectation); |
| 45 }, | 45 }, |
| 46 | 46 |
| 47 /** | 47 /** |
| 48 * Adds an expectation for the given string to be spoken after |opt_callback| | 48 * Adds an expectation for the given string to be spoken after |opt_callback| |
| 49 * executes. | 49 * executes. |
| 50 * @param {string} expectedText | 50 * @param {string} expectedText |
| 51 * @param {function() : void=} opt_callback | 51 * @param {function() : void=} opt_callback |
| 52 * @param {boolean=} opt_exact Expect an exact match; defaults to false. |
| 52 */ | 53 */ |
| 53 expectSpeechAfter: function(expectedText, opt_callback) { | 54 expectSpeechAfter: function(expectedText, opt_callback, opt_exact) { |
| 54 var expectation = {}; | 55 var expectation = {}; |
| 55 if (this.expectations_.length == 0 && opt_callback) | 56 if (this.expectations_.length == 0 && opt_callback) |
| 56 opt_callback(); | 57 opt_callback(); |
| 57 else | 58 else |
| 58 expectation.startCallback = opt_callback; | 59 expectation.startCallback = opt_callback; |
| 59 this.addExpectation_(expectedText, expectation); | 60 this.addExpectation_(expectedText, expectation, opt_exact); |
| 60 }, | 61 }, |
| 61 | 62 |
| 62 /** | 63 /** |
| 63 * Finishes expectations and calls testDone. | 64 * Finishes expectations and calls testDone. |
| 64 */ | 65 */ |
| 65 finishExpectations: function() { | 66 finishExpectations: function() { |
| 66 this.expectSpeechAfter('', testDone); | 67 this.expectSpeechAfter('', testDone); |
| 67 }, | 68 }, |
| 68 | 69 |
| 69 /** | 70 /** |
| 70 * @private | 71 * @private |
| 71 * @param {string} expectedText Text expected spoken. | 72 * @param {string} expectedText Text expected spoken. |
| 72 * @param {{startCallback: function() : void, | 73 * @param {{startCallback: function() : void, |
| 73 * endCallback: function() : void}=} opt_expectation | 74 * endCallback: function() : void}=} opt_expectation |
| 75 * @param {boolean=} opt_exact Expects an exact match. |
| 74 */ | 76 */ |
| 75 addExpectation_: function(expectedText, opt_expectation) { | 77 addExpectation_: function(expectedText, opt_expectation, opt_exact) { |
| 76 var expectation = opt_expectation ? opt_expectation : {}; | 78 var expectation = opt_expectation ? opt_expectation : {}; |
| 77 | 79 |
| 78 expectation.predicate = function(actualText) { | 80 expectation.predicate = function(actualText) { |
| 81 if (opt_exact) |
| 82 return actualText === expectedText; |
| 79 return actualText.indexOf(expectedText) != -1; | 83 return actualText.indexOf(expectedText) != -1; |
| 80 }; | 84 }; |
| 81 | 85 |
| 82 this.expectations_.push(expectation); | 86 this.expectations_.push(expectation); |
| 83 | 87 |
| 84 // Process any idleUtterances. | 88 // Process any idleUtterances. |
| 85 this.idleUtterances_.forEach(function(utterance) { | 89 this.idleUtterances_.forEach(function(utterance) { |
| 86 this.process_(utterance, true); | 90 this.process_(utterance, true); |
| 87 }); | 91 }); |
| 88 }, | 92 }, |
| (...skipping 17 matching lines...) Expand all Loading... |
| 106 if (targetExpectation.endCallback) | 110 if (targetExpectation.endCallback) |
| 107 targetExpectation.endCallback(); | 111 targetExpectation.endCallback(); |
| 108 var nextExpectation = this.expectations_[0]; | 112 var nextExpectation = this.expectations_[0]; |
| 109 if (nextExpectation && nextExpectation.startCallback) | 113 if (nextExpectation && nextExpectation.startCallback) |
| 110 nextExpectation.startCallback(); | 114 nextExpectation.startCallback(); |
| 111 } else { | 115 } else { |
| 112 this.expectations_.unshift(targetExpectation); | 116 this.expectations_.unshift(targetExpectation); |
| 113 } | 117 } |
| 114 }, | 118 }, |
| 115 }; | 119 }; |
| OLD | NEW |