<!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 we can dispatch a speech job using the real synthesizer without crashing.");

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

    window.jsTestIsAsync = true;

    // Start a very short speaking job that will finish quickly.
    var u = new SpeechSynthesisUtterance("a");

    u.addEventListener('end', function(e) { 
       finishJSTest();
    });

    shouldBeFalse("speechSynthesis.speaking");
    speechSynthesis.speak(u);

</script>

<script src="../../resources/js-test-post.js"></script>
</body>
</html>
