diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/speech-api/SpeechSynthesisErrorEvent-constructor.html | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/speech-api/SpeechSynthesisErrorEvent-constructor.html')
-rw-r--r-- | testing/web-platform/tests/speech-api/SpeechSynthesisErrorEvent-constructor.html | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/testing/web-platform/tests/speech-api/SpeechSynthesisErrorEvent-constructor.html b/testing/web-platform/tests/speech-api/SpeechSynthesisErrorEvent-constructor.html new file mode 100644 index 0000000000..abefbf9a51 --- /dev/null +++ b/testing/web-platform/tests/speech-api/SpeechSynthesisErrorEvent-constructor.html @@ -0,0 +1,88 @@ +<!DOCTYPE html> +<meta charset="utf-8"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> +/* +[Exposed=Window, + Constructor(DOMString type, SpeechSynthesisErrorEventInit eventInitDict)] +interface SpeechSynthesisErrorEvent : SpeechSynthesisErrorEvent { + readonly attribute SpeechSynthesisErrorCode error; +}; +*/ +test(() => { + assert_throws_js(TypeError, () => { + new SpeechSynthesisErrorEvent(); + }); +}, "SpeechSynthesisErrorEvent with no arguments throws TypeError"); + +test(() => { + assert_throws_js(TypeError, () => { + new SpeechSynthesisErrorEvent("type"); + }); +}, "SpeechSynthesisErrorEvent with no eventInitDict throws TypeError"); + +test(() => { + assert_throws_js(TypeError, () => { + new SpeechSynthesisErrorEvent("type", {}); + }); +}, `SpeechSynthesisErrorEvent with empty eventInitDict throws TypeError (requires + utterance and error)`); + +test(() => { + assert_throws_js(TypeError, () => { + new SpeechSynthesisErrorEvent("type", {error:"not-allowed"}); + }); +}, `SpeechSynthesisErrorEvent with eventInitDict without utterance throws + TypeError`); + +test(() => { + assert_throws_js(TypeError, () => { + new SpeechSynthesisErrorEvent("type", {utterance: new SpeechSynthesisUtterance()}); + }); +}, `SpeechSynthesisErrorEvent with eventInitDict without error throws + TypeError`); + +test(() => { + const utterance = new SpeechSynthesisUtterance("foo"); + const event = new SpeechSynthesisErrorEvent("type", {utterance: utterance, error:"not-allowed"}); + assert_equals(event.utterance, utterance); + assert_equals(event.error, "not-allowed"); + assert_equals(event.charIndex, 0); + assert_equals(event.elapsedTime, 0); + assert_equals(event.name, ""); +}, "SpeechSynthesisErrorEvent with eventInitDict having utterance and error"); + +test(() => { + const utterance = new SpeechSynthesisUtterance("foo"); + const event = new SpeechSynthesisErrorEvent("type", { + utterance: utterance, + charIndex: 5, + elapsedTime: 100, + name: "foo", + error: "synthesis-failed" + }); + assert_equals(event.bubbles, false); + assert_equals(event.cancelable, false); + assert_equals(event.type, "type"); + assert_equals(event.utterance, utterance); + assert_equals(event.charIndex, 5); + assert_equals(event.elapsedTime, 100); + assert_equals(event.name, "foo"); + assert_equals(event.error, "synthesis-failed"); +}, "SpeechSynthesisErrorEvent with custom eventInitDict"); + +test(() => { + function createEventFunc(error) { + return () => { + new SpeechSynthesisErrorEvent("type", { + utterance: new SpeechSynthesisUtterance(), + error: error + }); + }; + }; + assert_throws_js(TypeError, createEventFunc("")); + assert_throws_js(TypeError, createEventFunc("foo")); + assert_throws_js(TypeError, createEventFunc("bar")); +}, "SpeechSynthesisErrorEvent with wrong error enum"); +</script> |