diff options
Diffstat (limited to 'dom/tests/mochitest/geolocation/test_clearWatch.html')
-rw-r--r-- | dom/tests/mochitest/geolocation/test_clearWatch.html | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/dom/tests/mochitest/geolocation/test_clearWatch.html b/dom/tests/mochitest/geolocation/test_clearWatch.html new file mode 100644 index 0000000000..4c1776331e --- /dev/null +++ b/dom/tests/mochitest/geolocation/test_clearWatch.html @@ -0,0 +1,76 @@ +<!DOCTYPE HTML> +<html> +<!-- +https://bugzilla.mozilla.org/show_bug.cgi?id=478911 +--> +<head> + <title>Test for watchPosition and clearWatch</title> + <script src="/tests/SimpleTest/SimpleTest.js"></script> + <script type="text/javascript" src="geolocation_common.js"></script> + +<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" /> +</head> +<body> +<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=478911">Mozilla Bug 478911</a> +<p id="display"></p> +<div id="content" style="display: none"> + +</div> +<pre id="test"> +<script class="testbody" type="text/javascript"> +"use strict"; + +SimpleTest.waitForExplicitFinish(); + +resume_geolocationProvider(function() { + force_prompt(true, test1); +}); + +var hasBeenCleared = false; +var successWasCalledAfterClear = false; +var firstCallback = true; + +function failureCallback(error) +{ + ok(0, "we should not be seeing failures from this watchPosition"); +} + +function successCallback(position) { + ok(true, "successCallback was called, hasBeenCleared=" + hasBeenCleared + + ", successWasCalledAfterClear=" + successWasCalledAfterClear); + check_geolocation(position); + if (hasBeenCleared == true) { + successWasCalledAfterClear = true; + } + if (firstCallback) { + SimpleTest.executeSoon(clearWatch); + firstCallback = false; + } +} + +let watchID; + +function clearWatch() { + ok(true, "clearWatch was called, hasBeenCleared=" + hasBeenCleared + + ", successWasCalledAfterClear=" + successWasCalledAfterClear); + navigator.geolocation.clearWatch(watchID); + hasBeenCleared = true; + SimpleTest.executeSoon(testAccepted); +} + +function testAccepted() { + ok(true, "testAccepted was called, hasBeenCleared=" + hasBeenCleared + + ", successWasCalledAfterClear=" + successWasCalledAfterClear); + ok(!successWasCalledAfterClear, "The successCallback should not be called after clear"); + SimpleTest.finish(); +} + +function test1() { + ok(true, "Getting the watchPosition"); + watchID = navigator.geolocation.watchPosition(successCallback, failureCallback, null); + ok(true, "Waiting"); +} +</script> +</pre> +</body> +</html> |