diff options
Diffstat (limited to 'testing/web-platform/tests/geolocation-API/getCurrentPosition_permission_allow.https.html')
-rw-r--r-- | testing/web-platform/tests/geolocation-API/getCurrentPosition_permission_allow.https.html | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/testing/web-platform/tests/geolocation-API/getCurrentPosition_permission_allow.https.html b/testing/web-platform/tests/geolocation-API/getCurrentPosition_permission_allow.https.html new file mode 100644 index 0000000000..c7fa970e08 --- /dev/null +++ b/testing/web-platform/tests/geolocation-API/getCurrentPosition_permission_allow.https.html @@ -0,0 +1,55 @@ +<!DOCTYPE html> +<meta charset="utf-8" /> +<title>Geolocation Test: getCurrentPosition() location access</title> +<link + rel="help" + href="https://www.w3.org/TR/geolocation/#getcurrentposition-method" +/> +<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" }, "granted"); + const position = await new Promise((resolve, reject) => { + let calledAsync = false; + navigator.geolocation.getCurrentPosition( + t.step_func((position) => { + assert_true( + calledAsync, + "Expected callback to be called asynchronously" + ); + resolve(position); + }), + reject + ); + calledAsync = true; + }); + assert_true( + position instanceof GeolocationPosition, + "Expected GeolocationPosition" + ); + }, "User allows access, check that success callback is called."); + + promise_test(async (t) => { + t.add_cleanup(() => { + return test_driver.set_permission({ name: "geolocation" }, "prompt"); + }); + await test_driver.set_permission({ name: "geolocation" }, "granted"); + const position = await new Promise((resolve, reject) => { + try { + navigator.geolocation.getCurrentPosition(resolve, null); + } catch (err) { + reject(err); + } + }); + assert_true( + position instanceof GeolocationPosition, + "Expected GeolocationPosition" + ); + }, "Error callback is nullable for getCurrentPosition()."); +</script> |