citizenwatt-refactor/base/tests/tests.js

49 lines
3.1 KiB
JavaScript

#!/usr/bin/node
/* You have to uncomment the latest lines of ../static/js/datetutils.js to use these tests. */
var assert = require('assert');
var dateutils = require('../static/js/dateutils');
assert(dateutils.getHourLength() == 3600 * 1000, 'Hour length');
assert(dateutils.getDayLength() == 86400 * 1000, 'Day length' );
assert(dateutils.getWeekLength() == 604800 * 1000, 'Week length');
assert(dateutils.getMonthLength(new Date(2000,1,0)) == 31*86400*1000, 'January length' );
assert(dateutils.getMonthLength(new Date(2000,2,0)) == 29*86400*1000, 'February length');
assert(dateutils.getMonthLength(new Date(2000,3,0)) == 31*86400*1000, 'March length' );
assert(dateutils.getMonthLength(new Date(2000,4,0)) == 30*86400*1000, 'April length' );
assert(dateutils.getMonthLength(new Date(2000,5,0)) == 31*86400*1000, 'May length' );
var d = new Date(2000,5,27,12,5,45,0);
assert(dateutils.getDayStart(d) == (new Date(2000,5,27,0,0,0,0)).getTime(), '[1] Day start' );
assert(dateutils.getDayEnd(d) == (new Date(2000,5,28,0,0,0,0)).getTime(), '[1] Day end' );
assert(dateutils.getWeekStart(d) == (new Date(2000,5,26,0,0,0,0)).getTime(), '[1] Week start' );
assert(dateutils.getWeekEnd(d) == (new Date(2000,6, 3,0,0,0,0)).getTime(), '[1] Week end' );
assert(dateutils.getMonthStart(d) == (new Date(2000,5, 1,0,0,0,0)).getTime(), '[1] Month start');
assert(dateutils.getMonthEnd(d) == (new Date(2000,6, 1,0,0,0,0)).getTime(), '[1] Month end' );
var d = new Date(1999,11,30,18,12,9,0);
assert(dateutils.getDayStart(d) == (new Date(1999,11,30,0,0,0,0)).getTime(), '[2] Day start' );
assert(dateutils.getDayEnd(d) == (new Date(1999,11,31,0,0,0,0)).getTime(), '[2] Day end' );
assert(dateutils.getWeekStart(d) == (new Date(1999,11,27,0,0,0,0)).getTime(), '[2] Week start' );
assert(dateutils.getWeekEnd(d) == (new Date(2000, 0, 3,0,0,0,0)).getTime(), '[2] Week end' );
assert(dateutils.getMonthStart(d) == (new Date(1999,11, 1,0,0,0,0)).getTime(), '[2] Month start');
assert(dateutils.getMonthEnd(d) == (new Date(2000, 0, 1,0,0,0,0)).getTime(), '[2] Month end' );
console.log(dateutils.getWeekEnd(d) - dateutils.getWeekStart(d))
assert(dateutils.getDayEnd(d) - dateutils.getDayStart(d) == dateutils.getDayLength() , 'Day length consistency ');
assert(dateutils.getWeekEnd(d) - dateutils.getWeekStart(d) == dateutils.getWeekLength() , 'Week length consistency ');
assert(dateutils.getMonthEnd(d) - dateutils.getMonthStart(d) == dateutils.getMonthLength(d), 'Month length consistency');
assert(dateutils.getStringDay(3) == 'Jeudi' , 'String day by index' );
assert(dateutils.getStringDay(d) == 'Jeudi' , 'String day by date' );
assert(dateutils.getStringMonth(11) == 'Décembre', 'String month by index');
assert(dateutils.getStringMonth( d) == 'Décembre', 'String month by date' );
assert(dateutils.humanDay(d) == 'le 30 décembre' , 'Human date' );
assert(dateutils.humanWeek(d) == 'entre le 27 décembre et le 2 janvier', 'Human week' );
assert(dateutils.humanMonth(d) == 'en décembre' , 'Human month');
console.log('Everything is ok.')