| <!doctype html> |
| <title>Properties of SpeechSynthesisEvent</title> |
| <link rel="help" href="https://wicg.github.io/speech-api/#utterance-events"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/resources/testdriver.js"></script> |
| <script src="/resources/testdriver-vendor.js"></script> |
| <body> |
| <script> |
| // Written for https://github.com/WICG/speech-api/issues/103 |
| promise_test(async (t) => { |
| const utterance = new SpeechSynthesisUtterance('test'); |
| const eventWatcher = new EventWatcher(t, utterance, ['start', 'end', 'error']); |
| await test_driver.bless('speechSynthesis.speak', |
| () => { speechSynthesis.speak(utterance) }); |
| const events = await eventWatcher.wait_for(['start', 'end'], { record: 'all' }); |
| assert_equals(events.length, 2, 'number of events'); |
| for (const event of events) { |
| assert_true(event instanceof SpeechSynthesisEvent, 'is SpeechSynthesisEvent'); |
| assert_false(event.bubbles, 'bubbles'); |
| assert_false(event.cancelable, 'cancelable'); |
| assert_equals(event.utterance, utterance, 'utterance'); |
| } |
| }); |
| </script> |