| <!doctype html> |
| <title>Test getting an exception when calling start() in the Speech JavaScript API</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script type="module"> |
| import {MockSpeechRecognizer} from '../resources/mock-speechrecognizer.js'; |
| |
| const mock = new MockSpeechRecognizer(); |
| |
| test(() => { |
| assert_true('webkitSpeechRecognition' in self); |
| assert_false(webkitSpeechRecognition == null); |
| }, "Check availability of constructors"); |
| |
| async_test(t => { |
| const r = new webkitSpeechRecognition(); |
| // Set default handlers. |
| for (const prop in r) { |
| if (prop.match('^on')) { |
| r[prop] = () => { |
| if (event.type === 'end') { |
| r.start(); |
| r.abort(); |
| r.onend = () => t.done(); |
| } else { |
| assert_throws_dom('InvalidStateError', () => r.start()); |
| } |
| } |
| } |
| } |
| r.start(); |
| assert_throws_dom('InvalidStateError', () => r.start()); |
| }, "Double start"); |
| |
| </script> |