@head.js/analytics.js-new-date
Version:
Creates a new Date, but accepts a few more input types than normal.
82 lines (67 loc) • 2.4 kB
JavaScript
;
var assert = require("proclaim");
var newDate = require("../lib");
describe("new-date", function () {
describe("dates", function () {
it("new Date", function () {
var date = new Date();
assert.strictEqual(newDate(date), date);
});
});
describe("numbers", function () {
it("1363288923637 (milliseconds)", function () {
var millis = 1363288923637;
var date = newDate(millis);
assert.strictEqual(date.getTime(), millis);
});
it("1363288923 (seconds)", function () {
var seconds = 1363288923;
var date = newDate(seconds);
assert.strictEqual(date.getTime(), seconds * 1000);
});
});
describe("strings", function () {
it('"string"', function () {
var date = newDate("string");
assert(isNaN(date.getTime()));
});
it('"Wed, 09 Aug 1995"', function () {
var date = newDate("Wed, 09 Aug 1995");
assert.strictEqual(date.getTime(), 807926400000);
});
it('"Wed, 09 Aug 1995 04:10:23 GMT"', function () {
var date = newDate("Wed, 09 Aug 1995 04:10:23 GMT");
assert.strictEqual(date.getTime(), 807941423000);
});
it('"2013-05-31" (MySQL)', function () {
var date = newDate("2013-05-31");
assert.strictEqual(date.getTime(), 1369958400000);
});
it('"2013-05-31 00:24:47" (MySQL)', function () {
var date = newDate("2013-05-31 00:24:47");
assert.strictEqual(date.getTime(), 1369959887000);
});
it('"2013-05-31T00:24:47" (ISO)', function () {
var date = newDate("2013-05-31T00:24:47");
assert.strictEqual(date.getTime(), 1369959887000);
});
it('"2013-09-04T01:06:46.983-0700" (ISO)', function () {
var date = newDate("2013-09-04T01:06:46.983-0700");
assert.strictEqual(date.getTime(), 1378282006983);
});
it('"2013-09-04T01:06:46.983Z" (ISO)', function () {
var date = newDate("2013-09-04T01:06:46.983Z");
assert.strictEqual(date.getTime(), 1378256806983);
});
it('"1363288923637" (milliseconds)', function () {
var millis = "1363288923637";
var date = newDate(millis);
assert.strictEqual(date.getTime(), 1363288923637);
});
it('"1363288923" (seconds)', function () {
var seconds = "1363288923";
var date = newDate(seconds);
assert.strictEqual(date.getTime(), 1363288923 * 1000);
});
});
});