| <!DOCTYPE html> | |
| <title>SpeechSynthesisUtterance basics</title> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script> | |
| const DEFAULTS = { | |
| text: '', | |
| lang: '', | |
| voice: null, | |
| volume: 1, | |
| rate: 1, | |
| pitch: 1, | |
| }; | |
| for (const prop in DEFAULTS) { | |
| test(function() { | |
| const utt = new SpeechSynthesisUtterance(); | |
| assert_equals(utt[prop], DEFAULTS[prop], prop); | |
| }, `new SpeechSynthesisUtterance() default ${prop}`); | |
| } | |
| test(function() { | |
| const utt = new SpeechSynthesisUtterance("hello"); | |
| assert_equals(utt.text, 'hello', 'text'); | |
| // check that the other properties retain their defaults | |
| for (const prop in DEFAULTS) { | |
| if (prop != 'text') { | |
| assert_equals(utt[prop], DEFAULTS[prop], prop); | |
| } | |
| } | |
| }, 'new SpeechSynthesisUtterance("hello") text and defaults'); | |
| test(function() { | |
| const utt = new SpeechSynthesisUtterance(null); | |
| assert_equals(utt.text, 'null'); | |
| }, 'new SpeechSynthesisUtterance(null)'); | |
| test(function() { | |
| const utt = new SpeechSynthesisUtterance(undefined); | |
| // See https://github.com/w3c/speech-api/pull/48. | |
| assert_equals(utt.text, ''); | |
| }, 'new SpeechSynthesisUtterance(undefined)'); | |
| test(function() { | |
| const utt = new SpeechSynthesisUtterance(); | |
| utt.text = 'word'; | |
| assert_equals(utt.text, 'word'); | |
| }, 'SpeechSynthesisUtterance text setter'); | |
| // TODO: setters https://github.com/w3c/speech-api/issues/29 | |
| </script> |