diff options
Diffstat (limited to 'testing/web-platform/tests/geolocation-API/getCurrentPosition_permission_deny.https.html')
-rw-r--r-- | testing/web-platform/tests/geolocation-API/getCurrentPosition_permission_deny.https.html | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/testing/web-platform/tests/geolocation-API/getCurrentPosition_permission_deny.https.html b/testing/web-platform/tests/geolocation-API/getCurrentPosition_permission_deny.https.html new file mode 100644 index 0000000000..54bba9aeab --- /dev/null +++ b/testing/web-platform/tests/geolocation-API/getCurrentPosition_permission_deny.https.html @@ -0,0 +1,29 @@ +<!DOCTYPE html> +<meta charset="utf-8" /> +<title>Geolocation Test: getCurrentPosition location access denied</title> +<link rel="help" href="http://www.w3.org/TR/geolocation-API/#privacy_for_uas" /> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<script> + promise_test(async (t) => { + t.add_cleanup(() => { + return test_driver.set_permission({ name: "geolocation" }, "prompt"); + }); + await test_driver.set_permission({ name: "geolocation" }, "denied"); + const error = await new Promise((resolve, reject) => { + let calledAsync = false; + navigator.geolocation.getCurrentPosition(reject, t.step_func((error) => { + assert_true(calledAsync, "Expected callback to be called asynchronously"); + resolve(error); + })); + calledAsync = true; + }); + assert_true( + error instanceof GeolocationPositionError, + "should be a GeolocationPositionError" + ); + assert_equals(error.code, error.PERMISSION_DENIED); + }, "User denies access, check that error callback is called with correct code"); +</script> |