| <!DOCTYPE html> |
| <meta charset="utf-8"> |
| <title>GeolocationSensor.read() Test</title> |
| <link rel="author" title="Intel" href="http://www.intel.com"> |
| <link rel="help" href="https://wicg.github.io/geolocation-sensor/"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script> |
| const properties = [ |
| 'timestamp', |
| 'latitude', |
| 'longitude', |
| 'altitude', |
| 'accuracy', |
| 'altitudeAccuracy', |
| 'heading', |
| 'speed' |
| ]; |
| |
| promise_test(async t => { |
| const geo = await GeolocationSensor.read({ signal: null }); |
| assert_not_equals(geo.timestamp, null); |
| properties.forEach(property => assert_own_property(geo, property)); |
| }, "Test that read() method resolves with valid reading when signal is null"); |
| |
| promise_test(async t => { |
| const geo = await GeolocationSensor.read(); |
| assert_not_equals(geo.timestamp, null); |
| properties.forEach(property => assert_own_property(geo, property)); |
| }, "Test that read() method resolves with valid reading"); |
| |
| promise_test(async t => { |
| const controller = new AbortController(); |
| const signal = controller.signal; |
| controller.abort(); |
| |
| await promise_rejects(t, 'AbortError', GeolocationSensor.read({ signal })); |
| }, "Test that read() method rejects 'AbortError' if signal's aborted flag is set"); |
| </script> |