1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // TTS api test for Chrome on ChromeOS.
6 // browser_tests.exe --gtest_filter="TtsApiTest.*"
9 function testTtsEngineError() {
10 // Register listeners for speech functions, but have speak return an
11 // error when it's used.
12 var speakListener = function(utterance, options, sendTtsEvent) {
13 chrome.test.assertEq('extension speech', utterance);
16 // This should fail because 'foo' isn't a valid event type.
17 sendTtsEvent({'type': 'foo'});
22 // This won't actually send an event, and an error will be logged
23 // to the console, because we haven't registered the 'word'
24 // event type in our manifest.
25 sendTtsEvent({'type': 'word'});
31 'errorMessage': 'extension tts error'});
33 var stopListener = function() {};
34 chrome.ttsEngine.onSpeak.addListener(speakListener);
35 chrome.ttsEngine.onStop.addListener(stopListener);
37 // This should go to our own TTS engine, and we can check that we
38 // get the error message.
42 'onEvent': function(event) {
43 chrome.test.assertEq('error', event.type);
44 chrome.test.assertEq('extension tts error', event.errorMessage);
45 chrome.ttsEngine.onSpeak.removeListener(speakListener);
46 chrome.ttsEngine.onStop.removeListener(stopListener);
47 chrome.test.succeed();
51 chrome.test.assertNoLastError();