blob: dfadcb09d197ec192826285373f6c38f8011c9aa [file] [log] [blame]
<!DOCTYPE HTML>
<meta charset='utf-8'>
<title>Geolocation Test: getCurrentPosition location access allowed</title>
<link rel='help' href='http://www.w3.org/TR/geolocation-API/#get-current-position'>
<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 allow.</p>
<div id='log'></div>
<script>
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00002
var t = async_test('User allows access, check that success callback is called or error callback is called with correct code.'),
onSuccess, onError, hasMethodReturned = false;
onSuccess = t.step_func(function(pos) {
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00031
test(function() {
assert_true(hasMethodReturned);
}, 'Check that getCurrentPosition returns synchronously before any callbacks are invoked.');
done();
});
onError = t.step_func(function(err) {
// Rewrite http://dev.w3.org/geo/api/test-suite/t.html?00031
test(function() {
assert_true(hasMethodReturned);
}, 'Check that getCurrentPosition returns synchronously before any callbacks are invoked.');
assert_true(!isUsingPreemptivePermission && err.code === err.POSITION_UNAVAILABLE);
done();
});
try {
geo.getCurrentPosition(onSuccess, onError);
hasMethodReturned = true;
} catch(e) {
t.step(function() {
assert_unreached('An exception was thrown unexpectedly: ' + e.message);
});
}
</script>