| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="../../../resources/js-test.js"></script> |
| <script> |
| description("Verify that events are received corretly when start and stop recognition normally."); |
| |
| if (window.testRunner) { |
| jsTestIsAsync = true; |
| } |
| |
| var hasReceivedResult = false; |
| shouldNotThrow("recognition = new webkitSpeechRecognition()"); |
| recognition.continuous = true; |
| |
| recognition.onstart = (event) => { |
| debug("Received start event"); |
| } |
| |
| recognition.onaudiostart = (event) => { |
| debug("Received audiostart event"); |
| } |
| |
| recognition.onspeechstart = (event) => { |
| debug("Received speechstart event"); |
| } |
| |
| recognition.onresult = (event) => { |
| if (hasReceivedResult) |
| return; |
| hasReceivedResult = true; |
| |
| debug("Received result event"); |
| shouldBe("event.resultIndex", "0"); |
| shouldBe("event.results.length", "1"); |
| shouldBeTrue("event.results.item(0).isFinal"); |
| shouldBe("event.results.item(0).length", "1"); |
| shouldBeEqualToString("event.results.item(0).item(0).transcript", "Test"); |
| shouldBe("event.results.item(0).item(0).confidence", "1"); |
| |
| shouldNotThrow("recognition.stop()"); |
| } |
| |
| recognition.onaudioend = (event) => { |
| debug("Received audioend event"); |
| } |
| |
| recognition.onspeechend = (event) => { |
| debug("Received speechend event"); |
| } |
| |
| recognition.onend = (event) => { |
| debug("Received end event"); |
| |
| finishJSTest(); |
| } |
| |
| shouldNotThrow("recognition.start()"); |
| |
| </script> |
| </body> |
| </html> |