badge-success.https.html (1942B)
1 <!DOCTYPE html> 2 <title>Badging: Supported values</title> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <script> 6 // Testing valid input cases 7 promise_test(async () => { 8 const numberTestCases = [ 9 { value: undefined, desc: "undefined" }, 10 { value: null, desc: "null (coerced to 0)" }, 11 { value: 1, desc: "integer value of 1" }, 12 { value: 10.6, desc: "non-whole number" }, 13 { value: Number.MAX_SAFE_INTEGER, desc: "maximum allowed value" }, 14 { value: 0, desc: "zero" }, 15 ]; 16 17 for (const { value, desc } of numberTestCases) { 18 const result = await navigator.setAppBadge(value); 19 assert_equals( 20 result, 21 undefined, 22 `Resolves successfully when passed ${desc} as input` 23 ); 24 } 25 }, "Resolves successfully for number input cases"); 26 27 promise_test(async () => { 28 const stringTestCases = [ 29 { value: "3", desc: "numeric string '3' (coerced to 3)" }, 30 { 31 value: " 300.000 ", 32 desc: "numeric string ' 300.000 ' (coerced to 300)", 33 }, 34 { value: "", desc: "empty string (coerced to 0)" }, 35 ]; 36 37 for (const { value, desc } of stringTestCases) { 38 const result = await navigator.setAppBadge(value); 39 assert_equals( 40 result, 41 undefined, 42 `Resolves successfully when passed ${desc} as input` 43 ); 44 } 45 }, "Resolves successfully for string input cases"); 46 47 promise_test(async () => { 48 const resultFalse = await navigator.setAppBadge(false); 49 assert_equals( 50 resultFalse, 51 undefined, 52 "Resolves successfully when passed false as input (coerced to 0)" 53 ); 54 55 const resultTrue = await navigator.setAppBadge(true); 56 assert_equals( 57 resultTrue, 58 undefined, 59 "Resolves successfully when passed true as input (coerced to 1)" 60 ); 61 }, "Resolves successfully for boolean input cases"); 62 </script>