1 description("Tests that when timeout is non-zero, the success callback is called as expected."); 2 3 var mockLatitude = 51.478; 4 var mockLongitude = -0.166; 5 var mockAccuracy = 100.0; 6 7 if (window.layoutTestController) { 8 layoutTestController.setGeolocationPermission(true); 9 layoutTestController.setMockGeolocationPosition(mockLatitude, 10 mockLongitude, 11 mockAccuracy); 12 } else 13 debug('This test can not be run without the LayoutTestController'); 14 15 var position; 16 navigator.geolocation.getCurrentPosition(function(p) { 17 position = p; 18 shouldBe('position.coords.latitude', 'mockLatitude'); 19 shouldBe('position.coords.longitude', 'mockLongitude'); 20 shouldBe('position.coords.accuracy', 'mockAccuracy'); 21 finishJSTest(); 22 }, function(e) { 23 testFailed('Error callback invoked unexpectedly'); 24 finishJSTest(); 25 }, { 26 timeout: 1000 27 }); 28 29 window.jsTestIsAsync = true; 30 window.successfullyParsed = true; 31