| <!DOCTYPE html> | |
| <title>Badging: Unsupported values</title> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script> | |
| promise_test(async (t) => { | |
| await promise_rejects_js( | |
| t, | |
| TypeError, | |
| navigator.setAppBadge(-1), | |
| "Reject with TypeError if the value is negative" | |
| ); | |
| await promise_rejects_js( | |
| t, | |
| TypeError, | |
| navigator.setAppBadge(Number.MAX_SAFE_INTEGER + 1), | |
| "Reject with TypeError if the value is larger than the maximum safe integer (2^53 - 1)" | |
| ); | |
| await promise_rejects_js( | |
| t, | |
| TypeError, | |
| navigator.setAppBadge(Infinity), | |
| "Reject with TypeError if the value is positive infinity" | |
| ); | |
| await promise_rejects_js( | |
| t, | |
| TypeError, | |
| navigator.setAppBadge(-Infinity), | |
| "Reject with TypeError if the value is negative infinity" | |
| ); | |
| await promise_rejects_js( | |
| t, | |
| TypeError, | |
| navigator.setAppBadge(NaN), | |
| "Reject with TypeError if the value is NaN" | |
| ); | |
| await promise_rejects_js( | |
| t, | |
| TypeError, | |
| navigator.setAppBadge("Foo"), | |
| 'Reject with TypeError if the value cannot be converted to a long: string' | |
| ); | |
| await promise_rejects_js( | |
| t, | |
| TypeError, | |
| navigator.setAppBadge({}), | |
| "Reject with TypeError if the value cannot be converted to a long: object" | |
| ); | |
| }, "Test various invalid input cases for setAppBadge()"); | |
| </script> |