tizen beta release
[framework/web/webkit-efl.git] / LayoutTests / fast / dom / Geolocation / script-tests / permission-denied-already-success.js
1 description("Tests that when Geolocation permission has been denied prior to a call to a Geolocation method, the error callback is invoked with code PERMISSION_DENIED, when the Geolocation service has a good position.");
2
3 // Prime the Geolocation instance by denying permission.
4 if (window.layoutTestController) {
5     layoutTestController.setGeolocationPermission(false);
6     layoutTestController.setMockGeolocationPosition(51.478, -0.166, 100);
7 } else
8     debug('This test can not be run without the LayoutTestController');
9
10 var error;
11 navigator.geolocation.getCurrentPosition(function(p) {
12     testFailed('Success callback invoked unexpectedly');
13     finishJSTest();
14 }, function(e) {
15     error = e;
16     shouldBe('error.code', 'error.PERMISSION_DENIED');
17     shouldBe('error.message', '"User denied Geolocation"');
18     debug('');
19     continueTest();
20 });
21
22 function continueTest()
23 {
24     // Make another request, with permission already denied.
25     navigator.geolocation.getCurrentPosition(function(p) {
26         testFailed('Success callback invoked unexpectedly');
27         finishJSTest();
28     }, function(e) {
29         error = e;
30         shouldBe('error.code', 'error.PERMISSION_DENIED');
31         shouldBe('error.message', '"User denied Geolocation"');
32         finishJSTest();
33     });
34 }
35
36 window.jsTestIsAsync = true;