www/countdown.js - allow mocking the current time
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
// This is deliberately browser-compatible JS, so we avoid fat arrows etc.
|
// This is deliberately browser-compatible JS, so we avoid fat arrows etc.
|
||||||
|
|
||||||
var locale = "EN-GB";
|
var locale = "EN-GB";
|
||||||
var now = new Date();
|
var now = getTimeNow();
|
||||||
var nextNewYearUTC = new Date(Date.UTC(now.getFullYear()+1, 0, 1));
|
var nextNewYearUTC = new Date(Date.UTC(getTimeNow().getFullYear()+1, 0, 1));
|
||||||
var secsRemaining = 0;
|
var secsRemaining = 0;
|
||||||
var nextZone;
|
var nextZone;
|
||||||
var counter = document.getElementById("counter");
|
var counter = document.getElementById("counter");
|
||||||
@@ -12,6 +12,15 @@ var untilDate = document.getElementById("until-date");
|
|||||||
|
|
||||||
var countDownSound = new Audio('get-ready.ogg');
|
var countDownSound = new Audio('get-ready.ogg');
|
||||||
|
|
||||||
|
// This function returns the current time - or we can adjust it to a
|
||||||
|
// fake time, if we're testing!
|
||||||
|
function getTimeNow() {
|
||||||
|
var now = new Date();
|
||||||
|
var offset = 0; // hours
|
||||||
|
|
||||||
|
return new Date(now.valueOf() + offset*3600000);
|
||||||
|
}
|
||||||
|
|
||||||
// Convert the next new year time to 'date, hours:mins:secs' in the target timezone
|
// Convert the next new year time to 'date, hours:mins:secs' in the target timezone
|
||||||
function zoneTime(zone, refTime) {
|
function zoneTime(zone, refTime) {
|
||||||
return refTime.toLocaleString('EN-US', {
|
return refTime.toLocaleString('EN-US', {
|
||||||
@@ -291,7 +300,7 @@ function handleTick(now) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function ticker() {
|
function ticker() {
|
||||||
var now = new Date();
|
var now = getTimeNow();
|
||||||
handleTick(now);
|
handleTick(now);
|
||||||
|
|
||||||
var millis = now.getMilliseconds()
|
var millis = now.getMilliseconds()
|
||||||
|
|||||||
Reference in New Issue
Block a user