diff options
Diffstat (limited to 'LayoutTests/fast/dom/Geolocation/script-tests/timestamp.js')
-rw-r--r-- | LayoutTests/fast/dom/Geolocation/script-tests/timestamp.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/LayoutTests/fast/dom/Geolocation/script-tests/timestamp.js b/LayoutTests/fast/dom/Geolocation/script-tests/timestamp.js new file mode 100644 index 0000000..b51ca43 --- /dev/null +++ b/LayoutTests/fast/dom/Geolocation/script-tests/timestamp.js @@ -0,0 +1,34 @@ +description("Tests that Geoposition timestamps are well-formed (non-zero and in the same units as Date.getTime)."); + +var mockLatitude = 51.478; +var mockLongitude = -0.166; +var mockAccuracy = 100.0; + +if (window.layoutTestController) { + layoutTestController.setGeolocationPermission(true); + layoutTestController.setMockGeolocationPosition(mockLatitude, mockLongitude, mockAccuracy); +} + +var now = new Date().getTime(); +shouldBeTrue('now != 0'); +var t = null; +var then = null; + +function checkPosition(p) { + t = p.timestamp; + var d = new Date(); + then = d.getTime(); + shouldBeTrue('t != 0'); + shouldBeTrue('then != 0'); + shouldBeTrue('now - 1 <= t'); // Avoid rounding errors + if (now - 1 > t) { + debug(" now - 1 = " + (now-1)); + debug(" t = " + t); + } + shouldBeTrue('t <= then + 1'); // Avoid rounding errors + finishJSTest(); +} + +navigator.geolocation.getCurrentPosition(checkPosition); +window.jsTestIsAsync = true; +window.successfullyParsed = true; |