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.testRunner) {
    testRunner.setGeolocationPermission(true);
    testRunner.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;
