| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| </head> |
| <body id="body"> |
| |
| <div id="console"></div> |
| |
| <script> |
| |
| description("This tests that pausing/resuming speech jobs works as expected."); |
| |
| if (window.testRunner) |
| testRunner.waitUntilDone(); |
| if (window.internals) |
| window.internals.enableMockSpeechSynthesizer(); |
| |
| window.jsTestIsAsync = true; |
| |
| var u = new SpeechSynthesisUtterance("this is a test"); |
| |
| // Verify that callbacks and state are correct for paused and speaking states. |
| u.onpause = function(event) { |
| debug("On pause event received."); |
| shouldBeTrue("speechSynthesis.paused"); |
| shouldBeTrue("speechSynthesis.speaking"); |
| } |
| |
| u.onresume = function(event) { |
| debug("On resume event received."); |
| shouldBeFalse("speechSynthesis.paused"); |
| shouldBeTrue("speechSynthesis.speaking"); |
| } |
| |
| u.onend = function(event) { |
| debug("On end event received."); |
| shouldBeFalse("speechSynthesis.paused"); |
| shouldBeFalse("speechSynthesis.speaking"); |
| finishJSTest(); |
| } |
| |
| speechSynthesis.speak(u); |
| |
| // Quickly pause and resume the speech job. |
| setTimeout("speechSynthesis.pause()", "1"); |
| setTimeout("speechSynthesis.resume()", "2"); |
| |
| </script> |
| |
| <script src="../../resources/js-test-post.js"></script> |
| </body> |
| </html> |