summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/geolocation-API/getCurrentPosition_permission_deny.html
blob: 26fe8899eda0ca2139a98a3b3c469447dcf9e337 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<!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='support.js'></script>

<p>Clear all Geolocation permissions before running this test. If prompted for permission, please deny.</p>
<div id='log'></div>

<script>
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00001
var t = async_test('User denies access, check that error callback is called with correct code'),
    onSuccess, onError, hasMethodReturned = false;

t.step(function() {
  onSuccess = t.step_func(function(pos) {
    assert_unreached('A success callback was invoked unexpectedly with position ' + positionToString(pos));
  });

  onError =  t.step_func(function(err) {
    // http://dev.w3.org/geo/api/test-suite/t.html?00031
    assert_true(hasMethodReturned, 'Check that getCurrentPosition returns synchronously before any callbacks are invoked');
    assert_equals(err.code, err.PERMISSION_DENIED,
        'PossitionError code: ' + err.code, + ', message: ' + err.message);
    done();
  });

  geo.getCurrentPosition(onSuccess, onError);
  hasMethodReturned = true;
});
</script>