/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ const assert = require('assert'); const utc = require('../'); module.exports = { 'utc': { '()': { 'returns now in UTC format': function() { assert.equal(utc(), new Date().toUTCString()); }, 'returns passed date in UTC format': function() { var d = new Date(Date.now() - 1000000); assert.equal(utc(d), d.toUTCString()); } }, 'is': { 'matches utc strings': function() { assert(utc.is(new Date().toUTCString())); }, 'does not match partial utc strings': function() { assert(!utc.is('Wed, 30 Oct')); assert(!utc.is('Wed, 30 October')); assert(!utc.is('Wed, 30 Oct 2013')); assert(!utc.is('Wed 30 Oct 2013 12:00:00 GMT')); assert(!utc.is('Wed, 30 Oct 2013, 12:00')); }, "only matches exact strings": function() { assert(!utc.is(utc() + " is a fine day!")); } }, 'has': { 'matches strings that contain UTC strings': function() { assert(utc.has(utc() + " is a fine day!")); } }, 'match': { 'returns a RegExp match against string': function() { var m = utc.match("Boy, " + utc() + " is a fine day!"); assert(m instanceof Array); assert.equal(m.length, 1); } }, 'get': { 'returns a found UTC string in against string': function() { var d = utc(); assert.equal(utc.get(d + " is poop."), d); } }, 'from': { 'parses UTC strings': function() { var d = new Date(); assert(utc.from(d.toUTCString()) instanceof Date); assert.equal(utc.from(d.toUTCString()).getYear(), d.getYear()); } } } };