62 lines
1.9 KiB
HTML
62 lines
1.9 KiB
HTML
<!DOCTYPE html>
|
|
<title>Badging: Supported values</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script>
|
|
// Testing valid input cases
|
|
promise_test(async () => {
|
|
const numberTestCases = [
|
|
{ value: undefined, desc: "undefined" },
|
|
{ value: null, desc: "null (coerced to 0)" },
|
|
{ value: 1, desc: "integer value of 1" },
|
|
{ value: 10.6, desc: "non-whole number" },
|
|
{ value: Number.MAX_SAFE_INTEGER, desc: "maximum allowed value" },
|
|
{ value: 0, desc: "zero" },
|
|
];
|
|
|
|
for (const { value, desc } of numberTestCases) {
|
|
const result = await navigator.setAppBadge(value);
|
|
assert_equals(
|
|
result,
|
|
undefined,
|
|
`Resolves successfully when passed ${desc} as input`
|
|
);
|
|
}
|
|
}, "Resolves successfully for number input cases");
|
|
|
|
promise_test(async () => {
|
|
const stringTestCases = [
|
|
{ value: "3", desc: "numeric string '3' (coerced to 3)" },
|
|
{
|
|
value: " 300.000 ",
|
|
desc: "numeric string ' 300.000 ' (coerced to 300)",
|
|
},
|
|
{ value: "", desc: "empty string (coerced to 0)" },
|
|
];
|
|
|
|
for (const { value, desc } of stringTestCases) {
|
|
const result = await navigator.setAppBadge(value);
|
|
assert_equals(
|
|
result,
|
|
undefined,
|
|
`Resolves successfully when passed ${desc} as input`
|
|
);
|
|
}
|
|
}, "Resolves successfully for string input cases");
|
|
|
|
promise_test(async () => {
|
|
const resultFalse = await navigator.setAppBadge(false);
|
|
assert_equals(
|
|
resultFalse,
|
|
undefined,
|
|
"Resolves successfully when passed false as input (coerced to 0)"
|
|
);
|
|
|
|
const resultTrue = await navigator.setAppBadge(true);
|
|
assert_equals(
|
|
resultTrue,
|
|
undefined,
|
|
"Resolves successfully when passed true as input (coerced to 1)"
|
|
);
|
|
}, "Resolves successfully for boolean input cases");
|
|
</script>
|