diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:22:09 +0000 |
commit | 43a97878ce14b72f0981164f87f2e35e14151312 (patch) | |
tree | 620249daf56c0258faa40cbdcf9cfba06de2a846 /testing/web-platform/tests/badging | |
parent | Initial commit. (diff) | |
download | firefox-upstream.tar.xz firefox-upstream.zip |
Adding upstream version 110.0.1.upstream/110.0.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/badging')
4 files changed, 116 insertions, 0 deletions
diff --git a/testing/web-platform/tests/badging/META.yml b/testing/web-platform/tests/badging/META.yml new file mode 100644 index 0000000000..1826b19d02 --- /dev/null +++ b/testing/web-platform/tests/badging/META.yml @@ -0,0 +1 @@ +spec: https://w3c.github.io/badging/ diff --git a/testing/web-platform/tests/badging/badge-error.https.html b/testing/web-platform/tests/badging/badge-error.https.html new file mode 100644 index 0000000000..3da5cf61e8 --- /dev/null +++ b/testing/web-platform/tests/badging/badge-error.https.html @@ -0,0 +1,36 @@ +<!DOCTYPE html> +<title>Badging: Unsupported values</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> + +promise_test(t => { + return promise_rejects_js(t, TypeError, navigator.setAppBadge(-1)); +}, "Negative value not allowed"); + +promise_test(t => { + return promise_rejects_js(t, TypeError, navigator.setAppBadge( + Number.MAX_SAFE_INTEGER + 1)); +}, "Value too large (2^53)"); + +promise_test(t => { + return promise_rejects_js(t, TypeError, navigator.setAppBadge(Infinity)); +}, "Positive infinity"); + +promise_test(t => { + return promise_rejects_js(t, TypeError, navigator.setAppBadge(-Infinity)); +}, "Negative infinity"); + +promise_test(t => { + return promise_rejects_js(t, TypeError, navigator.setAppBadge(NaN)); +}, "NaN"); + +promise_test(t => { + return promise_rejects_js(t, TypeError, navigator.setAppBadge("Foo")); +}, 'Cannot convert to long: "Foo"'); + +promise_test(t => { + return promise_rejects_js(t, TypeError, navigator.setAppBadge({})); +}, "Cannot convert to long: object"); + +</script> diff --git a/testing/web-platform/tests/badging/badge-success.https.html b/testing/web-platform/tests/badging/badge-success.https.html new file mode 100644 index 0000000000..6a25962e7b --- /dev/null +++ b/testing/web-platform/tests/badging/badge-success.https.html @@ -0,0 +1,62 @@ +<!DOCTYPE html> +<title>Badging: Supported values</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script> + +promise_test(async t => { + const result = await navigator.setAppBadge(); + assert_equals(result, undefined); +}, "No parameter should show a flag with no numeric value."); + +promise_test(async t => { + const result = await navigator.setAppBadge(undefined); + assert_equals(result, undefined); +}, "undefined should show a flag with no numeric value."); + +promise_test(async t => { + const result = await navigator.setAppBadge(1); + assert_equals(result, undefined); +}, "An integer value of 3 should show the badge vale 3."); + +promise_test(async t => { + const result = await navigator.setAppBadge(10.6); + assert_equals(result, undefined); +}, "Non-whole number should round down to nearest integer (10)."); + +promise_test(async t => { + const result = await navigator.setAppBadge(Number.MAX_SAFE_INTEGER); + assert_equals(result, undefined); +}, "Maximum allowed value (2^53 - 1) should display saturated value: '99+'."); + +promise_test(async t => { + const result = await navigator.setAppBadge(0); + assert_equals(result, undefined); +}, "Set to zero should clear the badge."); + +promise_test(async t => { + const result = await navigator.clearAppBadge(); + assert_equals(result, undefined); +}, "Should clear the badge."); + +promise_test(async t => { + const result = await navigator.setAppBadge(null); + assert_equals(result, undefined); +}, "Setting to null should clear the badge."); + +promise_test(async t => { + const result = await navigator.setAppBadge(false); + assert_equals(result, undefined); +}, "Setting to false should clear the badge."); + +promise_test(async t => { + const result = await navigator.setAppBadge(true); + assert_equals(result, undefined); +}, "Setting to true should display a value of 1."); + +promise_test(async t => { + const result = await navigator.setAppBadge("3"); + assert_equals(result, undefined); +}, "Setting to the string '3' should display a value of 3."); + +</script> diff --git a/testing/web-platform/tests/badging/idlharness.https.any.js b/testing/web-platform/tests/badging/idlharness.https.any.js new file mode 100644 index 0000000000..3e3ee9e7c4 --- /dev/null +++ b/testing/web-platform/tests/badging/idlharness.https.any.js @@ -0,0 +1,17 @@ +// META: script=/resources/WebIDLParser.js +// META: script=/resources/idlharness.js +// META: timeout=long + +'use strict'; + +idl_test( + ['badging'], + ['html', 'dom'], + idl_array => { + if (self.GLOBAL.isWorker()) { + idl_array.add_objects({ WorkerNavigator: ['navigator'] }); + } else { + idl_array.add_objects({ Navigator: ['navigator'] }); + } + } +); |