chromium/third_party/blink/web_tests/fast/speechsynthesis/speech-synthesis-pause-resume.html

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html>
<head>
<script src="../../resources/js-test.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)
        internals.enableMockSpeechSynthesizer(window);

    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>

</body>
</html>