| <!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> |