<!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>
