tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

getCurrentPosition-error.https.html (1784B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8"/>
      3 <script src="/resources/testharness.js"></script>
      4 <script src="/resources/testharnessreport.js"></script>
      5 <script src="/resources/testdriver.js?feature=bidi"></script>
      6 <script src="/resources/testdriver-vendor.js"></script>
      7 
      8 <script>
      9    promise_setup(async () => {
     10        // Ensure permission is granted before proceeding.
     11        await test_driver.bidi.permissions.set_permission({
     12            descriptor: {name: "geolocation"},
     13            state: "granted",
     14        });
     15    });
     16 
     17    promise_test(async (t) => {
     18        t.add_cleanup(async () => {
     19            await test_driver.bidi.emulation.set_geolocation_override(
     20                {coordinates: null});
     21        });
     22 
     23        await test_driver.bidi.emulation.set_geolocation_override({
     24            error: {type: "positionUnavailable"}
     25        });
     26 
     27        const error = await new Promise(
     28            (resolve, reject) =>
     29                window.navigator.geolocation.getCurrentPosition(
     30                    () => reject("Unexpected success callback"),
     31                    error => resolve({
     32                        code: error.code,
     33                        message: error.message,
     34                        PERMISSION_DENIED: error.PERMISSION_DENIED,
     35                        POSITION_UNAVAILABLE: error.POSITION_UNAVAILABLE,
     36                        TIMEOUT: error.TIMEOUT
     37                    }),
     38                    {timeout: 1000}
     39                ));
     40 
     41        assert_equals(error.code, 2);
     42        // The message value is not specified.
     43        assert_not_equals(error.message, undefined);
     44        assert_equals(error.PERMISSION_DENIED, 1);
     45        assert_equals(error.POSITION_UNAVAILABLE, 2);
     46        assert_equals(error.TIMEOUT, 3);
     47    }, "Tests Geolocation error callback");
     48 </script>