Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / test / data / extensions / api_test / tts / queue_interrupt / test.js
blob81648df13ac86bbe5114a013acfaf1ad7109cd5a
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.*"
8 chrome.test.runTests([
9   function testQueueInterrupt() {
10     // In this test, two utterances are queued, and then a third
11     // interrupts. The first gets interrupted, the second never gets spoken
12     // at all. The test expectations in tts_extension_apitest.cc ensure that
13     // the first call to tts.speak keeps going until it's interrupted.
14     var callbacks = 0;
15     chrome.tts.speak(
16         'text 1',
17         {
18          'enqueue': true,
19          'onEvent': function(event) {
20            chrome.test.assertEq('interrupted', event.type);
21            callbacks++;
22          }
23         },
24         function() {
25           chrome.test.assertNoLastError();
26           callbacks++;
27         });
28     chrome.tts.speak(
29         'text 2',
30         {
31          'enqueue': true,
32          'onEvent': function(event) {
33            chrome.test.assertEq('cancelled', event.type);
34            callbacks++;
35          }
36         }, function() {
37           chrome.test.assertNoLastError();
38           callbacks++;
39         });
40     chrome.tts.speak(
41         'text 3',
42         {
43          'enqueue': false,
44          'onEvent': function(event) {
45            chrome.test.assertEq('end', event.type);
46            callbacks++;
47            if (callbacks == 6) {
48              chrome.test.succeed();
49            } else {
50              chrome.test.fail();
51            }
52          }
53         },
54         function() {
55           chrome.test.assertNoLastError();
56           callbacks++;
57         });
58   }
59 ]);