chromium/third_party/blink/web_tests/fast/speechsynthesis/speech-synthesis-boundary-events.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 a speech job will generate the correct boundary events.");

    if (window.testRunner)
        testRunner.waitUntilDone();

    if (window.internals)
        internals.enableMockSpeechSynthesizer(window);

    window.jsTestIsAsync = true;

    var u = new SpeechSynthesisUtterance("this is a test");
    u.onstart = function(event) {
       debug("Speech started");
    }

    u.onboundary = function(event) {
       debug("Boundary event: " + event.name + ", Character index: " +
                event.charIndex + ", Character length: " + event.charLength);
    }

    u.onend = function(event) {
       finishJSTest();
    }

    // Queue the first job which will start speaking immediately.
    speechSynthesis.speak(u);

</script>

</body>
</html>