mirror of https://gitee.com/bigwinds/arangodb
32768 lines
1.6 MiB
32768 lines
1.6 MiB
(function () {
|
||
var global = this,
|
||
require = function() { return global.moment; },
|
||
exports = global.NPM_TESTS = {};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.add = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"add short" : function (test) {
|
||
test.expect(16);
|
||
|
||
var a = moment(), b, c, d;
|
||
a.year(2011);
|
||
a.month(9);
|
||
a.date(12);
|
||
a.hours(6);
|
||
a.minutes(7);
|
||
a.seconds(8);
|
||
a.milliseconds(500);
|
||
|
||
test.equal(a.add({ms: 50}).milliseconds(), 550, 'Add milliseconds');
|
||
test.equal(a.add({s: 1}).seconds(), 9, 'Add seconds');
|
||
test.equal(a.add({m: 1}).minutes(), 8, 'Add minutes');
|
||
test.equal(a.add({h: 1}).hours(), 7, 'Add hours');
|
||
test.equal(a.add({d: 1}).date(), 13, 'Add date');
|
||
test.equal(a.add({w: 1}).date(), 20, 'Add week');
|
||
test.equal(a.add({M: 1}).month(), 10, 'Add month');
|
||
test.equal(a.add({y: 1}).year(), 2012, 'Add year');
|
||
test.equal(a.add({Q: 1}).month(), 1, 'Add quarter');
|
||
|
||
b = moment([2010, 0, 31]).add({M: 1});
|
||
c = moment([2010, 1, 28]).subtract({M: 1});
|
||
d = moment([2010, 1, 28]).subtract({Q: 1});
|
||
|
||
test.equal(b.month(), 1, 'add month, jan 31st to feb 28th');
|
||
test.equal(b.date(), 28, 'add month, jan 31st to feb 28th');
|
||
test.equal(c.month(), 0, 'subtract month, feb 28th to jan 28th');
|
||
test.equal(c.date(), 28, 'subtract month, feb 28th to jan 28th');
|
||
test.equal(d.month(), 10, 'subtract quarter, feb 28th 2010 to nov 28th 2009');
|
||
test.equal(d.date(), 28, 'subtract quarter, feb 28th 2010 to nov 28th 2009');
|
||
test.equal(d.year(), 2009, 'subtract quarter, feb 28th 2010 to nov 28th 2009');
|
||
test.done();
|
||
},
|
||
|
||
"add long" : function (test) {
|
||
test.expect(9);
|
||
|
||
var a = moment();
|
||
a.year(2011);
|
||
a.month(9);
|
||
a.date(12);
|
||
a.hours(6);
|
||
a.minutes(7);
|
||
a.seconds(8);
|
||
a.milliseconds(500);
|
||
|
||
test.equal(a.add({milliseconds: 50}).milliseconds(), 550, 'Add milliseconds');
|
||
test.equal(a.add({seconds: 1}).seconds(), 9, 'Add seconds');
|
||
test.equal(a.add({minutes: 1}).minutes(), 8, 'Add minutes');
|
||
test.equal(a.add({hours: 1}).hours(), 7, 'Add hours');
|
||
test.equal(a.add({days: 1}).date(), 13, 'Add date');
|
||
test.equal(a.add({weeks: 1}).date(), 20, 'Add week');
|
||
test.equal(a.add({months: 1}).month(), 10, 'Add month');
|
||
test.equal(a.add({years: 1}).year(), 2012, 'Add year');
|
||
test.equal(a.add({quarters: 1}).month(), 1, 'Add quarter');
|
||
test.done();
|
||
},
|
||
|
||
"add long singular" : function (test) {
|
||
test.expect(9);
|
||
|
||
var a = moment();
|
||
a.year(2011);
|
||
a.month(9);
|
||
a.date(12);
|
||
a.hours(6);
|
||
a.minutes(7);
|
||
a.seconds(8);
|
||
a.milliseconds(500);
|
||
|
||
test.equal(a.add({millisecond: 50}).milliseconds(), 550, 'Add milliseconds');
|
||
test.equal(a.add({second: 1}).seconds(), 9, 'Add seconds');
|
||
test.equal(a.add({minute: 1}).minutes(), 8, 'Add minutes');
|
||
test.equal(a.add({hour: 1}).hours(), 7, 'Add hours');
|
||
test.equal(a.add({day: 1}).date(), 13, 'Add date');
|
||
test.equal(a.add({week: 1}).date(), 20, 'Add week');
|
||
test.equal(a.add({month: 1}).month(), 10, 'Add month');
|
||
test.equal(a.add({year: 1}).year(), 2012, 'Add year');
|
||
test.equal(a.add({quarter: 1}).month(), 1, 'Add quarter');
|
||
test.done();
|
||
},
|
||
|
||
"add string long" : function (test) {
|
||
test.expect(10);
|
||
|
||
var a = moment(), b;
|
||
a.year(2011);
|
||
a.month(9);
|
||
a.date(12);
|
||
a.hours(6);
|
||
a.minutes(7);
|
||
a.seconds(8);
|
||
a.milliseconds(500);
|
||
|
||
b = a.clone();
|
||
|
||
test.equal(a.add('millisecond', 50).milliseconds(), 550, 'Add milliseconds');
|
||
test.equal(a.add('second', 1).seconds(), 9, 'Add seconds');
|
||
test.equal(a.add('minute', 1).minutes(), 8, 'Add minutes');
|
||
test.equal(a.add('hour', 1).hours(), 7, 'Add hours');
|
||
test.equal(a.add('day', 1).date(), 13, 'Add date');
|
||
test.equal(a.add('week', 1).date(), 20, 'Add week');
|
||
test.equal(a.add('month', 1).month(), 10, 'Add month');
|
||
test.equal(a.add('year', 1).year(), 2012, 'Add year');
|
||
test.equal(b.add('day', '01').date(), 13, 'Add date');
|
||
test.equal(a.add('quarter', 1).month(), 1, 'Add quarter');
|
||
test.done();
|
||
},
|
||
|
||
"add string long singular" : function (test) {
|
||
test.expect(10);
|
||
|
||
var a = moment(), b;
|
||
a.year(2011);
|
||
a.month(9);
|
||
a.date(12);
|
||
a.hours(6);
|
||
a.minutes(7);
|
||
a.seconds(8);
|
||
a.milliseconds(500);
|
||
|
||
b = a.clone();
|
||
|
||
test.equal(a.add('milliseconds', 50).milliseconds(), 550, 'Add milliseconds');
|
||
test.equal(a.add('seconds', 1).seconds(), 9, 'Add seconds');
|
||
test.equal(a.add('minutes', 1).minutes(), 8, 'Add minutes');
|
||
test.equal(a.add('hours', 1).hours(), 7, 'Add hours');
|
||
test.equal(a.add('days', 1).date(), 13, 'Add date');
|
||
test.equal(a.add('weeks', 1).date(), 20, 'Add week');
|
||
test.equal(a.add('months', 1).month(), 10, 'Add month');
|
||
test.equal(a.add('years', 1).year(), 2012, 'Add year');
|
||
test.equal(b.add('days', '01').date(), 13, 'Add date');
|
||
test.equal(a.add('quarters', 1).month(), 1, 'Add quarter');
|
||
test.done();
|
||
},
|
||
|
||
"add string short" : function (test) {
|
||
test.expect(9);
|
||
|
||
var a = moment();
|
||
a.year(2011);
|
||
a.month(9);
|
||
a.date(12);
|
||
a.hours(6);
|
||
a.minutes(7);
|
||
a.seconds(8);
|
||
a.milliseconds(500);
|
||
|
||
test.equal(a.add('ms', 50).milliseconds(), 550, 'Add milliseconds');
|
||
test.equal(a.add('s', 1).seconds(), 9, 'Add seconds');
|
||
test.equal(a.add('m', 1).minutes(), 8, 'Add minutes');
|
||
test.equal(a.add('h', 1).hours(), 7, 'Add hours');
|
||
test.equal(a.add('d', 1).date(), 13, 'Add date');
|
||
test.equal(a.add('w', 1).date(), 20, 'Add week');
|
||
test.equal(a.add('M', 1).month(), 10, 'Add month');
|
||
test.equal(a.add('y', 1).year(), 2012, 'Add year');
|
||
test.equal(a.add('Q', 1).month(), 1, 'Add quarter');
|
||
test.done();
|
||
},
|
||
|
||
"add string long reverse args" : function (test) {
|
||
test.expect(9);
|
||
|
||
var a = moment();
|
||
a.year(2011);
|
||
a.month(9);
|
||
a.date(12);
|
||
a.hours(6);
|
||
a.minutes(7);
|
||
a.seconds(8);
|
||
a.milliseconds(500);
|
||
|
||
test.equal(a.add(50, 'millisecond').milliseconds(), 550, 'Add milliseconds');
|
||
test.equal(a.add(1, 'second').seconds(), 9, 'Add seconds');
|
||
test.equal(a.add(1, 'minute').minutes(), 8, 'Add minutes');
|
||
test.equal(a.add(1, 'hour').hours(), 7, 'Add hours');
|
||
test.equal(a.add(1, 'day').date(), 13, 'Add date');
|
||
test.equal(a.add(1, 'week').date(), 20, 'Add week');
|
||
test.equal(a.add(1, 'month').month(), 10, 'Add month');
|
||
test.equal(a.add(1, 'year').year(), 2012, 'Add year');
|
||
test.equal(a.add(1, 'quarter').month(), 1, 'Add quarter');
|
||
test.done();
|
||
},
|
||
|
||
"add string long singular reverse args" : function (test) {
|
||
test.expect(9);
|
||
|
||
var a = moment();
|
||
a.year(2011);
|
||
a.month(9);
|
||
a.date(12);
|
||
a.hours(6);
|
||
a.minutes(7);
|
||
a.seconds(8);
|
||
a.milliseconds(500);
|
||
|
||
test.equal(a.add(50, 'milliseconds').milliseconds(), 550, 'Add milliseconds');
|
||
test.equal(a.add(1, 'seconds').seconds(), 9, 'Add seconds');
|
||
test.equal(a.add(1, 'minutes').minutes(), 8, 'Add minutes');
|
||
test.equal(a.add(1, 'hours').hours(), 7, 'Add hours');
|
||
test.equal(a.add(1, 'days').date(), 13, 'Add date');
|
||
test.equal(a.add(1, 'weeks').date(), 20, 'Add week');
|
||
test.equal(a.add(1, 'months').month(), 10, 'Add month');
|
||
test.equal(a.add(1, 'years').year(), 2012, 'Add year');
|
||
test.equal(a.add(1, 'quarters').month(), 1, 'Add quarter');
|
||
test.done();
|
||
},
|
||
|
||
"add string short reverse args" : function (test) {
|
||
test.expect(9);
|
||
|
||
var a = moment();
|
||
a.year(2011);
|
||
a.month(9);
|
||
a.date(12);
|
||
a.hours(6);
|
||
a.minutes(7);
|
||
a.seconds(8);
|
||
a.milliseconds(500);
|
||
|
||
test.equal(a.add(50, 'ms').milliseconds(), 550, 'Add milliseconds');
|
||
test.equal(a.add(1, 's').seconds(), 9, 'Add seconds');
|
||
test.equal(a.add(1, 'm').minutes(), 8, 'Add minutes');
|
||
test.equal(a.add(1, 'h').hours(), 7, 'Add hours');
|
||
test.equal(a.add(1, 'd').date(), 13, 'Add date');
|
||
test.equal(a.add(1, 'w').date(), 20, 'Add week');
|
||
test.equal(a.add(1, 'M').month(), 10, 'Add month');
|
||
test.equal(a.add(1, 'y').year(), 2012, 'Add year');
|
||
test.equal(a.add(1, 'Q').month(), 1, 'Add quarter');
|
||
test.done();
|
||
},
|
||
|
||
"add across DST" : function (test) {
|
||
// Detect Safari bug and bail. Hours on 13th March 2011 are shifted
|
||
// with 1 ahead.
|
||
if (new Date(2011, 2, 13, 5, 0, 0).getHours() !== 5) {
|
||
test.done();
|
||
return;
|
||
}
|
||
|
||
var a = moment(new Date(2011, 2, 12, 5, 0, 0)),
|
||
b = moment(new Date(2011, 2, 12, 5, 0, 0)),
|
||
c = moment(new Date(2011, 2, 12, 5, 0, 0)),
|
||
d = moment(new Date(2011, 2, 12, 5, 0, 0)),
|
||
e = moment(new Date(2011, 2, 12, 5, 0, 0));
|
||
a.add('days', 1);
|
||
b.add('hours', 24);
|
||
c.add('months', 1);
|
||
e.add('quarter', 1);
|
||
test.equal(a.hours(), 5, 'adding days over DST difference should result in the same hour');
|
||
if (b.isDST() && !d.isDST()) {
|
||
test.equal(b.hours(), 6, 'adding hours over DST difference should result in a different hour');
|
||
} else if (!b.isDST() && d.isDST()) {
|
||
test.equal(b.hours(), 4, 'adding hours over DST difference should result in a different hour');
|
||
} else {
|
||
test.equal(b.hours(), 5, 'adding hours over DST difference should result in a same hour if the timezone does not have daylight savings time');
|
||
}
|
||
test.equal(c.hours(), 5, 'adding months over DST difference should result in the same hour');
|
||
test.equal(e.hours(), 5, 'adding quarters over DST difference should result in the same hour');
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
var getVerifier = function (test) {
|
||
return function (input, format, expected, description, asymetrical) {
|
||
var m = moment(input, format);
|
||
test.equal(m.format('YYYY MM DD'), expected, 'compare: ' + description);
|
||
|
||
//test round trip
|
||
if (!asymetrical) {
|
||
test.equal(m.format(format), input, 'round trip: ' + description);
|
||
}
|
||
};
|
||
};
|
||
|
||
exports.create = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"array" : function (test) {
|
||
test.expect(8);
|
||
test.ok(moment([2010]).toDate() instanceof Date, "[2010]");
|
||
test.ok(moment([2010, 1]).toDate() instanceof Date, "[2010, 1]");
|
||
test.ok(moment([2010, 1, 12]).toDate() instanceof Date, "[2010, 1, 12]");
|
||
test.ok(moment([2010, 1, 12, 1]).toDate() instanceof Date, "[2010, 1, 12, 1]");
|
||
test.ok(moment([2010, 1, 12, 1, 1]).toDate() instanceof Date, "[2010, 1, 12, 1, 1]");
|
||
test.ok(moment([2010, 1, 12, 1, 1, 1]).toDate() instanceof Date, "[2010, 1, 12, 1, 1, 1]");
|
||
test.ok(moment([2010, 1, 12, 1, 1, 1, 1]).toDate() instanceof Date, "[2010, 1, 12, 1, 1, 1, 1]");
|
||
test.equal(+moment(new Date(2010, 1, 14, 15, 25, 50, 125)), +moment([2010, 1, 14, 15, 25, 50, 125]), "constructing with array === constructing with new Date()");
|
||
test.done();
|
||
},
|
||
|
||
"array copying": function (test) {
|
||
var importantArray = [2009, 11];
|
||
test.expect(1);
|
||
moment(importantArray);
|
||
test.deepEqual(importantArray, [2009, 11], "initializer should not mutate the original array");
|
||
test.done();
|
||
},
|
||
|
||
"object" : function (test) {
|
||
test.expect(10);
|
||
test.ok(moment({year: 2010}).toDate() instanceof Date, "{year: 2010}");
|
||
test.ok(moment({year: 2010, month: 1}).toDate() instanceof Date, "{year: 2010, month: 1}");
|
||
test.ok(moment({year: 2010, month: 1, day: 12}).toDate() instanceof Date, "{year: 2010, month: 1, day: 12}");
|
||
test.ok(moment({year: 2010, month: 1, day: 12, hours: 1}).toDate() instanceof Date, "{year: 2010, month: 1, day: 12, hours: 1}");
|
||
test.ok(moment({year: 2010, month: 1, day: 12, hours: 1, minutes: 1}).toDate() instanceof Date, "{year: 2010, month: 1, hours: 12, minutes: 1, seconds: 1}");
|
||
test.ok(moment({year: 2010, month: 1, day: 12, hours: 1, minutes: 1, seconds: 1}).toDate() instanceof Date, "{year: 2010, month: 1, day: 12, hours: 1, minutes: 1, seconds: 1}");
|
||
test.ok(moment({year: 2010, month: 1, day: 12, hours: 1, minutes: 1, seconds: 1, milliseconds: 1}).toDate() instanceof Date, "{year: 2010, month: 1, day: 12, hours: 1, minutes: 1, seconds: 1, milliseconds: 1}");
|
||
test.equal(+moment(new Date(2010, 1, 14, 15, 25, 50, 125)), +moment({years: 2010, months: 1, days: 14, hours: 15, minutes: 25, seconds: 50, milliseconds: 125}), "constructing with object (long plural) === constructing with new Date()");
|
||
test.equal(+moment(new Date(2010, 1, 14, 15, 25, 50, 125)), +moment({year: 2010, month: 1, day: 14, hour: 15, minute: 25, second: 50, millisecond: 125}), "constructing with object (long) === constructing with new Date()");
|
||
test.equal(+moment(new Date(2010, 1, 14, 15, 25, 50, 125)), +moment({y: 2010, M: 1, d: 14, h: 15, m: 25, s: 50, ms: 125}), "constructing with object (short) === constructing with new Date()");
|
||
test.done();
|
||
},
|
||
|
||
"multi format array copying": function (test) {
|
||
var importantArray = ['MM/DD/YYYY', 'YYYY-MM-DD', 'MM-DD-YYYY'];
|
||
test.expect(1);
|
||
moment('1999-02-13', importantArray);
|
||
test.deepEqual(importantArray, ['MM/DD/YYYY', 'YYYY-MM-DD', 'MM-DD-YYYY'], "initializer should not mutate the original array");
|
||
test.done();
|
||
},
|
||
|
||
"number" : function (test) {
|
||
test.expect(3);
|
||
test.ok(moment(1000).toDate() instanceof Date, "1000");
|
||
test.ok((moment(1000).valueOf() === 1000), "testing valueOf");
|
||
test.ok((moment.utc(1000).valueOf() === 1000), "testing valueOf");
|
||
test.done();
|
||
},
|
||
|
||
"unix" : function (test) {
|
||
test.expect(8);
|
||
test.equal(moment.unix(1).valueOf(), 1000, "1 unix timestamp == 1000 Date.valueOf");
|
||
test.equal(moment(1000).unix(), 1, "1000 Date.valueOf == 1 unix timestamp");
|
||
test.equal(moment.unix(1000).valueOf(), 1000000, "1000 unix timestamp == 1000000 Date.valueOf");
|
||
test.equal(moment(1500).unix(), 1, "1500 Date.valueOf == 1 unix timestamp");
|
||
test.equal(moment(1900).unix(), 1, "1900 Date.valueOf == 1 unix timestamp");
|
||
test.equal(moment(2100).unix(), 2, "2100 Date.valueOf == 2 unix timestamp");
|
||
test.equal(moment(1333129333524).unix(), 1333129333, "1333129333524 Date.valueOf == 1333129333 unix timestamp");
|
||
test.equal(moment(1333129333524000).unix(), 1333129333524, "1333129333524000 Date.valueOf == 1333129333524 unix timestamp");
|
||
test.done();
|
||
},
|
||
|
||
"date" : function (test) {
|
||
test.expect(1);
|
||
test.ok(moment(new Date()).toDate() instanceof Date, "new Date()");
|
||
test.done();
|
||
},
|
||
|
||
"date mutation" : function (test) {
|
||
test.expect(1);
|
||
var a = new Date();
|
||
test.ok(moment(a).toDate() !== a, "the date moment uses should not be the date passed in");
|
||
test.done();
|
||
},
|
||
|
||
"moment" : function (test) {
|
||
test.expect(2);
|
||
test.ok(moment(moment()).toDate() instanceof Date, "moment(moment())");
|
||
test.ok(moment(moment(moment())).toDate() instanceof Date, "moment(moment(moment()))");
|
||
test.done();
|
||
},
|
||
|
||
"cloning moment should only copy own properties" : function (test) {
|
||
test.expect(2);
|
||
test.ok(!moment().clone().hasOwnProperty('month'), "Should not clone prototype methods");
|
||
test.ok(!moment().clone().hasOwnProperty('_lang'), "Should not clone prototype objects");
|
||
test.done();
|
||
},
|
||
|
||
"cloning moment works with weird clones" : function (test) {
|
||
var extend = function (a, b) {
|
||
var i;
|
||
for (i in b) {
|
||
a[i] = b[i];
|
||
}
|
||
return a;
|
||
},
|
||
now = moment(),
|
||
nowu = moment.utc();
|
||
|
||
test.expect(2);
|
||
test.equal(+extend({}, now).clone(), +now, "cloning extend-ed now is now");
|
||
test.equal(+extend({}, nowu).clone(), +nowu, "cloning extend-ed utc now is utc now");
|
||
test.done();
|
||
},
|
||
|
||
"undefined" : function (test) {
|
||
test.expect(1);
|
||
test.ok(moment().toDate() instanceof Date, "undefined");
|
||
test.done();
|
||
},
|
||
|
||
"string without format - json" : function (test) {
|
||
test.expect(5);
|
||
test.equal(moment("Date(1325132654000)").valueOf(), 1325132654000, "Date(1325132654000)");
|
||
test.equal(moment("Date(-1325132654000)").valueOf(), -1325132654000, "Date(-1325132654000)");
|
||
test.equal(moment("/Date(1325132654000)/").valueOf(), 1325132654000, "/Date(1325132654000)/");
|
||
test.equal(moment("/Date(1325132654000+0700)/").valueOf(), 1325132654000, "/Date(1325132654000+0700)/");
|
||
test.equal(moment("/Date(1325132654000-0700)/").valueOf(), 1325132654000, "/Date(1325132654000-0700)/");
|
||
test.done();
|
||
},
|
||
|
||
"string with format dropped am/pm bug" : function (test) {
|
||
moment.lang('en');
|
||
test.expect(6);
|
||
|
||
test.equal(moment('05/1/2012 12:25:00', 'MM/DD/YYYY h:m:s a').format('MM/DD/YYYY'), '05/01/2012', 'should not break if am/pm is left off from the parsing tokens');
|
||
test.equal(moment('05/1/2012 12:25:00 am', 'MM/DD/YYYY h:m:s a').format('MM/DD/YYYY'), '05/01/2012', 'should not break if am/pm is left off from the parsing tokens');
|
||
test.equal(moment('05/1/2012 12:25:00 pm', 'MM/DD/YYYY h:m:s a').format('MM/DD/YYYY'), '05/01/2012', 'should not break if am/pm is left off from the parsing tokens');
|
||
|
||
test.ok(moment('05/1/2012 12:25:00', 'MM/DD/YYYY h:m:s a').isValid());
|
||
test.ok(moment('05/1/2012 12:25:00 am', 'MM/DD/YYYY h:m:s a').isValid());
|
||
test.ok(moment('05/1/2012 12:25:00 pm', 'MM/DD/YYYY h:m:s a').isValid());
|
||
|
||
test.done();
|
||
},
|
||
|
||
"empty string with formats" : function (test) {
|
||
test.expect(8);
|
||
|
||
test.equal(moment('', 'MM').format('YYYY-MM-DD HH:mm:ss'), 'Invalid date');
|
||
test.equal(moment(' ', 'MM').format('YYYY-MM-DD HH:mm:ss'), 'Invalid date');
|
||
test.equal(moment(' ', 'DD').format('YYYY-MM-DD HH:mm:ss'), 'Invalid date');
|
||
test.equal(moment(' ', ['MM', "DD"]).format('YYYY-MM-DD HH:mm:ss'), 'Invalid date');
|
||
|
||
test.ok(!moment('', 'MM').isValid());
|
||
test.ok(!moment(' ', 'MM').isValid());
|
||
test.ok(!moment(' ', 'DD').isValid());
|
||
test.ok(!moment(' ', ['MM', "DD"]).isValid());
|
||
|
||
test.done();
|
||
},
|
||
|
||
"defaulting to current date" : function (test) {
|
||
test.expect(4);
|
||
|
||
var now = moment();
|
||
test.equal(moment('12:13:14', 'hh:mm:ss').format('YYYY-MM-DD hh:mm:ss'),
|
||
now.clone().hour(12).minute(13).second(14).format('YYYY-MM-DD hh:mm:ss'),
|
||
'given only time default to current date');
|
||
test.equal(moment('05', 'DD').format('YYYY-MM-DD'),
|
||
now.clone().date(5).format('YYYY-MM-DD'),
|
||
'given day of month default to current month, year');
|
||
test.equal(moment('05', 'MM').format('YYYY-MM-DD'),
|
||
now.clone().month(4).date(1).format('YYYY-MM-DD'),
|
||
'given month default to current year');
|
||
test.equal(moment('1996', 'YYYY').format('YYYY-MM-DD'),
|
||
now.clone().year(1996).month(0).date(1).format('YYYY-MM-DD'),
|
||
'given year do not default');
|
||
test.done();
|
||
},
|
||
|
||
"matching am/pm" : function (test) {
|
||
test.expect(13);
|
||
|
||
test.equal(moment('2012-09-03T03:00PM', 'YYYY-MM-DDThh:mmA').format('YYYY-MM-DDThh:mmA'), '2012-09-03T03:00PM', 'am/pm should parse correctly for PM');
|
||
test.equal(moment('2012-09-03T03:00P.M.', 'YYYY-MM-DDThh:mmA').format('YYYY-MM-DDThh:mmA'), '2012-09-03T03:00PM', 'am/pm should parse correctly for P.M.');
|
||
test.equal(moment('2012-09-03T03:00P', 'YYYY-MM-DDThh:mmA').format('YYYY-MM-DDThh:mmA'), '2012-09-03T03:00PM', 'am/pm should parse correctly for P');
|
||
test.equal(moment('2012-09-03T03:00pm', 'YYYY-MM-DDThh:mmA').format('YYYY-MM-DDThh:mmA'), '2012-09-03T03:00PM', 'am/pm should parse correctly for pm');
|
||
test.equal(moment('2012-09-03T03:00p.m.', 'YYYY-MM-DDThh:mmA').format('YYYY-MM-DDThh:mmA'), '2012-09-03T03:00PM', 'am/pm should parse correctly for p.m.');
|
||
test.equal(moment('2012-09-03T03:00p', 'YYYY-MM-DDThh:mmA').format('YYYY-MM-DDThh:mmA'), '2012-09-03T03:00PM', 'am/pm should parse correctly for p');
|
||
|
||
test.equal(moment('2012-09-03T03:00AM', 'YYYY-MM-DDThh:mmA').format('YYYY-MM-DDThh:mmA'), '2012-09-03T03:00AM', 'am/pm should parse correctly for AM');
|
||
test.equal(moment('2012-09-03T03:00A.M.', 'YYYY-MM-DDThh:mmA').format('YYYY-MM-DDThh:mmA'), '2012-09-03T03:00AM', 'am/pm should parse correctly for A.M.');
|
||
test.equal(moment('2012-09-03T03:00A', 'YYYY-MM-DDThh:mmA').format('YYYY-MM-DDThh:mmA'), '2012-09-03T03:00AM', 'am/pm should parse correctly for A');
|
||
test.equal(moment('2012-09-03T03:00am', 'YYYY-MM-DDThh:mmA').format('YYYY-MM-DDThh:mmA'), '2012-09-03T03:00AM', 'am/pm should parse correctly for am');
|
||
test.equal(moment('2012-09-03T03:00a.m.', 'YYYY-MM-DDThh:mmA').format('YYYY-MM-DDThh:mmA'), '2012-09-03T03:00AM', 'am/pm should parse correctly for a.m.');
|
||
test.equal(moment('2012-09-03T03:00a', 'YYYY-MM-DDThh:mmA').format('YYYY-MM-DDThh:mmA'), '2012-09-03T03:00AM', 'am/pm should parse correctly for a');
|
||
|
||
test.equal(moment('5:00p.m.March 4 2012', 'h:mmAMMMM D YYYY').format('YYYY-MM-DDThh:mmA'), '2012-03-04T05:00PM', 'am/pm should parse correctly before month names');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"string with format" : function (test) {
|
||
moment.lang('en');
|
||
var a = [
|
||
['YYYY-Q', '2014-4'],
|
||
['MM-DD-YYYY', '12-02-1999'],
|
||
['DD-MM-YYYY', '12-02-1999'],
|
||
['DD/MM/YYYY', '12/02/1999'],
|
||
['DD_MM_YYYY', '12_02_1999'],
|
||
['DD:MM:YYYY', '12:02:1999'],
|
||
['D-M-YY', '2-2-99'],
|
||
['YY', '99'],
|
||
['DDD-YYYY', '300-1999'],
|
||
['DD-MM-YYYY h:m:s', '12-02-1999 2:45:10'],
|
||
['DD-MM-YYYY h:m:s a', '12-02-1999 2:45:10 am'],
|
||
['DD-MM-YYYY h:m:s a', '12-02-1999 2:45:10 pm'],
|
||
['h:mm a', '12:00 pm'],
|
||
['h:mm a', '12:30 pm'],
|
||
['h:mm a', '12:00 am'],
|
||
['h:mm a', '12:30 am'],
|
||
['HH:mm', '12:00'],
|
||
['YYYY-MM-DDTHH:mm:ss', '2011-11-11T11:11:11'],
|
||
['MM-DD-YYYY [M]', '12-02-1999 M'],
|
||
['ddd MMM DD HH:mm:ss YYYY', 'Tue Apr 07 22:52:51 2009'],
|
||
['HH:mm:ss', '12:00:00'],
|
||
['HH:mm:ss', '12:30:00'],
|
||
['HH:mm:ss', '00:00:00'],
|
||
['HH:mm:ss S', '00:30:00 1'],
|
||
['HH:mm:ss SS', '00:30:00 12'],
|
||
['HH:mm:ss SSS', '00:30:00 123'],
|
||
['HH:mm:ss S', '00:30:00 7'],
|
||
['HH:mm:ss SS', '00:30:00 78'],
|
||
['HH:mm:ss SSS', '00:30:00 789'],
|
||
['X', '1234567890'],
|
||
['LT', '12:30 AM'],
|
||
['L', '09/02/1999'],
|
||
['l', '9/2/1999'],
|
||
['LL', 'September 2 1999'],
|
||
['ll', 'Sep 2 1999'],
|
||
['LLL', 'September 2 1999 12:30 AM'],
|
||
['lll', 'Sep 2 1999 12:30 AM'],
|
||
['LLLL', 'Thursday, September 2 1999 12:30 AM'],
|
||
['llll', 'Thu, Sep 2 1999 12:30 AM']
|
||
],
|
||
m,
|
||
i;
|
||
|
||
test.expect(2 * a.length);
|
||
for (i = 0; i < a.length; i++) {
|
||
m = moment(a[i][1], a[i][0]);
|
||
test.ok(m.isValid());
|
||
test.equal(m.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"unix timestamp format" : function (test) {
|
||
var formats = ['X', 'X.S', 'X.SS', 'X.SSS'], i, format;
|
||
|
||
test.expect(formats.length * 4);
|
||
for (i = 0; i < formats.length; i++) {
|
||
format = formats[i];
|
||
test.equal(moment('1234567890', format).valueOf(), 1234567890 * 1000, format + " matches timestamp without milliseconds");
|
||
test.equal(moment('1234567890.1', format).valueOf(), 1234567890 * 1000 + 100, format + " matches timestamp with deciseconds");
|
||
test.equal(moment('1234567890.12', format).valueOf(), 1234567890 * 1000 + 120, format + " matches timestamp with centiseconds");
|
||
test.equal(moment('1234567890.123', format).valueOf(), 1234567890 * 1000 + 123, format + " matches timestamp with milliseconds");
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"milliseconds format" : function (test) {
|
||
test.expect(5);
|
||
test.equal(moment('1', 'S').get('ms'), 100, 'deciseconds');
|
||
// test.equal(moment('10', 'S', true).isValid(), false, 'deciseconds with two digits');
|
||
// test.equal(moment('1', 'SS', true).isValid(), false, 'centiseconds with one digits');
|
||
test.equal(moment('12', 'SS').get('ms'), 120, 'centiseconds');
|
||
// test.equal(moment('123', 'SS', true).isValid(), false, 'centiseconds with three digits');
|
||
test.equal(moment('123', 'SSS').get('ms'), 123, 'milliseconds');
|
||
test.equal(moment('1234', 'SSSS').get('ms'), 123, 'milliseconds with SSSS');
|
||
test.equal(moment('123456789101112', 'SSSS').get('ms'), 123, 'milliseconds with SSSS');
|
||
test.done();
|
||
},
|
||
|
||
"string with format no separators" : function (test) {
|
||
moment.lang('en');
|
||
var a = [
|
||
['MMDDYYYY', '12021999'],
|
||
['DDMMYYYY', '12021999'],
|
||
['YYYYMMDD', '19991202'],
|
||
['DDMMMYYYY', '10Sep2001']
|
||
], i;
|
||
|
||
test.expect(a.length);
|
||
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(moment(a[i][1], a[i][0]).format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"string with format (timezone)" : function (test) {
|
||
test.expect(8);
|
||
test.equal(moment('5 -0700', 'H ZZ').toDate().getUTCHours(), 12, 'parse hours "5 -0700" ---> "H ZZ"');
|
||
test.equal(moment('5 -07:00', 'H Z').toDate().getUTCHours(), 12, 'parse hours "5 -07:00" ---> "H Z"');
|
||
test.equal(moment('5 -0730', 'H ZZ').toDate().getUTCMinutes(), 30, 'parse hours "5 -0730" ---> "H ZZ"');
|
||
test.equal(moment('5 -07:30', 'H Z').toDate().getUTCMinutes(), 30, 'parse hours "5 -07:0" ---> "H Z"');
|
||
test.equal(moment('5 +0100', 'H ZZ').toDate().getUTCHours(), 4, 'parse hours "5 +0100" ---> "H ZZ"');
|
||
test.equal(moment('5 +01:00', 'H Z').toDate().getUTCHours(), 4, 'parse hours "5 +01:00" ---> "H Z"');
|
||
test.equal(moment('5 +0130', 'H ZZ').toDate().getUTCMinutes(), 30, 'parse hours "5 +0130" ---> "H ZZ"');
|
||
test.equal(moment('5 +01:30', 'H Z').toDate().getUTCMinutes(), 30, 'parse hours "5 +01:30" ---> "H Z"');
|
||
test.done();
|
||
},
|
||
|
||
"string with format (timezone offset)" : function (test) {
|
||
var a, b, c, d, e, f;
|
||
test.expect(4);
|
||
a = new Date(Date.UTC(2011, 0, 1, 1));
|
||
b = moment('2011 1 1 0 -01:00', 'YYYY MM DD HH Z');
|
||
test.equal(a.getHours(), b.hours(), 'date created with utc == parsed string with timezone offset');
|
||
test.equal(+a, +b, 'date created with utc == parsed string with timezone offset');
|
||
c = moment('2011 2 1 10 -05:00', 'YYYY MM DD HH Z');
|
||
d = moment('2011 2 1 8 -07:00', 'YYYY MM DD HH Z');
|
||
test.equal(c.hours(), d.hours(), '10 am central time == 8 am pacific time');
|
||
e = moment.utc('Fri, 20 Jul 2012 17:15:00', 'ddd, DD MMM YYYY HH:mm:ss');
|
||
f = moment.utc('Fri, 20 Jul 2012 10:15:00 -0700', 'ddd, DD MMM YYYY HH:mm:ss ZZ');
|
||
test.equal(e.hours(), f.hours(), 'parse timezone offset in utc');
|
||
test.done();
|
||
},
|
||
|
||
"string with array of formats" : function (test) {
|
||
|
||
test.equal(moment('11-02-1999', ['MM-DD-YYYY', 'DD-MM-YYYY']).format('MM DD YYYY'), '11 02 1999', 'switching month and day');
|
||
test.equal(moment('02-11-1999', ['MM/DD/YYYY', 'YYYY MM DD', 'MM-DD-YYYY']).format('MM DD YYYY'), '02 11 1999', 'year last');
|
||
test.equal(moment('1999-02-11', ['MM/DD/YYYY', 'YYYY MM DD', 'MM-DD-YYYY']).format('MM DD YYYY'), '02 11 1999', 'year first');
|
||
|
||
test.equal(moment('02-11-1999', ['MM/DD/YYYY', 'YYYY MM DD']).format('MM DD YYYY'), '02 11 1999', 'year last');
|
||
test.equal(moment('1999-02-11', ['MM/DD/YYYY', 'YYYY MM DD']).format('MM DD YYYY'), '02 11 1999', 'year first');
|
||
test.equal(moment('02-11-1999', ['YYYY MM DD', 'MM/DD/YYYY']).format('MM DD YYYY'), '02 11 1999', 'year last');
|
||
test.equal(moment('1999-02-11', ['YYYY MM DD', 'MM/DD/YYYY']).format('MM DD YYYY'), '02 11 1999', 'year first');
|
||
|
||
test.equal(moment('13-11-1999', ['MM/DD/YYYY', 'DD/MM/YYYY']).format('MM DD YYYY'), '11 13 1999', 'second must be month');
|
||
test.equal(moment('11-13-1999', ['MM/DD/YYYY', 'DD/MM/YYYY']).format('MM DD YYYY'), '11 13 1999', 'first must be month');
|
||
test.equal(moment('01-02-2000', ['MM/DD/YYYY', 'DD/MM/YYYY']).format('MM DD YYYY'), '01 02 2000', 'either can be a month, month first format');
|
||
test.equal(moment('02-01-2000', ['DD/MM/YYYY', 'MM/DD/YYYY']).format('MM DD YYYY'), '01 02 2000', 'either can be a month, day first format');
|
||
|
||
test.equal(moment('11-02-10', ['MM/DD/YY', 'YY MM DD', 'DD-MM-YY']).format('MM DD YYYY'), '02 11 2010', 'all unparsed substrings have influence on format penalty');
|
||
test.equal(moment('11-02-10', ['MM-DD-YY HH:mm', 'YY MM DD']).format('MM DD YYYY'), '02 10 2011', 'prefer formats without extra tokens');
|
||
test.equal(moment('11-02-10 junk', ['MM-DD-YY', 'YY.MM.DD junk']).format('MM DD YYYY'), '02 10 2011', 'prefer formats that dont result in extra characters');
|
||
test.equal(moment('11-22-10', ['YY-MM-DD', 'YY-DD-MM']).format('MM DD YYYY'), '10 22 2011', 'prefer valid results');
|
||
|
||
test.equal(moment('gibberish', ['YY-MM-DD', 'YY-DD-MM']).format('MM DD YYYY'), 'Invalid date', 'doest throw for invalid strings');
|
||
test.equal(moment('gibberish', []).format('MM DD YYYY'), 'Invalid date', 'doest throw for an empty array');
|
||
|
||
//https://github.com/moment/moment/issues/1143
|
||
test.equal(moment(
|
||
"System Administrator and Database Assistant (7/1/2011), System Administrator and Database Assistant (7/1/2011), Database Coordinator (7/1/2011), Vice President (7/1/2011), System Administrator and Database Assistant (5/31/2012), Database Coordinator (7/1/2012), System Administrator and Database Assistant (7/1/2013)",
|
||
["MM/DD/YYYY", "MM-DD-YYYY", "YYYY-MM-DD", "YYYY-MM-DDTHH:mm:ssZ"])
|
||
.format('YYYY-MM-DD'), '2011-07-01', 'Works for long strings');
|
||
|
||
test.equal(moment('11-02-10', ['MM.DD.YY', 'DD-MM-YY']).format('MM DD YYYY'), '02 11 2010', 'escape RegExp special characters on comparing');
|
||
|
||
test.equal(moment('13-10-98', ['DD MM YY', 'DD MM YYYY'])._f, 'DD MM YY', 'use two digit year');
|
||
test.equal(moment('13-10-1998', ['DD MM YY', 'DD MM YYYY'])._f, 'DD MM YYYY', 'use four digit year');
|
||
|
||
test.equal(moment('01', ["MM", "DD"])._f, "MM", "Should use first valid format");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"string with format - years" : function (test) {
|
||
test.expect(4);
|
||
test.equal(moment('67', 'YY').format('YYYY'), '2067', '67 > 2067');
|
||
test.equal(moment('68', 'YY').format('YYYY'), '2068', '68 > 2068');
|
||
test.equal(moment('69', 'YY').format('YYYY'), '1969', '69 > 1969');
|
||
test.equal(moment('70', 'YY').format('YYYY'), '1970', '70 > 1970');
|
||
test.done();
|
||
},
|
||
|
||
"implicit cloning" : function (test) {
|
||
test.expect(2);
|
||
var momentA = moment([2011, 10, 10]),
|
||
momentB = moment(momentA);
|
||
momentA.month(5);
|
||
test.equal(momentB.month(), 10, "Calling moment() on a moment will create a clone");
|
||
test.equal(momentA.month(), 5, "Calling moment() on a moment will create a clone");
|
||
test.done();
|
||
},
|
||
|
||
"explicit cloning" : function (test) {
|
||
test.expect(2);
|
||
var momentA = moment([2011, 10, 10]),
|
||
momentB = momentA.clone();
|
||
momentA.month(5);
|
||
test.equal(momentB.month(), 10, "Calling moment() on a moment will create a clone");
|
||
test.equal(momentA.month(), 5, "Calling moment() on a moment will create a clone");
|
||
test.done();
|
||
},
|
||
|
||
"cloning carrying over utc mode" : function (test) {
|
||
test.expect(8);
|
||
|
||
test.equal(moment().local().clone()._isUTC, false, "An explicit cloned local moment should have _isUTC == false");
|
||
test.equal(moment().utc().clone()._isUTC, true, "An cloned utc moment should have _isUTC == true");
|
||
test.equal(moment().clone()._isUTC, false, "An explicit cloned local moment should have _isUTC == false");
|
||
test.equal(moment.utc().clone()._isUTC, true, "An explicit cloned utc moment should have _isUTC == true");
|
||
test.equal(moment(moment().local())._isUTC, false, "An implicit cloned local moment should have _isUTC == false");
|
||
test.equal(moment(moment().utc())._isUTC, true, "An implicit cloned utc moment should have _isUTC == true");
|
||
test.equal(moment(moment())._isUTC, false, "An implicit cloned local moment should have _isUTC == false");
|
||
test.equal(moment(moment.utc())._isUTC, true, "An implicit cloned utc moment should have _isUTC == true");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"parsing iso" : function (test) {
|
||
var offset = moment([2011, 9, 08]).zone(),
|
||
pad = function (input) {
|
||
if (input < 10) {
|
||
return '0' + input;
|
||
}
|
||
return '' + input;
|
||
},
|
||
hourOffset = (offset > 0) ? Math.floor(offset / 60) : Math.ceil(offset / 60),
|
||
minOffset = offset - (hourOffset * 60),
|
||
tz = (offset > 0) ? '-' + pad(hourOffset) + ':' + pad(minOffset) : '+' + pad(-hourOffset) + ':' + pad(-minOffset),
|
||
tz2 = tz.replace(':', ''),
|
||
tz3 = tz2.slice(0, 3),
|
||
formats = [
|
||
['2011-10-08', '2011-10-08T00:00:00.000' + tz],
|
||
['2011-10-08T18', '2011-10-08T18:00:00.000' + tz],
|
||
['2011-10-08T18:04', '2011-10-08T18:04:00.000' + tz],
|
||
['2011-10-08T18:04:20', '2011-10-08T18:04:20.000' + tz],
|
||
['2011-10-08T18:04' + tz, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-10-08T18:04:20' + tz, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-10-08T18:04' + tz2, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-10-08T18:04:20' + tz2, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-10-08T18:04' + tz3, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-10-08T18:04:20' + tz3, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-10-08T18:04:20.1' + tz2, '2011-10-08T18:04:20.100' + tz],
|
||
['2011-10-08T18:04:20.11' + tz2, '2011-10-08T18:04:20.110' + tz],
|
||
['2011-10-08T18:04:20.111' + tz2, '2011-10-08T18:04:20.111' + tz],
|
||
['2011-10-08 18', '2011-10-08T18:00:00.000' + tz],
|
||
['2011-10-08 18:04', '2011-10-08T18:04:00.000' + tz],
|
||
['2011-10-08 18:04:20', '2011-10-08T18:04:20.000' + tz],
|
||
['2011-10-08 18:04' + tz, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-10-08 18:04:20' + tz, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-10-08 18:04' + tz2, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-10-08 18:04:20' + tz2, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-10-08 18:04' + tz3, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-10-08 18:04:20' + tz3, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-10-08 18:04:20.1' + tz2, '2011-10-08T18:04:20.100' + tz],
|
||
['2011-10-08 18:04:20.11' + tz2, '2011-10-08T18:04:20.110' + tz],
|
||
['2011-10-08 18:04:20.111' + tz2, '2011-10-08T18:04:20.111' + tz],
|
||
['2011-W40', '2011-10-03T00:00:00.000' + tz],
|
||
['2011-W40-6', '2011-10-08T00:00:00.000' + tz],
|
||
['2011-W40-6T18', '2011-10-08T18:00:00.000' + tz],
|
||
['2011-W40-6T18:04', '2011-10-08T18:04:00.000' + tz],
|
||
['2011-W40-6T18:04:20', '2011-10-08T18:04:20.000' + tz],
|
||
['2011-W40-6T18:04' + tz, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-W40-6T18:04:20' + tz, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-W40-6T18:04' + tz2, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-W40-6T18:04:20' + tz2, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-W40-6T18:04' + tz3, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-W40-6T18:04:20' + tz3, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-W40-6T18:04:20.1' + tz2, '2011-10-08T18:04:20.100' + tz],
|
||
['2011-W40-6T18:04:20.11' + tz2, '2011-10-08T18:04:20.110' + tz],
|
||
['2011-W40-6T18:04:20.111' + tz2, '2011-10-08T18:04:20.111' + tz],
|
||
['2011-W40-6 18', '2011-10-08T18:00:00.000' + tz],
|
||
['2011-W40-6 18:04', '2011-10-08T18:04:00.000' + tz],
|
||
['2011-W40-6 18:04:20', '2011-10-08T18:04:20.000' + tz],
|
||
['2011-W40-6 18:04' + tz, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-W40-6 18:04:20' + tz, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-W40-6 18:04' + tz2, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-W40-6 18:04:20' + tz2, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-W40-6 18:04' + tz3, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-W40-6 18:04:20' + tz3, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-W40-6 18:04:20.1' + tz2, '2011-10-08T18:04:20.100' + tz],
|
||
['2011-W40-6 18:04:20.11' + tz2, '2011-10-08T18:04:20.110' + tz],
|
||
['2011-W40-6 18:04:20.111' + tz2, '2011-10-08T18:04:20.111' + tz],
|
||
['2011-281', '2011-10-08T00:00:00.000' + tz],
|
||
['2011-281T18', '2011-10-08T18:00:00.000' + tz],
|
||
['2011-281T18:04', '2011-10-08T18:04:00.000' + tz],
|
||
['2011-281T18:04:20', '2011-10-08T18:04:20.000' + tz],
|
||
['2011-281T18:04' + tz, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-281T18:04:20' + tz, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-281T18:04' + tz2, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-281T18:04:20' + tz2, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-281T18:04' + tz3, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-281T18:04:20' + tz3, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-281T18:04:20.1' + tz2, '2011-10-08T18:04:20.100' + tz],
|
||
['2011-281T18:04:20.11' + tz2, '2011-10-08T18:04:20.110' + tz],
|
||
['2011-281T18:04:20.111' + tz2, '2011-10-08T18:04:20.111' + tz],
|
||
['2011-281 18', '2011-10-08T18:00:00.000' + tz],
|
||
['2011-281 18:04', '2011-10-08T18:04:00.000' + tz],
|
||
['2011-281 18:04:20', '2011-10-08T18:04:20.000' + tz],
|
||
['2011-281 18:04' + tz, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-281 18:04:20' + tz, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-281 18:04' + tz2, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-281 18:04:20' + tz2, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-281 18:04' + tz3, '2011-10-08T18:04:00.000' + tz],
|
||
['2011-281 18:04:20' + tz3, '2011-10-08T18:04:20.000' + tz],
|
||
['2011-281 18:04:20.1' + tz2, '2011-10-08T18:04:20.100' + tz],
|
||
['2011-281 18:04:20.11' + tz2, '2011-10-08T18:04:20.110' + tz],
|
||
['2011-281 18:04:20.111' + tz2, '2011-10-08T18:04:20.111' + tz]
|
||
], i;
|
||
test.expect(formats.length);
|
||
for (i = 0; i < formats.length; i++) {
|
||
test.equal(moment(formats[i][0]).format('YYYY-MM-DDTHH:mm:ss.SSSZ'), formats[i][1], "moment should be able to parse ISO " + formats[i][0]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"parsing ISO with Z" : function (test) {
|
||
var i, mom, formats = [
|
||
['2011-10-08T18:04', '2011-10-08T18:04:00.000'],
|
||
['2011-10-08T18:04:20', '2011-10-08T18:04:20.000'],
|
||
['2011-10-08T18:04:20.1', '2011-10-08T18:04:20.100'],
|
||
['2011-10-08T18:04:20.11', '2011-10-08T18:04:20.110'],
|
||
['2011-10-08T18:04:20.111', '2011-10-08T18:04:20.111'],
|
||
['2011-W40-6T18', '2011-10-08T18:00:00.000'],
|
||
['2011-W40-6T18:04', '2011-10-08T18:04:00.000'],
|
||
['2011-W40-6T18:04:20', '2011-10-08T18:04:20.000'],
|
||
['2011-W40-6T18:04:20.1', '2011-10-08T18:04:20.100'],
|
||
['2011-W40-6T18:04:20.11', '2011-10-08T18:04:20.110'],
|
||
['2011-W40-6T18:04:20.111', '2011-10-08T18:04:20.111'],
|
||
['2011-281T18', '2011-10-08T18:00:00.000'],
|
||
['2011-281T18:04', '2011-10-08T18:04:00.000'],
|
||
['2011-281T18:04:20', '2011-10-08T18:04:20.000'],
|
||
['2011-281T18:04:20', '2011-10-08T18:04:20.000'],
|
||
['2011-281T18:04:20.1', '2011-10-08T18:04:20.100'],
|
||
['2011-281T18:04:20.11', '2011-10-08T18:04:20.110'],
|
||
['2011-281T18:04:20.111', '2011-10-08T18:04:20.111']
|
||
];
|
||
|
||
for (i = 0; i < formats.length; i++) {
|
||
mom = moment(formats[i][0] + 'Z').utc();
|
||
test.equal(mom.format('YYYY-MM-DDTHH:mm:ss.SSS'), formats[i][1], "moment should be able to parse ISO in UTC " + formats[i][0] + 'Z');
|
||
|
||
mom = moment(formats[i][0] + ' Z').utc();
|
||
test.equal(mom.format('YYYY-MM-DDTHH:mm:ss.SSS'), formats[i][1], "moment should be able to parse ISO in UTC " + formats[i][0] + ' Z');
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"parsing iso with T" : function (test) {
|
||
test.expect(8);
|
||
|
||
test.equal(moment('2011-10-08T18')._f, "YYYY-MM-DDTHH", "should include 'T' in the format");
|
||
test.equal(moment('2011-10-08T18:20')._f, "YYYY-MM-DDTHH:mm", "should include 'T' in the format");
|
||
test.equal(moment('2011-10-08T18:20:13')._f, "YYYY-MM-DDTHH:mm:ss", "should include 'T' in the format");
|
||
test.equal(moment('2011-10-08T18:20:13.321')._f, "YYYY-MM-DDTHH:mm:ss.SSSS", "should include 'T' in the format");
|
||
|
||
test.equal(moment('2011-10-08 18')._f, "YYYY-MM-DD HH", "should not include 'T' in the format");
|
||
test.equal(moment('2011-10-08 18:20')._f, "YYYY-MM-DD HH:mm", "should not include 'T' in the format");
|
||
test.equal(moment('2011-10-08 18:20:13')._f, "YYYY-MM-DD HH:mm:ss", "should not include 'T' in the format");
|
||
test.equal(moment('2011-10-08 18:20:13.321')._f, "YYYY-MM-DD HH:mm:ss.SSSS", "should not include 'T' in the format");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"parsing iso Z timezone" : function (test) {
|
||
var i,
|
||
formats = [
|
||
['2011-10-08T18:04Z', '2011-10-08T18:04:00.000+00:00'],
|
||
['2011-10-08T18:04:20Z', '2011-10-08T18:04:20.000+00:00'],
|
||
['2011-10-08T18:04:20.111Z', '2011-10-08T18:04:20.111+00:00']
|
||
];
|
||
test.expect(formats.length);
|
||
for (i = 0; i < formats.length; i++) {
|
||
test.equal(moment.utc(formats[i][0]).format('YYYY-MM-DDTHH:mm:ss.SSSZ'), formats[i][1], "moment should be able to parse ISO " + formats[i][0]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"parsing iso Z timezone into local" : function (test) {
|
||
test.expect(1);
|
||
|
||
var m = moment('2011-10-08T18:04:20.111Z');
|
||
|
||
test.equal(m.utc().format('YYYY-MM-DDTHH:mm:ss.SSS'), '2011-10-08T18:04:20.111', "moment should be able to parse ISO 2011-10-08T18:04:20.111Z");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"parsing iso with more subsecond precision digits" : function (test) {
|
||
test.equal(moment.utc("2013-07-31T22:00:00.0000000Z").format(),
|
||
"2013-07-31T22:00:00+00:00", "more than 3 subsecond digits");
|
||
test.done();
|
||
},
|
||
|
||
"null or empty" : function (test) {
|
||
test.expect(8);
|
||
test.equal(moment('').isValid(), false, "moment('') is not valid");
|
||
test.equal(moment(null).isValid(), false, "moment(null) is not valid");
|
||
test.equal(moment(null, 'YYYY-MM-DD').isValid(), false, "moment('', 'format') is not valid");
|
||
test.equal(moment('', 'YYYY-MM-DD').isValid(), false, "moment('', 'format') is not valid");
|
||
test.equal(moment.utc('').isValid(), false, "moment.utc('') is not valid");
|
||
test.equal(moment.utc(null).isValid(), false, "moment.utc(null) is not valid");
|
||
test.equal(moment.utc(null, 'YYYY-MM-DD').isValid(), false, "moment.utc(null) is not valid");
|
||
test.equal(moment.utc('', 'YYYY-MM-DD').isValid(), false, "moment.utc('', 'YYYY-MM-DD') is not valid");
|
||
test.done();
|
||
},
|
||
|
||
"first century" : function (test) {
|
||
test.expect(9);
|
||
test.equal(moment([0, 0, 1]).format("YYYY-MM-DD"), "0000-01-01", "Year AD 0");
|
||
test.equal(moment([99, 0, 1]).format("YYYY-MM-DD"), "0099-01-01", "Year AD 99");
|
||
test.equal(moment([999, 0, 1]).format("YYYY-MM-DD"), "0999-01-01", "Year AD 999");
|
||
test.equal(moment('0 1 1', 'YYYY MM DD').format("YYYY-MM-DD"), "0000-01-01", "Year AD 0");
|
||
test.equal(moment('99 1 1', 'YYYY MM DD').format("YYYY-MM-DD"), "0099-01-01", "Year AD 99");
|
||
test.equal(moment('999 1 1', 'YYYY MM DD').format("YYYY-MM-DD"), "0999-01-01", "Year AD 999");
|
||
test.equal(moment('0 1 1', 'YYYYY MM DD').format("YYYYY-MM-DD"), "00000-01-01", "Year AD 0");
|
||
test.equal(moment('99 1 1', 'YYYYY MM DD').format("YYYYY-MM-DD"), "00099-01-01", "Year AD 99");
|
||
test.equal(moment('999 1 1', 'YYYYY MM DD').format("YYYYY-MM-DD"), "00999-01-01", "Year AD 999");
|
||
test.done();
|
||
},
|
||
|
||
"six digit years" : function (test) {
|
||
test.expect(8);
|
||
test.equal(moment([-270000, 0, 1]).format("YYYYY-MM-DD"), "-270000-01-01", "format BC 270,001");
|
||
test.equal(moment([ 270000, 0, 1]).format("YYYYY-MM-DD"), "270000-01-01", "format AD 270,000");
|
||
test.equal(moment("-270000-01-01", "YYYYY-MM-DD").toDate().getFullYear(), -270000, "parse BC 270,001");
|
||
test.equal(moment("270000-01-01", "YYYYY-MM-DD").toDate().getFullYear(), 270000, "parse AD 270,000");
|
||
test.equal(moment("+270000-01-01", "YYYYY-MM-DD").toDate().getFullYear(), 270000, "parse AD +270,000");
|
||
test.equal(moment.utc("-270000-01-01", "YYYYY-MM-DD").toDate().getUTCFullYear(), -270000, "parse utc BC 270,001");
|
||
test.equal(moment.utc("270000-01-01", "YYYYY-MM-DD").toDate().getUTCFullYear(), 270000, "parse utc AD 270,000");
|
||
test.equal(moment.utc("+270000-01-01", "YYYYY-MM-DD").toDate().getUTCFullYear(), 270000, "parse utc AD +270,000");
|
||
test.done();
|
||
},
|
||
|
||
"negative four digit years" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment("-1000-01-01", "YYYYY-MM-DD").toDate().getFullYear(), -1000, "parse BC 1,001");
|
||
test.equal(moment.utc("-1000-01-01", "YYYYY-MM-DD").toDate().getUTCFullYear(), -1000, "parse utc BC 1,001");
|
||
test.done();
|
||
},
|
||
|
||
"strict parsing" : function (test) {
|
||
test.equal(moment("2014-", "YYYY-Q", true).isValid(), false, "fail missing quarter");
|
||
|
||
test.equal(moment("2012-05", "YYYY-MM", true).format("YYYY-MM"), "2012-05", "parse correct string");
|
||
test.equal(moment(" 2012-05", "YYYY-MM", true).isValid(), false, "fail on extra whitespace");
|
||
test.equal(moment("foo 2012-05", "[foo] YYYY-MM", true).format('YYYY-MM'), "2012-05", "handle fixed text");
|
||
test.equal(moment("2012 05", "YYYY-MM", true).isValid(), false, "fail on different separator");
|
||
test.equal(moment("2012 05", "YYYY MM DD", true).isValid(), false, "fail on too many tokens");
|
||
|
||
test.equal(moment("05 30 2010", ["DD MM YYYY", "MM DD YYYY"], true).format("MM DD YYYY"), "05 30 2010", "array with bad date");
|
||
test.equal(moment("05 30 2010", ["", "MM DD YYYY"], true).format("MM DD YYYY"), "05 30 2010", "array with invalid format");
|
||
test.equal(moment("05 30 2010", [" DD MM YYYY", "MM DD YYYY"], true).format("MM DD YYYY"), "05 30 2010", "array with non-matching format");
|
||
|
||
test.equal(moment("2010.*...", "YYYY.*", true).isValid(), false, "invalid format with regex chars");
|
||
test.equal(moment("2010.*", "YYYY.*", true).year(), 2010, "valid format with regex chars");
|
||
test.equal(moment(".*2010.*", ".*YYYY.*", true).year(), 2010, "valid format with regex chars on both sides");
|
||
|
||
//strict tokens
|
||
test.equal(moment("-5-05-25", 'YYYY-MM-DD', true).isValid(), false, "invalid negative year");
|
||
test.equal(moment("2-05-25", 'YYYY-MM-DD', true).isValid(), false, "invalid one-digit year");
|
||
test.equal(moment("20-05-25", 'YYYY-MM-DD', true).isValid(), false, "invalid two-digit year");
|
||
test.equal(moment("201-05-25", 'YYYY-MM-DD', true).isValid(), false, "invalid three-digit year");
|
||
test.equal(moment("2010-05-25", 'YYYY-MM-DD', true).isValid(), true, "valid four-digit year");
|
||
test.equal(moment("22010-05-25", 'YYYY-MM-DD', true).isValid(), false, "invalid five-digit year");
|
||
|
||
test.equal(moment("12-05-25", 'YY-MM-DD', true).isValid(), true, "valid two-digit year");
|
||
test.equal(moment("2012-05-25", 'YY-MM-DD', true).isValid(), false, "invalid four-digit year");
|
||
|
||
test.equal(moment("-5-05-25", 'Y-MM-DD', true).isValid(), true, "valid negative year");
|
||
test.equal(moment("2-05-25", 'Y-MM-DD', true).isValid(), true, "valid one-digit year");
|
||
test.equal(moment("20-05-25", 'Y-MM-DD', true).isValid(), true, "valid two-digit year");
|
||
test.equal(moment("201-05-25", 'Y-MM-DD', true).isValid(), true, "valid three-digit year");
|
||
|
||
test.equal(moment("2012-5-25", 'YYYY-M-DD', true).isValid(), true, "valid one-digit month");
|
||
test.equal(moment("2012-5-25", 'YYYY-MM-DD', true).isValid(), false, "invalid one-digit month");
|
||
test.equal(moment("2012-05-25", 'YYYY-M-DD', true).isValid(), true, "valid one-digit month");
|
||
test.equal(moment("2012-05-25", 'YYYY-MM-DD', true).isValid(), true, "valid one-digit month");
|
||
|
||
test.equal(moment("2012-05-2", 'YYYY-MM-D', true).isValid(), true, "valid one-digit day");
|
||
test.equal(moment("2012-05-2", 'YYYY-MM-DD', true).isValid(), false, "invalid one-digit day");
|
||
test.equal(moment("2012-05-02", 'YYYY-MM-D', true).isValid(), true, "valid two-digit day");
|
||
test.equal(moment("2012-05-02", 'YYYY-MM-DD', true).isValid(), true, "valid two-digit day");
|
||
|
||
test.equal(moment("+002012-05-25", 'YYYYY-MM-DD', true).isValid(), true, "valid six-digit year");
|
||
test.equal(moment("+2012-05-25", 'YYYYY-MM-DD', true).isValid(), false, "invalid four-digit year");
|
||
|
||
//thse are kinda pointless, but they should work as expected
|
||
test.equal(moment("1", 'S', true).isValid(), true, "valid one-digit milisecond");
|
||
test.equal(moment("12", 'S', true).isValid(), false, "invalid two-digit milisecond");
|
||
test.equal(moment("123", 'S', true).isValid(), false, "invalid three-digit milisecond");
|
||
|
||
test.equal(moment("1", 'SS', true).isValid(), false, "invalid one-digit milisecond");
|
||
test.equal(moment("12", 'SS', true).isValid(), true, "valid two-digit milisecond");
|
||
test.equal(moment("123", 'SS', true).isValid(), false, "invalid three-digit milisecond");
|
||
|
||
test.equal(moment("1", 'SSS', true).isValid(), false, "invalid one-digit milisecond");
|
||
test.equal(moment("12", 'SSS', true).isValid(), false, "invalid two-digit milisecond");
|
||
test.equal(moment("123", 'SSS', true).isValid(), true, "valid three-digit milisecond");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"parsing into a language" : function (test) {
|
||
test.expect(2);
|
||
|
||
moment.lang('parselang', {
|
||
months : "one_two_three_four_five_six_seven_eight_nine_ten_eleven_twelve".split('_'),
|
||
monthsShort : "one_two_three_four_five_six_seven_eight_nine_ten_eleven_twelve".split("_")
|
||
});
|
||
|
||
moment.lang('en');
|
||
|
||
test.equal(moment('2012 seven', 'YYYY MMM', 'parselang').month(), 6, "should be able to parse in a specific language");
|
||
|
||
moment.lang('parselang');
|
||
|
||
test.equal(moment('2012 july', 'YYYY MMM', 'en').month(), 6, "should be able to parse in a specific language");
|
||
|
||
moment.lang('parselang', null);
|
||
test.done();
|
||
},
|
||
|
||
"parsing week and weekday information" : function (test) {
|
||
var ver = getVerifier(test);
|
||
|
||
//year
|
||
ver('12', 'gg', "2012 01 01", 'week-year two digits');
|
||
ver('2012', 'gggg', "2012 01 01", 'week-year four digits');
|
||
|
||
ver('99', 'gg', "1998 12 27", 'week-year two digits previous year');
|
||
ver('1999', 'gggg', "1998 12 27", 'week-year four digits previous year');
|
||
|
||
ver('99', 'GG', "1999 01 04", 'iso week-year two digits');
|
||
ver('1999', 'GGGG', "1999 01 04", 'iso week-year four digits');
|
||
|
||
ver('13', 'GG', "2012 12 31", 'iso week-year two digits previous year');
|
||
ver('2013', 'GGGG', "2012 12 31", 'iso week-year four digits previous year');
|
||
|
||
//yer + week
|
||
ver('1999 37', 'gggg w', "1999 09 05", 'week');
|
||
ver('1999 37', 'gggg ww', "1999 09 05", 'week double');
|
||
ver('1999 37', 'GGGG W', "1999 09 13", 'iso week');
|
||
ver('1999 37', 'GGGG WW', "1999 09 13", 'iso week double');
|
||
|
||
ver('1999 37 4', 'GGGG WW E', "1999 09 16", 'iso day');
|
||
ver('1999 37 04', 'GGGG WW E', "1999 09 16", 'iso day wide', true);
|
||
|
||
ver('1999 37 4', 'gggg ww e', "1999 09 09", 'day');
|
||
ver('1999 37 04', 'gggg ww e', "1999 09 09", 'day wide', true);
|
||
|
||
//yer + week + day
|
||
ver('1999 37 4', 'gggg ww d', "1999 09 09", 'd');
|
||
ver('1999 37 Th', 'gggg ww dd', "1999 09 09", 'dd');
|
||
ver('1999 37 Thu', 'gggg ww ddd', "1999 09 09", 'ddd');
|
||
ver('1999 37 Thursday', 'gggg ww dddd', "1999 09 09", 'dddd');
|
||
|
||
//lower-order only
|
||
test.equal(moment('22', 'ww').week(), 22, "week sets the week by itself");
|
||
test.equal(moment('22', 'ww').weekYear(), moment().weekYear(), "week keeps this year");
|
||
test.equal(moment('2012 22', 'YYYY ww').weekYear(), 2012, "week keeps parsed year");
|
||
|
||
test.equal(moment('22', 'WW').isoWeek(), 22, "iso week sets the week by itself");
|
||
test.equal(moment('2012 22', 'YYYY WW').weekYear(), 2012, "iso week keeps parsed year");
|
||
test.equal(moment('22', 'WW').weekYear(), moment().weekYear(), "iso week keeps this year");
|
||
|
||
//order
|
||
ver('6 2013 2', 'e gggg w', "2013 01 12", "order doesn't matter");
|
||
ver('6 2013 2', 'E GGGG W', "2013 01 12", "iso order doesn't matter");
|
||
|
||
//can parse other stuff too
|
||
test.equal(moment('1999-W37-4 3:30', 'GGGG-[W]WW-E HH:mm').format('YYYY MM DD HH:mm'), '1999 09 16 03:30', "parsing weeks and hours");
|
||
|
||
// In safari, all years before 1300 are shifted back with one day.
|
||
// http://stackoverflow.com/questions/20768975/safari-subtracts-1-day-from-dates-before-1300
|
||
if (new Date("1300-01-01").getUTCFullYear() === 1300) {
|
||
// Years less than 100
|
||
ver('0098-06', 'GGGG-WW', "0098 02 03", "small years work", true);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
'parsing localized weekdays' : function (test) {
|
||
var ver = getVerifier(test);
|
||
try {
|
||
moment.lang('fr'); //french uses doy = 4, dow = 1
|
||
ver('1999 37 4', 'GGGG WW E', "1999 09 16", 'iso ignores language');
|
||
ver('1999 37 7', 'GGGG WW E', "1999 09 19", 'iso ignores language');
|
||
|
||
ver('1999 37 0', 'gggg ww e', "1999 09 13", 'localized e uses local doy and dow: 0 = monday');
|
||
ver('1999 37 4', 'gggg ww e', "1999 09 17", 'localized e uses local doy and dow: 4 = friday');
|
||
|
||
ver('1999 37 1', 'gggg ww d', "1999 09 13", 'localized d uses 0-indexed days: 1 = monday');
|
||
ver('1999 37 Lu', 'gggg ww dd', "1999 09 13", 'localized d uses 0-indexed days: Mo');
|
||
ver('1999 37 lun.', 'gggg ww ddd', "1999 09 13", 'localized d uses 0-indexed days: Mon');
|
||
ver('1999 37 lundi', 'gggg ww dddd', "1999 09 13", 'localized d uses 0-indexed days: Monday');
|
||
ver('1999 37 4', 'gggg ww d', "1999 09 16", 'localized d uses 0-indexed days: 4');
|
||
|
||
//sunday goes at the end of the week
|
||
ver('1999 37 0', 'gggg ww d', "1999 09 19", 'localized d uses 0-indexed days: 0 = sund');
|
||
ver('1999 37 Di', 'gggg ww dd', "1999 09 19", 'localized d uses 0-indexed days: 0 = sund');
|
||
}
|
||
finally {
|
||
moment.lang('en');
|
||
test.done();
|
||
}
|
||
},
|
||
|
||
'parsing with customized two-digit year' : function (test) {
|
||
var original = moment.parseTwoDigitYear;
|
||
try {
|
||
test.equal(moment('68', 'YY').year(), 2068);
|
||
test.equal(moment('69', 'YY').year(), 1969);
|
||
moment.parseTwoDigitYear = function (input) {
|
||
return +input + (+input > 30 ? 1900 : 2000);
|
||
};
|
||
test.equal(moment('68', 'YY').year(), 1968);
|
||
test.equal(moment('67', 'YY').year(), 1967);
|
||
test.equal(moment('31', 'YY').year(), 1931);
|
||
test.equal(moment('30', 'YY').year(), 2030);
|
||
}
|
||
finally {
|
||
moment.parseTwoDigitYear = original;
|
||
test.done();
|
||
}
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.daysInMonth = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"days in month" : function (test) {
|
||
test.expect(24);
|
||
var months = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], i;
|
||
for (i = 0; i < 12; i++) {
|
||
test.equal(moment([2012, i]).daysInMonth(),
|
||
months[i],
|
||
moment([2012, i]).format('L') + " should have " + months[i] + " days. (beginning of month " + i + ')');
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
test.equal(moment([2012, i, months[i]]).daysInMonth(),
|
||
months[i],
|
||
moment([2012, i, months[i]]).format('L') + " should have " + months[i] + " days. (end of month " + i + ')');
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"days in month leap years" : function (test) {
|
||
test.expect(4);
|
||
test.equal(moment([2010, 1]).daysInMonth(), 28, "Feb 2010 should have 28 days");
|
||
test.equal(moment([2100, 1]).daysInMonth(), 28, "Feb 2100 should have 28 days");
|
||
test.equal(moment([2008, 1]).daysInMonth(), 29, "Feb 2008 should have 29 days");
|
||
test.equal(moment([2000, 1]).daysInMonth(), 29, "Feb 2000 should have 29 days");
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
function equal(test, a, b, message) {
|
||
test.ok(Math.abs(a - b) < 0.00000001, "(" + a + " === " + b + ") " + message);
|
||
}
|
||
|
||
function dstForYear(year) {
|
||
var start = moment([year]),
|
||
end = moment([year + 1]),
|
||
current = start.clone(),
|
||
last;
|
||
|
||
while (current < end) {
|
||
last = current.clone();
|
||
current.add(24, 'hour');
|
||
if (last.zone() !== current.zone()) {
|
||
end = current.clone();
|
||
current = last.clone();
|
||
break;
|
||
}
|
||
}
|
||
|
||
while (current < end) {
|
||
last = current.clone();
|
||
current.add(1, 'hour');
|
||
if (last.zone() !== current.zone()) {
|
||
return {
|
||
moment : last,
|
||
diff : (current.zone() - last.zone()) / 60
|
||
};
|
||
}
|
||
}
|
||
}
|
||
|
||
exports.diff = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"diff" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment(1000).diff(0), 1000, "1 second - 0 = 1000");
|
||
test.equal(moment(1000).diff(500), 500, "1 second - 0.5 seconds = 500");
|
||
test.equal(moment(0).diff(1000), -1000, "0 - 1 second = -1000");
|
||
test.equal(moment(new Date(1000)).diff(1000), 0, "1 second - 1 second = 0");
|
||
var oneHourDate = new Date(),
|
||
nowDate = new Date(+oneHourDate);
|
||
oneHourDate.setHours(oneHourDate.getHours() + 1);
|
||
test.equal(moment(oneHourDate).diff(nowDate), 60 * 60 * 1000, "1 hour from now = 3600000");
|
||
test.done();
|
||
},
|
||
|
||
"diff key after" : function (test) {
|
||
test.expect(10);
|
||
|
||
test.equal(moment([2010]).diff([2011], 'years'), -1, "year diff");
|
||
test.equal(moment([2010]).diff([2010, 2], 'months'), -2, "month diff");
|
||
test.equal(moment([2010]).diff([2010, 0, 7], 'weeks'), 0, "week diff");
|
||
test.equal(moment([2010]).diff([2010, 0, 8], 'weeks'), -1, "week diff");
|
||
test.equal(moment([2010]).diff([2010, 0, 21], 'weeks'), -2, "week diff");
|
||
test.equal(moment([2010]).diff([2010, 0, 22], 'weeks'), -3, "week diff");
|
||
test.equal(moment([2010]).diff([2010, 0, 4], 'days'), -3, "day diff");
|
||
test.equal(moment([2010]).diff([2010, 0, 1, 4], 'hours'), -4, "hour diff");
|
||
test.equal(moment([2010]).diff([2010, 0, 1, 0, 5], 'minutes'), -5, "minute diff");
|
||
test.equal(moment([2010]).diff([2010, 0, 1, 0, 0, 6], 'seconds'), -6, "second diff");
|
||
test.done();
|
||
},
|
||
|
||
"diff key before" : function (test) {
|
||
test.expect(10);
|
||
|
||
test.equal(moment([2011]).diff([2010], 'years'), 1, "year diff");
|
||
test.equal(moment([2010, 2]).diff([2010], 'months'), 2, "month diff");
|
||
test.equal(moment([2010, 0, 4]).diff([2010], 'days'), 3, "day diff");
|
||
test.equal(moment([2010, 0, 7]).diff([2010], 'weeks'), 0, "week diff");
|
||
test.equal(moment([2010, 0, 8]).diff([2010], 'weeks'), 1, "week diff");
|
||
test.equal(moment([2010, 0, 21]).diff([2010], 'weeks'), 2, "week diff");
|
||
test.equal(moment([2010, 0, 22]).diff([2010], 'weeks'), 3, "week diff");
|
||
test.equal(moment([2010, 0, 1, 4]).diff([2010], 'hours'), 4, "hour diff");
|
||
test.equal(moment([2010, 0, 1, 0, 5]).diff([2010], 'minutes'), 5, "minute diff");
|
||
test.equal(moment([2010, 0, 1, 0, 0, 6]).diff([2010], 'seconds'), 6, "second diff");
|
||
test.done();
|
||
},
|
||
|
||
"diff key before singular" : function (test) {
|
||
test.expect(10);
|
||
|
||
test.equal(moment([2011]).diff([2010], 'year'), 1, "year diff singular");
|
||
test.equal(moment([2010, 2]).diff([2010], 'month'), 2, "month diff singular");
|
||
test.equal(moment([2010, 0, 4]).diff([2010], 'day'), 3, "day diff singular");
|
||
test.equal(moment([2010, 0, 7]).diff([2010], 'week'), 0, "week diff singular");
|
||
test.equal(moment([2010, 0, 8]).diff([2010], 'week'), 1, "week diff singular");
|
||
test.equal(moment([2010, 0, 21]).diff([2010], 'week'), 2, "week diff singular");
|
||
test.equal(moment([2010, 0, 22]).diff([2010], 'week'), 3, "week diff singular");
|
||
test.equal(moment([2010, 0, 1, 4]).diff([2010], 'hour'), 4, "hour diff singular");
|
||
test.equal(moment([2010, 0, 1, 0, 5]).diff([2010], 'minute'), 5, "minute diff singular");
|
||
test.equal(moment([2010, 0, 1, 0, 0, 6]).diff([2010], 'second'), 6, "second diff singular");
|
||
test.done();
|
||
},
|
||
|
||
"diff key before abbreviated" : function (test) {
|
||
test.expect(10);
|
||
|
||
test.equal(moment([2011]).diff([2010], 'y'), 1, "year diff abbreviated");
|
||
test.equal(moment([2010, 2]).diff([2010], 'M'), 2, "month diff abbreviated");
|
||
test.equal(moment([2010, 0, 4]).diff([2010], 'd'), 3, "day diff abbreviated");
|
||
test.equal(moment([2010, 0, 7]).diff([2010], 'w'), 0, "week diff abbreviated");
|
||
test.equal(moment([2010, 0, 8]).diff([2010], 'w'), 1, "week diff abbreviated");
|
||
test.equal(moment([2010, 0, 21]).diff([2010], 'w'), 2, "week diff abbreviated");
|
||
test.equal(moment([2010, 0, 22]).diff([2010], 'w'), 3, "week diff abbreviated");
|
||
test.equal(moment([2010, 0, 1, 4]).diff([2010], 'h'), 4, "hour diff abbreviated");
|
||
test.equal(moment([2010, 0, 1, 0, 5]).diff([2010], 'm'), 5, "minute diff abbreviated");
|
||
test.equal(moment([2010, 0, 1, 0, 0, 6]).diff([2010], 's'), 6, "second diff abbreviated");
|
||
test.done();
|
||
},
|
||
|
||
"diff month" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.equal(moment([2011, 0, 31]).diff([2011, 2, 1], 'months'), -1, "month diff");
|
||
test.done();
|
||
},
|
||
|
||
"diff across DST" : function (test) {
|
||
var dst = dstForYear(2012), a, b, daysInMonth;
|
||
if (!dst) {
|
||
test.done();
|
||
return;
|
||
}
|
||
|
||
test.expect(16);
|
||
|
||
a = dst.moment;
|
||
b = a.clone().utc().add(12, 'hours').local();
|
||
daysInMonth = (a.daysInMonth() + b.daysInMonth()) / 2;
|
||
equal(test, b.diff(a, 'ms', true), 12 * 60 * 60 * 1000, "ms diff across DST");
|
||
equal(test, b.diff(a, 's', true), 12 * 60 * 60, "second diff across DST");
|
||
equal(test, b.diff(a, 'm', true), 12 * 60, "minute diff across DST");
|
||
equal(test, b.diff(a, 'h', true), 12, "hour diff across DST");
|
||
equal(test, b.diff(a, 'd', true), (12 - dst.diff) / 24, "day diff across DST");
|
||
equal(test, b.diff(a, 'w', true), (12 - dst.diff) / 24 / 7, "week diff across DST");
|
||
equal(test, b.diff(a, 'M', true), (12 - dst.diff) / 24 / daysInMonth, "month diff across DST");
|
||
equal(test, b.diff(a, 'y', true), (12 - dst.diff) / 24 / daysInMonth / 12, "year diff across DST");
|
||
|
||
|
||
a = dst.moment;
|
||
b = a.clone().utc().add(12 + dst.diff, 'hours').local();
|
||
daysInMonth = (a.daysInMonth() + b.daysInMonth()) / 2;
|
||
|
||
equal(test, b.diff(a, 'ms', true), (12 + dst.diff) * 60 * 60 * 1000, "ms diff across DST");
|
||
equal(test, b.diff(a, 's', true), (12 + dst.diff) * 60 * 60, "second diff across DST");
|
||
equal(test, b.diff(a, 'm', true), (12 + dst.diff) * 60, "minute diff across DST");
|
||
equal(test, b.diff(a, 'h', true), (12 + dst.diff), "hour diff across DST");
|
||
equal(test, b.diff(a, 'd', true), 12 / 24, "day diff across DST");
|
||
equal(test, b.diff(a, 'w', true), 12 / 24 / 7, "week diff across DST");
|
||
equal(test, b.diff(a, 'M', true), 12 / 24 / daysInMonth, "month diff across DST");
|
||
equal(test, b.diff(a, 'y', true), 12 / 24 / daysInMonth / 12, "year diff across DST");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"diff overflow" : function (test) {
|
||
test.expect(4);
|
||
|
||
test.equal(moment([2011]).diff([2010], 'months'), 12, "month diff");
|
||
test.equal(moment([2010, 0, 2]).diff([2010], 'hours'), 24, "hour diff");
|
||
test.equal(moment([2010, 0, 1, 2]).diff([2010], 'minutes'), 120, "minute diff");
|
||
test.equal(moment([2010, 0, 1, 0, 4]).diff([2010], 'seconds'), 240, "second diff");
|
||
test.done();
|
||
},
|
||
|
||
"diff between utc and local" : function (test) {
|
||
test.expect(7);
|
||
|
||
test.equal(moment([2012]).utc().diff([2011], 'years'), 1, "year diff");
|
||
test.equal(moment([2010, 2, 2]).utc().diff([2010, 0, 2], 'months'), 2, "month diff");
|
||
test.equal(moment([2010, 0, 4]).utc().diff([2010], 'days'), 3, "day diff");
|
||
test.equal(moment([2010, 0, 22]).utc().diff([2010], 'weeks'), 3, "week diff");
|
||
test.equal(moment([2010, 0, 1, 4]).utc().diff([2010], 'hours'), 4, "hour diff");
|
||
test.equal(moment([2010, 0, 1, 0, 5]).utc().diff([2010], 'minutes'), 5, "minute diff");
|
||
test.equal(moment([2010, 0, 1, 0, 0, 6]).utc().diff([2010], 'seconds'), 6, "second diff");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"diff floored" : function (test) {
|
||
test.expect(7);
|
||
|
||
test.equal(moment([2010, 0, 1, 23]).diff([2010], 'day'), 0, "23 hours = 0 days");
|
||
test.equal(moment([2010, 0, 1, 23, 59]).diff([2010], 'day'), 0, "23:59 hours = 0 days");
|
||
test.equal(moment([2010, 0, 1, 24]).diff([2010], 'day'), 1, "24 hours = 1 day");
|
||
test.equal(moment([2010, 0, 2]).diff([2011, 0, 1], 'year'), 0, "year rounded down");
|
||
test.equal(moment([2011, 0, 1]).diff([2010, 0, 2], 'year'), 0, "year rounded down");
|
||
test.equal(moment([2010, 0, 2]).diff([2011, 0, 2], 'year'), -1, "year rounded down");
|
||
test.equal(moment([2011, 0, 2]).diff([2010, 0, 2], 'year'), 1, "year rounded down");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"year diffs include dates" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.ok(moment([2012, 1, 19]).diff(moment([2002, 1, 20]), 'years', true) < 10, "year diff should include date of month");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"month diffs" : function (test) {
|
||
test.expect(8);
|
||
|
||
// due to floating point math errors, these tests just need to be accurate within 0.00000001
|
||
equal(test, moment([2012, 0, 1]).diff([2012, 1, 1], 'months', true), -1, 'Jan 1 to Feb 1 should be 1 month');
|
||
equal(test, moment([2012, 0, 1]).diff([2012, 0, 1, 12], 'months', true), -0.5 / 31, 'Jan 1 to Jan 1 noon should be 0.5 / 31 months');
|
||
equal(test, moment([2012, 0, 15]).diff([2012, 1, 15], 'months', true), -1, 'Jan 15 to Feb 15 should be 1 month');
|
||
equal(test, moment([2012, 0, 28]).diff([2012, 1, 28], 'months', true), -1, 'Jan 28 to Feb 28 should be 1 month');
|
||
equal(test, moment([2012, 0, 31]).diff([2012, 1, 29], 'months', true), -1 + (2 / 30), 'Jan 31 to Feb 29 should be 1 - (2 / 30) months');
|
||
equal(test, moment([2012, 0, 31]).diff([2012, 2, 1], 'months', true), -2 + (30 / 31), 'Jan 31 to Mar 1 should be 2 - (30 / 31) months');
|
||
equal(test, moment([2012, 0, 31]).diff([2012, 2, 1, 12], 'months', true), -2 + (29.5 / 31), 'Jan 31 to Mar 1 should be 2 - (29.5 / 31) months');
|
||
equal(test, moment([2012, 0, 1]).diff([2012, 0, 31], 'months', true), -(30 / 31), 'Jan 1 to Jan 31 should be 30 / 31 months');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"year diffs" : function (test) {
|
||
test.expect(10);
|
||
|
||
// due to floating point math errors, these tests just need to be accurate within 0.00000001
|
||
equal(test, moment([2012, 0, 1]).diff([2013, 0, 1], 'years', true), -1, 'Jan 1 2012 to Jan 1 2013 should be 1 year');
|
||
equal(test, moment([2012, 1, 28]).diff([2013, 1, 28], 'years', true), -1, 'Feb 28 2012 to Feb 28 2013 should be 1 year');
|
||
equal(test, moment([2012, 2, 1]).diff([2013, 2, 1], 'years', true), -1, 'Mar 1 2012 to Mar 1 2013 should be 1 year');
|
||
equal(test, moment([2012, 11, 1]).diff([2013, 11, 1], 'years', true), -1, 'Dec 1 2012 to Dec 1 2013 should be 1 year');
|
||
equal(test, moment([2012, 11, 31]).diff([2013, 11, 31], 'years', true), -1, 'Dec 31 2012 to Dec 31 2013 should be 1 year');
|
||
equal(test, moment([2012, 0, 1]).diff([2013, 6, 1], 'years', true), -1.5, 'Jan 1 2012 to Jul 1 2013 should be 1.5 years');
|
||
equal(test, moment([2012, 0, 31]).diff([2013, 6, 31], 'years', true), -1.5, 'Jan 31 2012 to Jul 31 2013 should be 1.5 years');
|
||
equal(test, moment([2012, 0, 1]).diff([2013, 0, 1, 12], 'years', true), -1 - (0.5 / 31) / 12, 'Jan 1 2012 to Jan 1 2013 noon should be 1+(0.5 / 31) / 12 years');
|
||
equal(test, moment([2012, 0, 1]).diff([2013, 6, 1, 12], 'years', true), -1.5 - (0.5 / 31) / 12, 'Jan 1 2012 to Jul 1 2013 noon should be 1.5+(0.5 / 31) / 12 years');
|
||
equal(test, moment([2012, 1, 29]).diff([2013, 1, 28], 'years', true), -1 + (1 / 28.5) / 12, 'Feb 29 2012 to Feb 28 2013 should be 1-(1 / 28.5) / 12 years');
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.duration = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"object instantiation" : function (test) {
|
||
var d = moment.duration({
|
||
years: 2,
|
||
months: 3,
|
||
weeks: 2,
|
||
days: 1,
|
||
hours: 8,
|
||
minutes: 9,
|
||
seconds: 20,
|
||
milliseconds: 12
|
||
});
|
||
|
||
test.expect(8);
|
||
test.equal(d.years(), 2, "years");
|
||
test.equal(d.months(), 3, "months");
|
||
test.equal(d.weeks(), 2, "weeks");
|
||
test.equal(d.days(), 15, "days"); // two weeks + 1 day
|
||
test.equal(d.hours(), 8, "hours");
|
||
test.equal(d.minutes(), 9, "minutes");
|
||
test.equal(d.seconds(), 20, "seconds");
|
||
test.equal(d.milliseconds(), 12, "milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"object instantiation with strings" : function (test) {
|
||
var d = moment.duration({
|
||
years: '2',
|
||
months: '3',
|
||
weeks: '2',
|
||
days: '1',
|
||
hours: '8',
|
||
minutes: '9',
|
||
seconds: '20',
|
||
milliseconds: '12'
|
||
});
|
||
|
||
test.expect(8);
|
||
test.equal(d.years(), 2, "years");
|
||
test.equal(d.months(), 3, "months");
|
||
test.equal(d.weeks(), 2, "weeks");
|
||
test.equal(d.days(), 15, "days"); // two weeks + 1 day
|
||
test.equal(d.hours(), 8, "hours");
|
||
test.equal(d.minutes(), 9, "minutes");
|
||
test.equal(d.seconds(), 20, "seconds");
|
||
test.equal(d.milliseconds(), 12, "milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"milliseconds instantiation" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment.duration(72).milliseconds(), 72, "milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"instantiation by type" : function (test) {
|
||
test.expect(16);
|
||
test.equal(moment.duration(1, "years").years(), 1, "years");
|
||
test.equal(moment.duration(1, "y").years(), 1, "y");
|
||
test.equal(moment.duration(2, "months").months(), 2, "months");
|
||
test.equal(moment.duration(2, "M").months(), 2, "M");
|
||
test.equal(moment.duration(3, "weeks").weeks(), 3, "weeks");
|
||
test.equal(moment.duration(3, "w").weeks(), 3, "weeks");
|
||
test.equal(moment.duration(4, "days").days(), 4, "days");
|
||
test.equal(moment.duration(4, "d").days(), 4, "d");
|
||
test.equal(moment.duration(5, "hours").hours(), 5, "hours");
|
||
test.equal(moment.duration(5, "h").hours(), 5, "h");
|
||
test.equal(moment.duration(6, "minutes").minutes(), 6, "minutes");
|
||
test.equal(moment.duration(6, "m").minutes(), 6, "m");
|
||
test.equal(moment.duration(7, "seconds").seconds(), 7, "seconds");
|
||
test.equal(moment.duration(7, "s").seconds(), 7, "s");
|
||
test.equal(moment.duration(8, "milliseconds").milliseconds(), 8, "milliseconds");
|
||
test.equal(moment.duration(8, "ms").milliseconds(), 8, "ms");
|
||
test.done();
|
||
},
|
||
|
||
"shortcuts" : function (test) {
|
||
test.expect(8);
|
||
test.equal(moment.duration({y: 1}).years(), 1, "years = y");
|
||
test.equal(moment.duration({M: 2}).months(), 2, "months = M");
|
||
test.equal(moment.duration({w: 3}).weeks(), 3, "weeks = w");
|
||
test.equal(moment.duration({d: 4}).days(), 4, "days = d");
|
||
test.equal(moment.duration({h: 5}).hours(), 5, "hours = h");
|
||
test.equal(moment.duration({m: 6}).minutes(), 6, "minutes = m");
|
||
test.equal(moment.duration({s: 7}).seconds(), 7, "seconds = s");
|
||
test.equal(moment.duration({ms: 8}).milliseconds(), 8, "milliseconds = ms");
|
||
test.done();
|
||
},
|
||
|
||
"generic getter" : function (test) {
|
||
test.expect(24);
|
||
test.equal(moment.duration(1, "years").get("years"), 1, "years");
|
||
test.equal(moment.duration(1, "years").get("year"), 1, "years = year");
|
||
test.equal(moment.duration(1, "years").get("y"), 1, "years = y");
|
||
test.equal(moment.duration(2, "months").get("months"), 2, "months");
|
||
test.equal(moment.duration(2, "months").get("month"), 2, "months = month");
|
||
test.equal(moment.duration(2, "months").get("M"), 2, "months = M");
|
||
test.equal(moment.duration(3, "weeks").get("weeks"), 3, "weeks");
|
||
test.equal(moment.duration(3, "weeks").get("week"), 3, "weeks = week");
|
||
test.equal(moment.duration(3, "weeks").get("w"), 3, "weeks = w");
|
||
test.equal(moment.duration(4, "days").get("days"), 4, "days");
|
||
test.equal(moment.duration(4, "days").get("day"), 4, "days = day");
|
||
test.equal(moment.duration(4, "days").get("d"), 4, "days = d");
|
||
test.equal(moment.duration(5, "hours").get("hours"), 5, "hours");
|
||
test.equal(moment.duration(5, "hours").get("hour"), 5, "hours = hour");
|
||
test.equal(moment.duration(5, "hours").get("h"), 5, "hours = h");
|
||
test.equal(moment.duration(6, "minutes").get("minutes"), 6, "minutes");
|
||
test.equal(moment.duration(6, "minutes").get("minute"), 6, "minutes = minute");
|
||
test.equal(moment.duration(6, "minutes").get("m"), 6, "minutes = m");
|
||
test.equal(moment.duration(7, "seconds").get("seconds"), 7, "seconds");
|
||
test.equal(moment.duration(7, "seconds").get("second"), 7, "seconds = second");
|
||
test.equal(moment.duration(7, "seconds").get("s"), 7, "seconds = s");
|
||
test.equal(moment.duration(8, "milliseconds").get("milliseconds"), 8, "milliseconds");
|
||
test.equal(moment.duration(8, "milliseconds").get("millisecond"), 8, "milliseconds = millisecond");
|
||
test.equal(moment.duration(8, "milliseconds").get("ms"), 8, "milliseconds = ms");
|
||
test.done();
|
||
},
|
||
|
||
"instantiation from another duration" : function (test) {
|
||
var simple = moment.duration(1234),
|
||
lengthy = moment.duration(60 * 60 * 24 * 360 * 1e3),
|
||
complicated = moment.duration({
|
||
years: 2,
|
||
months: 3,
|
||
weeks: 4,
|
||
days: 1,
|
||
hours: 8,
|
||
minutes: 9,
|
||
seconds: 20,
|
||
milliseconds: 12
|
||
}),
|
||
modified = moment.duration(1, 'day').add(moment.duration(1, 'day'));
|
||
|
||
test.expect(4);
|
||
test.deepEqual(moment.duration(simple), simple, "simple clones are equal");
|
||
test.deepEqual(moment.duration(lengthy), lengthy, "lengthy clones are equal");
|
||
test.deepEqual(moment.duration(complicated), complicated, "complicated clones are equal");
|
||
test.deepEqual(moment.duration(modified), modified, "cloning modified duration works");
|
||
test.done();
|
||
},
|
||
|
||
"instantiation from 24-hour time zero" : function (test) {
|
||
test.expect(6);
|
||
test.equal(moment.duration("00:00").years(), 0, "0 years");
|
||
test.equal(moment.duration("00:00").days(), 0, "0 days");
|
||
test.equal(moment.duration("00:00").hours(), 0, "0 hours");
|
||
test.equal(moment.duration("00:00").minutes(), 0, "0 minutes");
|
||
test.equal(moment.duration("00:00").seconds(), 0, "0 seconds");
|
||
test.equal(moment.duration("00:00").milliseconds(), 0, "0 milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"instantiation from 24-hour time <24 hours" : function (test) {
|
||
test.expect(6);
|
||
test.equal(moment.duration("06:45").years(), 0, "0 years");
|
||
test.equal(moment.duration("06:45").days(), 0, "0 days");
|
||
test.equal(moment.duration("06:45").hours(), 6, "6 hours");
|
||
test.equal(moment.duration("06:45").minutes(), 45, "45 minutes");
|
||
test.equal(moment.duration("06:45").seconds(), 0, "0 seconds");
|
||
test.equal(moment.duration("06:45").milliseconds(), 0, "0 milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"instantiation from 24-hour time >24 hours" : function (test) {
|
||
test.expect(6);
|
||
test.equal(moment.duration("26:45").years(), 0, "0 years");
|
||
test.equal(moment.duration("26:45").days(), 1, "0 days");
|
||
test.equal(moment.duration("26:45").hours(), 2, "2 hours");
|
||
test.equal(moment.duration("26:45").minutes(), 45, "45 minutes");
|
||
test.equal(moment.duration("26:45").seconds(), 0, "0 seconds");
|
||
test.equal(moment.duration("26:45").milliseconds(), 0, "0 milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"instatiation from serialized C# TimeSpan zero" : function (test) {
|
||
test.expect(6);
|
||
test.equal(moment.duration("00:00:00").years(), 0, "0 years");
|
||
test.equal(moment.duration("00:00:00").days(), 0, "0 days");
|
||
test.equal(moment.duration("00:00:00").hours(), 0, "0 hours");
|
||
test.equal(moment.duration("00:00:00").minutes(), 0, "0 minutes");
|
||
test.equal(moment.duration("00:00:00").seconds(), 0, "0 seconds");
|
||
test.equal(moment.duration("00:00:00").milliseconds(), 0, "0 milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"instatiation from serialized C# TimeSpan with days" : function (test) {
|
||
test.expect(6);
|
||
test.equal(moment.duration("1.02:03:04.9999999").years(), 0, "0 years");
|
||
test.equal(moment.duration("1.02:03:04.9999999").days(), 1, "1 day");
|
||
test.equal(moment.duration("1.02:03:04.9999999").hours(), 2, "2 hours");
|
||
test.equal(moment.duration("1.02:03:04.9999999").minutes(), 3, "3 minutes");
|
||
test.equal(moment.duration("1.02:03:04.9999999").seconds(), 4, "4 seconds");
|
||
test.equal(moment.duration("1.02:03:04.9999999").milliseconds(), 999, "999 milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"instatiation from serialized C# TimeSpan without days" : function (test) {
|
||
test.expect(10);
|
||
test.equal(moment.duration("01:02:03.9999999").years(), 0, "0 years");
|
||
test.equal(moment.duration("01:02:03.9999999").days(), 0, "0 days");
|
||
test.equal(moment.duration("01:02:03.9999999").hours(), 1, "1 hour");
|
||
test.equal(moment.duration("01:02:03.9999999").minutes(), 2, "2 minutes");
|
||
test.equal(moment.duration("01:02:03.9999999").seconds(), 3, "3 seconds");
|
||
test.equal(moment.duration("01:02:03.9999999").milliseconds(), 999, "999 milliseconds");
|
||
|
||
test.equal(moment.duration("23:59:59.9999999").days(), 0, "0 days");
|
||
test.equal(moment.duration("23:59:59.9999999").hours(), 23, "23 hours");
|
||
|
||
test.equal(moment.duration("500:59:59.9999999").days(), 20, "500 hours overflows to 20 days");
|
||
test.equal(moment.duration("500:59:59.9999999").hours(), 20, "500 hours overflows to 20 hours");
|
||
test.done();
|
||
},
|
||
|
||
"instatiation from serialized C# TimeSpan without days or milliseconds" : function (test) {
|
||
test.expect(6);
|
||
test.equal(moment.duration("01:02:03").years(), 0, "0 years");
|
||
test.equal(moment.duration("01:02:03").days(), 0, "0 days");
|
||
test.equal(moment.duration("01:02:03").hours(), 1, "1 hour");
|
||
test.equal(moment.duration("01:02:03").minutes(), 2, "2 minutes");
|
||
test.equal(moment.duration("01:02:03").seconds(), 3, "3 seconds");
|
||
test.equal(moment.duration("01:02:03").milliseconds(), 0, "0 milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"instatiation from serialized C# TimeSpan without milliseconds" : function (test) {
|
||
test.expect(6);
|
||
test.equal(moment.duration("1.02:03:04").years(), 0, "0 years");
|
||
test.equal(moment.duration("1.02:03:04").days(), 1, "1 day");
|
||
test.equal(moment.duration("1.02:03:04").hours(), 2, "2 hours");
|
||
test.equal(moment.duration("1.02:03:04").minutes(), 3, "3 minutes");
|
||
test.equal(moment.duration("1.02:03:04").seconds(), 4, "4 seconds");
|
||
test.equal(moment.duration("1.02:03:04").milliseconds(), 0, "0 milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"instatiation from serialized C# TimeSpan maxValue" : function (test) {
|
||
test.expect(6);
|
||
test.equal(moment.duration("10675199.02:48:05.4775807").years(), 29653, "29653 years");
|
||
test.equal(moment.duration("10675199.02:48:05.4775807").days(), 29, "29 day");
|
||
test.equal(moment.duration("10675199.02:48:05.4775807").hours(), 2, "2 hours");
|
||
test.equal(moment.duration("10675199.02:48:05.4775807").minutes(), 48, "48 minutes");
|
||
test.equal(moment.duration("10675199.02:48:05.4775807").seconds(), 5, "5 seconds");
|
||
test.equal(moment.duration("10675199.02:48:05.4775807").milliseconds(), 477, "477 milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"instatiation from serialized C# TimeSpan minValue" : function (test) {
|
||
test.expect(6);
|
||
test.equal(moment.duration("-10675199.02:48:05.4775808").years(), -29653, "29653 years");
|
||
test.equal(moment.duration("-10675199.02:48:05.4775808").days(), -29, "29 day");
|
||
test.equal(moment.duration("-10675199.02:48:05.4775808").hours(), -2, "2 hours");
|
||
test.equal(moment.duration("-10675199.02:48:05.4775808").minutes(), -48, "48 minutes");
|
||
test.equal(moment.duration("-10675199.02:48:05.4775808").seconds(), -5, "5 seconds");
|
||
test.equal(moment.duration("-10675199.02:48:05.4775808").milliseconds(), -477, "477 milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"instantiation from ISO 8601 duration" : function (test) {
|
||
test.expect(7);
|
||
test.equal(moment.duration("P1Y2M3DT4H5M6S").asSeconds(), moment.duration({y: 1, M: 2, d: 3, h: 4, m: 5, s: 6}).asSeconds(), "all fields");
|
||
test.equal(moment.duration("P1M").asSeconds(), moment.duration({M: 1}).asSeconds(), "single month field");
|
||
test.equal(moment.duration("PT1M").asSeconds(), moment.duration({m: 1}).asSeconds(), "single minute field");
|
||
test.equal(moment.duration("P1MT2H").asSeconds(), moment.duration({M: 1, h: 2}).asSeconds(), "random fields missing");
|
||
test.equal(moment.duration("-P60D").asSeconds(), moment.duration({d: -60}).asSeconds(), "negative days");
|
||
test.equal(moment.duration("PT0.5S").asSeconds(), moment.duration({s: 0.5}).asSeconds(), "fractional seconds");
|
||
test.equal(moment.duration("PT0,5S").asSeconds(), moment.duration({s: 0.5}).asSeconds(), "fractional seconds (comma)");
|
||
test.done();
|
||
},
|
||
|
||
"serialization to ISO 8601 duration strings" : function (test) {
|
||
test.expect(6);
|
||
test.equal(moment.duration({y: 1, M: 2, d: 3, h: 4, m: 5, s: 6}).toIsoString(), "P1Y2M3DT4H5M6S", "all fields");
|
||
test.equal(moment.duration({M: -1}).toIsoString(), "-P1M", "one month ago");
|
||
test.equal(moment.duration({m: -1}).toIsoString(), "-PT1M", "one minute ago");
|
||
test.equal(moment.duration({s: -0.5}).toIsoString(), "-PT0.5S", "one half second ago");
|
||
test.equal(moment.duration({y: -0.5, M: 1}).toIsoString(), "-P5M", "a month after half a year ago");
|
||
test.equal(moment.duration({}).toIsoString(), "P0D", "zero duration");
|
||
test.done();
|
||
},
|
||
|
||
"`isodate` (python) test cases" : function (test) {
|
||
test.expect(24);
|
||
test.equal(moment.duration("P18Y9M4DT11H9M8S").asSeconds(), moment.duration({y: 18, M: 9, d: 4, h: 11, m: 9, s: 8}).asSeconds(), "python isodate 1");
|
||
test.equal(moment.duration("P2W").asSeconds(), moment.duration({w: 2}).asSeconds(), "python isodate 2");
|
||
test.equal(moment.duration("P3Y6M4DT12H30M5S").asSeconds(), moment.duration({y: 3, M: 6, d: 4, h: 12, m: 30, s: 5}).asSeconds(), "python isodate 3");
|
||
test.equal(moment.duration("P23DT23H").asSeconds(), moment.duration({d: 23, h: 23}).asSeconds(), "python isodate 4");
|
||
test.equal(moment.duration("P4Y").asSeconds(), moment.duration({y: 4}).asSeconds(), "python isodate 5");
|
||
test.equal(moment.duration("P1M").asSeconds(), moment.duration({M: 1}).asSeconds(), "python isodate 6");
|
||
test.equal(moment.duration("PT1M").asSeconds(), moment.duration({m: 1}).asSeconds(), "python isodate 7");
|
||
test.equal(moment.duration("P0.5Y").asSeconds(), moment.duration({y: 0.5}).asSeconds(), "python isodate 8");
|
||
test.equal(moment.duration("PT36H").asSeconds(), moment.duration({h: 36}).asSeconds(), "python isodate 9");
|
||
test.equal(moment.duration("P1DT12H").asSeconds(), moment.duration({d: 1, h: 12}).asSeconds(), "python isodate 10");
|
||
test.equal(moment.duration("-P2W").asSeconds(), moment.duration({w: -2}).asSeconds(), "python isodate 11");
|
||
test.equal(moment.duration("-P2.2W").asSeconds(), moment.duration({w: -2.2}).asSeconds(), "python isodate 12");
|
||
test.equal(moment.duration("P1DT2H3M4S").asSeconds(), moment.duration({d: 1, h: 2, m: 3, s: 4}).asSeconds(), "python isodate 13");
|
||
test.equal(moment.duration("P1DT2H3M").asSeconds(), moment.duration({d: 1, h: 2, m: 3}).asSeconds(), "python isodate 14");
|
||
test.equal(moment.duration("P1DT2H").asSeconds(), moment.duration({d: 1, h: 2}).asSeconds(), "python isodate 15");
|
||
test.equal(moment.duration("PT2H").asSeconds(), moment.duration({h: 2}).asSeconds(), "python isodate 16");
|
||
test.equal(moment.duration("PT2.3H").asSeconds(), moment.duration({h: 2.3}).asSeconds(), "python isodate 17");
|
||
test.equal(moment.duration("PT2H3M4S").asSeconds(), moment.duration({h: 2, m: 3, s: 4}).asSeconds(), "python isodate 18");
|
||
test.equal(moment.duration("PT3M4S").asSeconds(), moment.duration({m: 3, s: 4}).asSeconds(), "python isodate 19");
|
||
test.equal(moment.duration("PT22S").asSeconds(), moment.duration({s: 22}).asSeconds(), "python isodate 20");
|
||
test.equal(moment.duration("PT22.22S").asSeconds(), moment.duration({s: 22.22}).asSeconds(), "python isodate 21");
|
||
test.equal(moment.duration("-P2Y").asSeconds(), moment.duration({y: -2}).asSeconds(), "python isodate 22");
|
||
test.equal(moment.duration("-P3Y6M4DT12H30M5S").asSeconds(), moment.duration({y: -3, M: -6, d: -4, h: -12, m: -30, s: -5}).asSeconds(), "python isodate 23");
|
||
test.equal(moment.duration("-P1DT2H3M4S").asSeconds(), moment.duration({d: -1, h: -2, m: -3, s: -4}).asSeconds(), "python isodate 24");
|
||
test.done();
|
||
},
|
||
|
||
"ISO 8601 misuse cases" : function (test) {
|
||
test.expect(8);
|
||
test.equal(moment.duration("P").asSeconds(), 0, "lonely P");
|
||
test.equal(moment.duration("PT").asSeconds(), 0, "just P and T");
|
||
test.equal(moment.duration("P1H").asSeconds(), 0, "missing T");
|
||
test.equal(moment.duration("P1D1Y").asSeconds(), 0, "out of order");
|
||
test.equal(moment.duration("PT.5S").asSeconds(), 0.5, "accept no leading zero for decimal");
|
||
test.equal(moment.duration("PT1,S").asSeconds(), 1, "accept trailing decimal separator");
|
||
test.equal(moment.duration("PT1M0,,5S").asSeconds(), 60, "extra decimal separators are ignored as 0");
|
||
test.equal(moment.duration("P-1DS").asSeconds(), 0, "wrong position of negative");
|
||
test.done();
|
||
},
|
||
|
||
"humanize" : function (test) {
|
||
test.expect(32);
|
||
moment.lang('en');
|
||
test.equal(moment.duration({seconds: 44}).humanize(), "a few seconds", "44 seconds = a few seconds");
|
||
test.equal(moment.duration({seconds: 45}).humanize(), "a minute", "45 seconds = a minute");
|
||
test.equal(moment.duration({seconds: 89}).humanize(), "a minute", "89 seconds = a minute");
|
||
test.equal(moment.duration({seconds: 90}).humanize(), "2 minutes", "90 seconds = 2 minutes");
|
||
test.equal(moment.duration({minutes: 44}).humanize(), "44 minutes", "44 minutes = 44 minutes");
|
||
test.equal(moment.duration({minutes: 45}).humanize(), "an hour", "45 minutes = an hour");
|
||
test.equal(moment.duration({minutes: 89}).humanize(), "an hour", "89 minutes = an hour");
|
||
test.equal(moment.duration({minutes: 90}).humanize(), "2 hours", "90 minutes = 2 hours");
|
||
test.equal(moment.duration({hours: 5}).humanize(), "5 hours", "5 hours = 5 hours");
|
||
test.equal(moment.duration({hours: 21}).humanize(), "21 hours", "21 hours = 21 hours");
|
||
test.equal(moment.duration({hours: 22}).humanize(), "a day", "22 hours = a day");
|
||
test.equal(moment.duration({hours: 35}).humanize(), "a day", "35 hours = a day");
|
||
test.equal(moment.duration({hours: 36}).humanize(), "2 days", "36 hours = 2 days");
|
||
test.equal(moment.duration({days: 1}).humanize(), "a day", "1 day = a day");
|
||
test.equal(moment.duration({days: 5}).humanize(), "5 days", "5 days = 5 days");
|
||
test.equal(moment.duration({weeks: 1}).humanize(), "7 days", "1 week = 7 days");
|
||
test.equal(moment.duration({days: 25}).humanize(), "25 days", "25 days = 25 days");
|
||
test.equal(moment.duration({days: 26}).humanize(), "a month", "26 days = a month");
|
||
test.equal(moment.duration({days: 30}).humanize(), "a month", "30 days = a month");
|
||
test.equal(moment.duration({days: 45}).humanize(), "a month", "45 days = a month");
|
||
test.equal(moment.duration({days: 46}).humanize(), "2 months", "46 days = 2 months");
|
||
test.equal(moment.duration({days: 74}).humanize(), "2 months", "75 days = 2 months");
|
||
test.equal(moment.duration({days: 76}).humanize(), "3 months", "76 days = 3 months");
|
||
test.equal(moment.duration({months: 1}).humanize(), "a month", "1 month = a month");
|
||
test.equal(moment.duration({months: 5}).humanize(), "5 months", "5 months = 5 months");
|
||
test.equal(moment.duration({days: 344}).humanize(), "11 months", "344 days = 11 months");
|
||
test.equal(moment.duration({days: 345}).humanize(), "a year", "345 days = a year");
|
||
test.equal(moment.duration({days: 547}).humanize(), "a year", "547 days = a year");
|
||
test.equal(moment.duration({days: 548}).humanize(), "2 years", "548 days = 2 years");
|
||
test.equal(moment.duration({years: 1}).humanize(), "a year", "1 year = a year");
|
||
test.equal(moment.duration({years: 5}).humanize(), "5 years", "5 years = 5 years");
|
||
test.equal(moment.duration(7200000).humanize(), "2 hours", "7200000 = 2 minutes");
|
||
test.done();
|
||
},
|
||
|
||
"humanize duration with suffix" : function (test) {
|
||
test.expect(2);
|
||
moment.lang('en');
|
||
test.equal(moment.duration({seconds: 44}).humanize(true), "in a few seconds", "44 seconds = a few seconds");
|
||
test.equal(moment.duration({seconds: -44}).humanize(true), "a few seconds ago", "44 seconds = a few seconds");
|
||
test.done();
|
||
},
|
||
|
||
"bubble value up" : function (test) {
|
||
test.expect(5);
|
||
test.equal(moment.duration({milliseconds: 61001}).milliseconds(), 1, "61001 milliseconds has 1 millisecond left over");
|
||
test.equal(moment.duration({milliseconds: 61001}).seconds(), 1, "61001 milliseconds has 1 second left over");
|
||
test.equal(moment.duration({milliseconds: 61001}).minutes(), 1, "61001 milliseconds has 1 minute left over");
|
||
|
||
test.equal(moment.duration({minutes: 350}).minutes(), 50, "350 minutes has 50 minutes left over");
|
||
test.equal(moment.duration({minutes: 350}).hours(), 5, "350 minutes has 5 hours left over");
|
||
test.done();
|
||
},
|
||
|
||
"clipping" : function (test) {
|
||
test.expect(18);
|
||
test.equal(moment.duration({months: 11}).months(), 11, "11 months is 11 months");
|
||
test.equal(moment.duration({months: 11}).years(), 0, "11 months makes no year");
|
||
test.equal(moment.duration({months: 12}).months(), 0, "12 months is 0 months left over");
|
||
test.equal(moment.duration({months: 12}).years(), 1, "12 months makes 1 year");
|
||
test.equal(moment.duration({months: 13}).months(), 1, "13 months is 1 month left over");
|
||
test.equal(moment.duration({months: 13}).years(), 1, "13 months makes 1 year");
|
||
|
||
test.equal(moment.duration({days: 29}).days(), 29, "29 days is 29 days");
|
||
test.equal(moment.duration({days: 29}).months(), 0, "29 days makes no month");
|
||
test.equal(moment.duration({days: 30}).days(), 0, "30 days is 0 days left over");
|
||
test.equal(moment.duration({days: 30}).months(), 1, "30 days is a month");
|
||
test.equal(moment.duration({days: 31}).days(), 1, "31 days is 1 day left over");
|
||
test.equal(moment.duration({days: 31}).months(), 1, "31 days is a month");
|
||
|
||
test.equal(moment.duration({hours: 23}).hours(), 23, "23 hours is 23 hours");
|
||
test.equal(moment.duration({hours: 23}).days(), 0, "23 hours makes no day");
|
||
test.equal(moment.duration({hours: 24}).hours(), 0, "24 hours is 0 hours left over");
|
||
test.equal(moment.duration({hours: 24}).days(), 1, "24 hours makes 1 day");
|
||
test.equal(moment.duration({hours: 25}).hours(), 1, "25 hours is 1 hour left over");
|
||
test.equal(moment.duration({hours: 25}).days(), 1, "25 hours makes 1 day");
|
||
test.done();
|
||
},
|
||
|
||
"effective equivalency" : function (test) {
|
||
test.expect(7);
|
||
test.deepEqual(moment.duration({seconds: 1})._data, moment.duration({milliseconds: 1000})._data, "1 second is the same as 1000 milliseconds");
|
||
test.deepEqual(moment.duration({seconds: 60})._data, moment.duration({minutes: 1})._data, "1 minute is the same as 60 seconds");
|
||
test.deepEqual(moment.duration({minutes: 60})._data, moment.duration({hours: 1})._data, "1 hour is the same as 60 minutes");
|
||
test.deepEqual(moment.duration({hours: 24})._data, moment.duration({days: 1})._data, "1 day is the same as 24 hours");
|
||
test.deepEqual(moment.duration({days: 7})._data, moment.duration({weeks: 1})._data, "1 week is the same as 7 days");
|
||
test.deepEqual(moment.duration({days: 30})._data, moment.duration({months: 1})._data, "1 month is the same as 30 days");
|
||
test.deepEqual(moment.duration({months: 12})._data, moment.duration({years: 1})._data, "1 years is the same as 12 months");
|
||
test.done();
|
||
},
|
||
|
||
"asGetters" : function (test) {
|
||
var d = moment.duration({
|
||
years: 2,
|
||
months: 3,
|
||
weeks: 2,
|
||
days: 1,
|
||
hours: 8,
|
||
minutes: 9,
|
||
seconds: 20,
|
||
milliseconds: 12
|
||
});
|
||
|
||
test.expect(8);
|
||
test.equal(d.asYears().toFixed(2), "2.29", "years");
|
||
test.equal(d.asMonths().toFixed(2), "27.51", "months");
|
||
test.equal(d.asWeeks().toFixed(2), "119.33", "weeks");
|
||
test.equal(d.asDays().toFixed(2), "835.34", "days");
|
||
test.equal(d.asHours().toFixed(2), "20048.16", "hours");
|
||
test.equal(d.asMinutes().toFixed(2), "1202889.33", "minutes");
|
||
test.equal(d.asSeconds().toFixed(2), "72173360.01", "seconds");
|
||
test.equal(d.asMilliseconds(), 72173360012, "milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"generic as getter" : function (test) {
|
||
var d = moment.duration({
|
||
years: 2,
|
||
months: 3,
|
||
weeks: 2,
|
||
days: 1,
|
||
hours: 8,
|
||
minutes: 9,
|
||
seconds: 20,
|
||
milliseconds: 12
|
||
});
|
||
|
||
test.expect(24);
|
||
test.equal(d.as("years").toFixed(2), "2.29", "years");
|
||
test.equal(d.as("year").toFixed(2), "2.29", "years = year");
|
||
test.equal(d.as("y").toFixed(2), "2.29", "years = y");
|
||
test.equal(d.as("months").toFixed(2), "27.51", "months");
|
||
test.equal(d.as("month").toFixed(2), "27.51", "months = month");
|
||
test.equal(d.as("M").toFixed(2), "27.51", "months = M");
|
||
test.equal(d.as("weeks").toFixed(2), "119.33", "weeks");
|
||
test.equal(d.as("week").toFixed(2), "119.33", "weeks = week");
|
||
test.equal(d.as("w").toFixed(2), "119.33", "weeks = w");
|
||
test.equal(d.as("days").toFixed(2), "835.34", "days");
|
||
test.equal(d.as("day").toFixed(2), "835.34", "days = day");
|
||
test.equal(d.as("d").toFixed(2), "835.34", "days = d");
|
||
test.equal(d.as("hours").toFixed(2), "20048.16", "hours");
|
||
test.equal(d.as("hour").toFixed(2), "20048.16", "hours = hour");
|
||
test.equal(d.as("h").toFixed(2), "20048.16", "hours = h");
|
||
test.equal(d.as("minutes").toFixed(2), "1202889.33", "minutes");
|
||
test.equal(d.as("minute").toFixed(2), "1202889.33", "minutes = minute");
|
||
test.equal(d.as("m").toFixed(2), "1202889.33", "minutes = m");
|
||
test.equal(d.as("seconds").toFixed(2), "72173360.01", "seconds");
|
||
test.equal(d.as("second").toFixed(2), "72173360.01", "seconds = second");
|
||
test.equal(d.as("s").toFixed(2), "72173360.01", "seconds = s");
|
||
test.equal(d.as("milliseconds"), 72173360012, "milliseconds");
|
||
test.equal(d.as("millisecond"), 72173360012, "milliseconds = millisecond");
|
||
test.equal(d.as("ms"), 72173360012, "milliseconds = ms");
|
||
test.done();
|
||
},
|
||
|
||
"isDuration" : function (test) {
|
||
test.expect(3);
|
||
test.ok(moment.isDuration(moment.duration(12345678)), "correctly says true");
|
||
test.ok(!moment.isDuration(moment()), "moment object is not a duration");
|
||
test.ok(!moment.isDuration({milliseconds: 1}), "plain object is not a duration");
|
||
test.done();
|
||
},
|
||
|
||
"add" : function (test) {
|
||
test.expect(4);
|
||
|
||
var d = moment.duration({months: 4, weeks: 3, days: 2});
|
||
// for some reason, d._data._months does not get updated; use d._months instead.
|
||
test.equal(d.add(1, 'month')._months, 5, 'Add months');
|
||
test.equal(d.add(5, 'days')._days, 28, 'Add days');
|
||
test.equal(d.add(10000)._milliseconds, 10000, 'Add milliseconds');
|
||
test.equal(d.add({h: 23, m: 59})._milliseconds, 23 * 60 * 60 * 1000 + 59 * 60 * 1000 + 10000, 'Add hour:minute');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"add and bubble" : function (test) {
|
||
test.expect(4);
|
||
|
||
test.equal(moment.duration(1, 'second').add(1000, 'milliseconds').seconds(), 2, 'Adding milliseconds should bubble up to seconds');
|
||
test.equal(moment.duration(1, 'minute').add(60, 'second').minutes(), 2, 'Adding seconds should bubble up to minutes');
|
||
test.equal(moment.duration(1, 'hour').add(60, 'minutes').hours(), 2, 'Adding minutes should bubble up to hours');
|
||
test.equal(moment.duration(1, 'day').add(24, 'hours').days(), 2, 'Adding hours should bubble up to days');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"subtract and bubble" : function (test) {
|
||
test.expect(4);
|
||
|
||
test.equal(moment.duration(2, 'second').subtract(1000, 'milliseconds').seconds(), 1, 'Subtracting milliseconds should bubble up to seconds');
|
||
test.equal(moment.duration(2, 'minute').subtract(60, 'second').minutes(), 1, 'Subtracting seconds should bubble up to minutes');
|
||
test.equal(moment.duration(2, 'hour').subtract(60, 'minutes').hours(), 1, 'Subtracting minutes should bubble up to hours');
|
||
test.equal(moment.duration(2, 'day').subtract(24, 'hours').days(), 1, 'Subtracting hours should bubble up to days');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"subtract" : function (test) {
|
||
test.expect(4);
|
||
|
||
var d = moment.duration({months: 2, weeks: 2, days: 0, hours: 5});
|
||
// for some reason, d._data._months does not get updated; use d._months instead.
|
||
test.equal(d.subtract(1, 'months')._months, 1, 'Subtract months');
|
||
test.equal(d.subtract(14, 'days')._days, 0, 'Subtract days');
|
||
test.equal(d.subtract(10000)._milliseconds, 5 * 60 * 60 * 1000 - 10000, 'Subtract milliseconds');
|
||
test.equal(d.subtract({h: 1, m: 59})._milliseconds, 3 * 60 * 60 * 1000 + 1 * 60 * 1000 - 10000, 'Subtract hour:minute');
|
||
|
||
test.done();
|
||
}
|
||
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.format = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"format YY" : function (test) {
|
||
test.expect(1);
|
||
|
||
var b = moment(new Date(2009, 1, 14, 15, 25, 50, 125));
|
||
test.equal(b.format('YY'), '09', 'YY ---> 09');
|
||
test.done();
|
||
},
|
||
|
||
"format escape brackets" : function (test) {
|
||
test.expect(10);
|
||
|
||
moment.lang('en');
|
||
|
||
var b = moment(new Date(2009, 1, 14, 15, 25, 50, 125));
|
||
test.equal(b.format('[day]'), 'day', 'Single bracket');
|
||
test.equal(b.format('[day] YY [YY]'), 'day 09 YY', 'Double bracket');
|
||
test.equal(b.format('[YY'), '[09', 'Un-ended bracket');
|
||
test.equal(b.format('[[YY]]'), '[YY]', 'Double nested brackets');
|
||
test.equal(b.format('[[]'), '[', 'Escape open bracket');
|
||
test.equal(b.format('[Last]'), 'Last', 'localized tokens');
|
||
test.equal(b.format('[L] L'), 'L 02/14/2009', 'localized tokens with escaped localized tokens');
|
||
test.equal(b.format('[L LL LLL LLLL aLa]'), 'L LL LLL LLLL aLa', 'localized tokens with escaped localized tokens');
|
||
test.equal(b.format('[LLL] LLL'), 'LLL February 14 2009 3:25 PM', 'localized tokens with escaped localized tokens (recursion)');
|
||
test.equal(b.format('YYYY[\n]DD[\n]'), '2009\n14\n', 'Newlines');
|
||
test.done();
|
||
},
|
||
|
||
"handle negative years" : function (test) {
|
||
test.expect(10);
|
||
|
||
moment.lang('en');
|
||
test.equal(moment.utc().year(-1).format('YY'), '-01', 'YY with negative year');
|
||
test.equal(moment.utc().year(-1).format('YYYY'), '-0001', 'YYYY with negative year');
|
||
test.equal(moment.utc().year(-12).format('YY'), '-12', 'YY with negative year');
|
||
test.equal(moment.utc().year(-12).format('YYYY'), '-0012', 'YYYY with negative year');
|
||
test.equal(moment.utc().year(-123).format('YY'), '-23', 'YY with negative year');
|
||
test.equal(moment.utc().year(-123).format('YYYY'), '-0123', 'YYYY with negative year');
|
||
test.equal(moment.utc().year(-1234).format('YY'), '-34', 'YY with negative year');
|
||
test.equal(moment.utc().year(-1234).format('YYYY'), '-1234', 'YYYY with negative year');
|
||
test.equal(moment.utc().year(-12345).format('YY'), '-45', 'YY with negative year');
|
||
test.equal(moment.utc().year(-12345).format('YYYY'), '-12345', 'YYYY with negative year');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format milliseconds" : function (test) {
|
||
test.expect(6);
|
||
var b = moment(new Date(2009, 1, 14, 15, 25, 50, 123));
|
||
test.equal(b.format('S'), '1', 'Deciseconds');
|
||
test.equal(b.format('SS'), '12', 'Centiseconds');
|
||
test.equal(b.format('SSS'), '123', 'Milliseconds');
|
||
b.milliseconds(789);
|
||
test.equal(b.format('S'), '7', 'Deciseconds');
|
||
test.equal(b.format('SS'), '78', 'Centiseconds');
|
||
test.equal(b.format('SSS'), '789', 'Milliseconds');
|
||
test.done();
|
||
},
|
||
|
||
"format timezone" : function (test) {
|
||
test.expect(2);
|
||
|
||
var b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
explanation = 'moment().format("z") = ' + b.format('z') + ' It should be something like "PST"';
|
||
if (moment().zone() === -60) {
|
||
explanation += "For UTC+1 this is a known issue, see https://github.com/timrwood/moment/issues/162";
|
||
}
|
||
test.ok(b.format('Z').match(/^[\+\-]\d\d:\d\d$/), b.format('Z') + ' should be something like "+07:30"');
|
||
test.ok(b.format('ZZ').match(/^[\+\-]\d{4}$/), b.format('ZZ') + ' should be something like "+0700"');
|
||
test.done();
|
||
},
|
||
|
||
"format multiple with zone" : function (test) {
|
||
test.expect(1);
|
||
|
||
var b = moment('2012-10-08 -1200', ['YYYY-MM-DD HH:mm ZZ', 'YYYY-MM-DD ZZ', 'YYYY-MM-DD']);
|
||
test.equals(b.format('YYYY-MM'), '2012-10', 'Parsing multiple formats should not crash with different sized formats');
|
||
test.done();
|
||
},
|
||
|
||
"isDST" : function (test) {
|
||
test.expect(2);
|
||
|
||
var janOffset = new Date(2011, 0, 1).getTimezoneOffset(),
|
||
julOffset = new Date(2011, 6, 1).getTimezoneOffset(),
|
||
janIsDst = janOffset < julOffset,
|
||
julIsDst = julOffset < janOffset,
|
||
jan1 = moment([2011]),
|
||
jul1 = moment([2011, 6]);
|
||
|
||
if (janIsDst && julIsDst) {
|
||
test.ok(0, 'January and July cannot both be in DST');
|
||
test.ok(0, 'January and July cannot both be in DST');
|
||
} else if (janIsDst) {
|
||
test.ok(jan1.isDST(), 'January 1 is DST');
|
||
test.ok(!jul1.isDST(), 'July 1 is not DST');
|
||
} else if (julIsDst) {
|
||
test.ok(!jan1.isDST(), 'January 1 is not DST');
|
||
test.ok(jul1.isDST(), 'July 1 is DST');
|
||
} else {
|
||
test.ok(!jan1.isDST(), 'January 1 is not DST');
|
||
test.ok(!jul1.isDST(), 'July 1 is not DST');
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"unix timestamp" : function (test) {
|
||
test.expect(5);
|
||
|
||
var m = moment('1234567890.123', 'X');
|
||
test.equals(m.format('X'), '1234567890', 'unix timestamp without milliseconds');
|
||
test.equals(m.format('X.S'), '1234567890.1', 'unix timestamp with deciseconds');
|
||
test.equals(m.format('X.SS'), '1234567890.12', 'unix timestamp with centiseconds');
|
||
test.equals(m.format('X.SSS'), '1234567890.123', 'unix timestamp with milliseconds');
|
||
|
||
m = moment(1234567890.123, 'X');
|
||
test.equals(m.format('X'), '1234567890', 'unix timestamp as integer');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"zone" : function (test) {
|
||
test.expect(3);
|
||
|
||
if (moment().zone() > 0) {
|
||
test.ok(moment().format('ZZ').indexOf('-') > -1, 'When the zone() offset is greater than 0, the ISO offset should be less than zero');
|
||
}
|
||
if (moment().zone() < 0) {
|
||
test.ok(moment().format('ZZ').indexOf('+') > -1, 'When the zone() offset is less than 0, the ISO offset should be greater than zero');
|
||
}
|
||
if (moment().zone() === 0) {
|
||
test.ok(moment().format('ZZ').indexOf('+') > -1, 'When the zone() offset is equal to 0, the ISO offset should be positive zero');
|
||
}
|
||
if (moment().zone() === 0) {
|
||
test.equal(moment().zone(), 0, 'moment.fn.zone should be a multiple of 15 (was ' + moment().zone() + ')');
|
||
} else {
|
||
test.equal(moment().zone() % 15, 0, 'moment.fn.zone should be a multiple of 15 (was ' + moment().zone() + ')');
|
||
}
|
||
test.equal(moment().zone(), new Date().getTimezoneOffset(), 'zone should equal getTimezoneOffset');
|
||
test.done();
|
||
},
|
||
|
||
"default format" : function (test) {
|
||
test.expect(1);
|
||
var isoRegex = /\d{4}.\d\d.\d\dT\d\d.\d\d.\d\d[\+\-]\d\d:\d\d/;
|
||
test.ok(isoRegex.exec(moment().format()), "default format (" + moment().format() + ") should match ISO");
|
||
test.done();
|
||
},
|
||
|
||
"escaping quotes" : function (test) {
|
||
test.expect(4);
|
||
moment.lang('en');
|
||
var date = moment([2012, 0]);
|
||
test.equal(date.format('MMM \'YY'), "Jan '12", "Should be able to format with single parenthesis");
|
||
test.equal(date.format('MMM "YY'), 'Jan "12', "Should be able to format with double parenthesis");
|
||
test.equal(date.format("MMM 'YY"), "Jan '12", "Should be able to format with single parenthesis");
|
||
test.equal(date.format("MMM \"YY"), 'Jan "12', "Should be able to format with double parenthesis");
|
||
test.done();
|
||
},
|
||
|
||
"toJSON" : function (test) {
|
||
var supportsJson = typeof JSON !== "undefined" && JSON.stringify && JSON.stringify.call,
|
||
date = moment("2012-10-09T21:30:40.678+0100");
|
||
|
||
test.expect(supportsJson ? 2 : 1);
|
||
|
||
test.equal(date.toJSON(), "2012-10-09T20:30:40.678Z", "should output ISO8601 on moment.fn.toJSON");
|
||
|
||
if (supportsJson) {
|
||
test.equal(JSON.stringify({
|
||
date : date
|
||
}), '{"date":"2012-10-09T20:30:40.678Z"}', "should output ISO8601 on JSON.stringify");
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"toISOString" : function (test) {
|
||
test.expect(4);
|
||
var date = moment.utc("2012-10-09T20:30:40.678");
|
||
|
||
test.equal(date.toISOString(), "2012-10-09T20:30:40.678Z", "should output ISO8601 on moment.fn.toISOString");
|
||
|
||
// big years
|
||
date = moment.utc("+020123-10-09T20:30:40.678");
|
||
test.equal(date.toISOString(), "+020123-10-09T20:30:40.678Z", "ISO8601 format on big positive year");
|
||
// negative years
|
||
date = moment.utc("-000001-10-09T20:30:40.678");
|
||
test.equal(date.toISOString(), "-000001-10-09T20:30:40.678Z", "ISO8601 format on negative year");
|
||
// big negative years
|
||
date = moment.utc("-020123-10-09T20:30:40.678");
|
||
test.equal(date.toISOString(), "-020123-10-09T20:30:40.678Z", "ISO8601 format on big negative year");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"long years" : function (test) {
|
||
test.expect(6);
|
||
test.equal(moment.utc().year(2).format('YYYYYY'), '+000002', 'small year with YYYYYY');
|
||
test.equal(moment.utc().year(2012).format('YYYYYY'), '+002012', 'regular year with YYYYYY');
|
||
test.equal(moment.utc().year(20123).format('YYYYYY'), '+020123', 'big year with YYYYYY');
|
||
|
||
test.equal(moment.utc().year(-1).format('YYYYYY'), '-000001', 'small negative year with YYYYYY');
|
||
test.equal(moment.utc().year(-2012).format('YYYYYY'), '-002012', 'negative year with YYYYYY');
|
||
test.equal(moment.utc().year(-20123).format('YYYYYY'), '-020123', 'big negative year with YYYYYY');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"iso week formats" : function (test) {
|
||
|
||
// http://en.wikipedia.org/wiki/ISO_week_date
|
||
var cases = {
|
||
"2005-01-02": "2004-53",
|
||
"2005-12-31": "2005-52",
|
||
"2007-01-01": "2007-01",
|
||
"2007-12-30": "2007-52",
|
||
"2007-12-31": "2008-01",
|
||
"2008-01-01": "2008-01",
|
||
"2008-12-28": "2008-52",
|
||
"2008-12-29": "2009-01",
|
||
"2008-12-30": "2009-01",
|
||
"2008-12-31": "2009-01",
|
||
"2009-01-01": "2009-01",
|
||
"2009-12-31": "2009-53",
|
||
"2010-01-01": "2009-53",
|
||
"2010-01-02": "2009-53",
|
||
"2010-01-03": "2009-53",
|
||
"404-12-31": "0404-53",
|
||
"405-12-31": "0405-52"
|
||
}, i, isoWeek, formatted2, formatted1;
|
||
|
||
for (i in cases) {
|
||
isoWeek = cases[i].split('-').pop();
|
||
formatted2 = moment(i, 'YYYY-MM-DD').format('WW');
|
||
test.equal(isoWeek, formatted2, i + ": WW should be " + isoWeek + ", but " + formatted2);
|
||
isoWeek = isoWeek.replace(/^0+/, '');
|
||
formatted1 = moment(i, 'YYYY-MM-DD').format('W');
|
||
test.equal(isoWeek, formatted1, i + ": W should be " + isoWeek + ", but " + formatted1);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"iso week year formats" : function (test) {
|
||
|
||
// http://en.wikipedia.org/wiki/ISO_week_date
|
||
var cases = {
|
||
"2005-01-02": "2004-53",
|
||
"2005-12-31": "2005-52",
|
||
"2007-01-01": "2007-01",
|
||
"2007-12-30": "2007-52",
|
||
"2007-12-31": "2008-01",
|
||
"2008-01-01": "2008-01",
|
||
"2008-12-28": "2008-52",
|
||
"2008-12-29": "2009-01",
|
||
"2008-12-30": "2009-01",
|
||
"2008-12-31": "2009-01",
|
||
"2009-01-01": "2009-01",
|
||
"2009-12-31": "2009-53",
|
||
"2010-01-01": "2009-53",
|
||
"2010-01-02": "2009-53",
|
||
"2010-01-03": "2009-53",
|
||
"404-12-31": "0404-53",
|
||
"405-12-31": "0405-52"
|
||
}, i, isoWeekYear, formatted5, formatted4, formatted2;
|
||
|
||
for (i in cases) {
|
||
isoWeekYear = cases[i].split('-')[0];
|
||
formatted5 = moment(i, 'YYYY-MM-DD').format('GGGGG');
|
||
test.equal('0' + isoWeekYear, formatted5, i + ": GGGGG should be " + isoWeekYear + ", but " + formatted5);
|
||
formatted4 = moment(i, 'YYYY-MM-DD').format('GGGG');
|
||
test.equal(isoWeekYear, formatted4, i + ": GGGG should be " + isoWeekYear + ", but " + formatted4);
|
||
formatted2 = moment(i, 'YYYY-MM-DD').format('GG');
|
||
test.equal(isoWeekYear.slice(2, 4), formatted2, i + ": GG should be " + isoWeekYear + ", but " + formatted2);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"week year formats" : function (test) {
|
||
|
||
// http://en.wikipedia.org/wiki/ISO_week_date
|
||
var cases = {
|
||
"2005-01-02": "2004-53",
|
||
"2005-12-31": "2005-52",
|
||
"2007-01-01": "2007-01",
|
||
"2007-12-30": "2007-52",
|
||
"2007-12-31": "2008-01",
|
||
"2008-01-01": "2008-01",
|
||
"2008-12-28": "2008-52",
|
||
"2008-12-29": "2009-01",
|
||
"2008-12-30": "2009-01",
|
||
"2008-12-31": "2009-01",
|
||
"2009-01-01": "2009-01",
|
||
"2009-12-31": "2009-53",
|
||
"2010-01-01": "2009-53",
|
||
"2010-01-02": "2009-53",
|
||
"2010-01-03": "2009-53",
|
||
"404-12-31": "0404-53",
|
||
"405-12-31": "0405-52"
|
||
}, i, isoWeekYear, formatted5, formatted4, formatted2;
|
||
|
||
moment.lang('en-gb'); // 1, 4
|
||
for (i in cases) {
|
||
isoWeekYear = cases[i].split('-')[0];
|
||
formatted5 = moment(i, 'YYYY-MM-DD').format('ggggg');
|
||
test.equal('0' + isoWeekYear, formatted5, i + ": ggggg should be " + isoWeekYear + ", but " + formatted5);
|
||
formatted4 = moment(i, 'YYYY-MM-DD').format('gggg');
|
||
test.equal(isoWeekYear, formatted4, i + ": gggg should be " + isoWeekYear + ", but " + formatted4);
|
||
formatted2 = moment(i, 'YYYY-MM-DD').format('gg');
|
||
test.equal(isoWeekYear.slice(2, 4), formatted2, i + ": gg should be " + isoWeekYear + ", but " + formatted2);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"iso weekday formats" : function (test) {
|
||
test.expect(7);
|
||
|
||
test.equal(moment([1985, 1, 4]).format('E'), '1', "Feb 4 1985 is Monday -- 1st day");
|
||
test.equal(moment([2029, 8, 18]).format('E'), '2', "Sep 18 2029 is Tuesday -- 2nd day");
|
||
test.equal(moment([2013, 3, 24]).format('E'), '3', "Apr 24 2013 is Wednesday -- 3rd day");
|
||
test.equal(moment([2015, 2, 5]).format('E'), '4', "Mar 5 2015 is Thursday -- 4th day");
|
||
test.equal(moment([1970, 0, 2]).format('E'), '5', "Jan 2 1970 is Friday -- 5th day");
|
||
test.equal(moment([2001, 4, 12]).format('E'), '6', "May 12 2001 is Saturday -- 6th day");
|
||
test.equal(moment([2000, 0, 2]).format('E'), '7', "Jan 2 2000 is Sunday -- 7th day");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weekday formats" : function (test) {
|
||
test.expect(7);
|
||
|
||
moment.lang('dow: 3,doy: 5', {week: {dow: 3, doy: 5}});
|
||
test.equal(moment([1985, 1, 6]).format('e'), '0', "Feb 6 1985 is Wednesday -- 0th day");
|
||
test.equal(moment([2029, 8, 20]).format('e'), '1', "Sep 20 2029 is Thursday -- 1st day");
|
||
test.equal(moment([2013, 3, 26]).format('e'), '2', "Apr 26 2013 is Friday -- 2nd day");
|
||
test.equal(moment([2015, 2, 7]).format('e'), '3', "Mar 7 2015 is Saturday -- 3nd day");
|
||
test.equal(moment([1970, 0, 4]).format('e'), '4', "Jan 4 1970 is Sunday -- 4th day");
|
||
test.equal(moment([2001, 4, 14]).format('e'), '5', "May 14 2001 is Monday -- 5th day");
|
||
test.equal(moment([2000, 0, 4]).format('e'), '6', "Jan 4 2000 is Tuesday -- 6th day");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"toString is just human readable format" : function (test) {
|
||
test.expect(1);
|
||
|
||
var b = moment(new Date(2009, 1, 5, 15, 25, 50, 125));
|
||
test.equal(b.toString(), b.format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'));
|
||
test.done();
|
||
},
|
||
|
||
"toJSON skips postformat" : function (test) {
|
||
test.expect(1);
|
||
|
||
moment.lang('postformat', {postformat: function (s) { s.replace(/./g, 'X'); }});
|
||
test.equal(moment.utc([2000, 0, 1]).toJSON(), "2000-01-01T00:00:00.000Z", "toJSON doesn't postformat");
|
||
moment.lang('postformat', null);
|
||
test.done();
|
||
},
|
||
|
||
"calendar day timezone" : function (test) {
|
||
test.expect(10);
|
||
|
||
moment.lang('en');
|
||
var zones = [60, -60, 90, -90, 360, -360, 720, -720],
|
||
b = moment().utc().startOf('day').subtract({ m : 1 }),
|
||
c = moment().local().startOf('day').subtract({ m : 1 }),
|
||
i, z, a;
|
||
|
||
for (i = 0; i < zones.length; ++i) {
|
||
z = zones[i];
|
||
a = moment().zone(z).startOf('day').subtract({ m: 1 });
|
||
test.equal(moment(a).zone(z).calendar(), "Yesterday at 11:59 PM", "Yesterday at 11:59 PM, not Today, or the wrong time");
|
||
}
|
||
|
||
test.equal(moment(b).utc().calendar(), "Yesterday at 11:59 PM", "Yesterday at 11:59 PM, not Today, or the wrong time");
|
||
test.equal(moment(c).local().calendar(), "Yesterday at 11:59 PM", "Yesterday at 11:59 PM, not Today, or the wrong time");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"invalid" : function (test) {
|
||
moment.lang('en');
|
||
|
||
test.equal(moment.invalid().format(), "Invalid date");
|
||
test.equal(moment.invalid().format('YYYY-MM-DD'), "Invalid date");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"quarter formats" : function (test) {
|
||
test.expect(7);
|
||
|
||
test.equal(moment([1985, 1, 4]).format('Q'), '1', "Feb 4 1985 is Q1");
|
||
test.equal(moment([2029, 8, 18]).format('Q'), '3', "Sep 18 2029 is Q3");
|
||
test.equal(moment([2013, 3, 24]).format('Q'), '2', "Apr 24 2013 is Q2");
|
||
test.equal(moment([2015, 2, 5]).format('Q'), '1', "Mar 5 2015 is Q1");
|
||
test.equal(moment([1970, 0, 2]).format('Q'), '1', "Jan 2 1970 is Q1");
|
||
test.equal(moment([2001, 11, 12]).format('Q'), '4', "Dec 12 2001 is Q4");
|
||
test.equal(moment([2000, 0, 2]).format('[Q]Q-YYYY'), 'Q1-2000', "Jan 2 2000 is Q1");
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.gettersSetters = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"getters" : function (test) {
|
||
test.expect(8);
|
||
|
||
var a = moment([2011, 9, 12, 6, 7, 8, 9]);
|
||
test.equal(a.year(), 2011, 'year');
|
||
test.equal(a.month(), 9, 'month');
|
||
test.equal(a.date(), 12, 'date');
|
||
test.equal(a.day(), 3, 'day');
|
||
test.equal(a.hours(), 6, 'hour');
|
||
test.equal(a.minutes(), 7, 'minute');
|
||
test.equal(a.seconds(), 8, 'second');
|
||
test.equal(a.milliseconds(), 9, 'milliseconds');
|
||
test.done();
|
||
},
|
||
|
||
"getters programmatic" : function (test) {
|
||
var a = moment([2011, 9, 12, 6, 7, 8, 9]);
|
||
test.equal(a.get('year'), 2011, 'year');
|
||
test.equal(a.get('month'), 9, 'month');
|
||
test.equal(a.get('date'), 12, 'date');
|
||
test.equal(a.get('day'), 3, 'day');
|
||
test.equal(a.get('hour'), 6, 'hour');
|
||
test.equal(a.get('minute'), 7, 'minute');
|
||
test.equal(a.get('second'), 8, 'second');
|
||
test.equal(a.get('milliseconds'), 9, 'milliseconds');
|
||
|
||
//actual getters tested elsewhere
|
||
test.equal(a.get('weekday'), a.weekday(), 'weekday');
|
||
test.equal(a.get('isoWeekday'), a.isoWeekday(), 'isoWeekday');
|
||
test.equal(a.get('week'), a.week(), 'week');
|
||
test.equal(a.get('isoWeek'), a.isoWeek(), 'isoWeek');
|
||
test.equal(a.get('dayOfYear'), a.dayOfYear(), 'dayOfYear');
|
||
test.done();
|
||
},
|
||
|
||
"setters plural" : function (test) {
|
||
test.expect(8);
|
||
|
||
var a = moment();
|
||
a.years(2011);
|
||
a.months(9);
|
||
a.dates(12);
|
||
a.hours(6);
|
||
a.minutes(7);
|
||
a.seconds(8);
|
||
a.milliseconds(9);
|
||
test.equal(a.years(), 2011, 'years');
|
||
test.equal(a.months(), 9, 'months');
|
||
test.equal(a.dates(), 12, 'dates');
|
||
test.equal(a.days(), 3, 'days');
|
||
test.equal(a.hours(), 6, 'hours');
|
||
test.equal(a.minutes(), 7, 'minutes');
|
||
test.equal(a.seconds(), 8, 'seconds');
|
||
test.equal(a.milliseconds(), 9, 'milliseconds');
|
||
test.done();
|
||
},
|
||
|
||
"setters singular" : function (test) {
|
||
test.expect(8);
|
||
|
||
var a = moment();
|
||
a.year(2011);
|
||
a.month(9);
|
||
a.date(12);
|
||
a.hour(6);
|
||
a.minute(7);
|
||
a.second(8);
|
||
a.millisecond(9);
|
||
test.equal(a.year(), 2011, 'year');
|
||
test.equal(a.month(), 9, 'month');
|
||
test.equal(a.date(), 12, 'date');
|
||
test.equal(a.day(), 3, 'day');
|
||
test.equal(a.hour(), 6, 'hour');
|
||
test.equal(a.minute(), 7, 'minute');
|
||
test.equal(a.second(), 8, 'second');
|
||
test.equal(a.millisecond(), 9, 'milliseconds');
|
||
test.done();
|
||
},
|
||
|
||
"setters" : function (test) {
|
||
test.expect(9);
|
||
|
||
var a = moment();
|
||
a.year(2011);
|
||
a.month(9);
|
||
a.date(12);
|
||
a.hours(6);
|
||
a.minutes(7);
|
||
a.seconds(8);
|
||
a.milliseconds(9);
|
||
test.equal(a.year(), 2011, 'year');
|
||
test.equal(a.month(), 9, 'month');
|
||
test.equal(a.date(), 12, 'date');
|
||
test.equal(a.day(), 3, 'day');
|
||
test.equal(a.hours(), 6, 'hour');
|
||
test.equal(a.minutes(), 7, 'minute');
|
||
test.equal(a.seconds(), 8, 'second');
|
||
test.equal(a.milliseconds(), 9, 'milliseconds');
|
||
|
||
// Test month() behavior. See https://github.com/timrwood/moment/pull/822
|
||
a = moment('20130531', 'YYYYMMDD');
|
||
a.month(3);
|
||
test.equal(a.month(), 3, 'month edge case');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"setter programmatic" : function (test) {
|
||
var a = moment();
|
||
a.set('year', 2011);
|
||
a.set('month', 9);
|
||
a.set('date', 12);
|
||
a.set('hours', 6);
|
||
a.set('minutes', 7);
|
||
a.set('seconds', 8);
|
||
a.set('milliseconds', 9);
|
||
test.equal(a.year(), 2011, 'year');
|
||
test.equal(a.month(), 9, 'month');
|
||
test.equal(a.date(), 12, 'date');
|
||
test.equal(a.day(), 3, 'day');
|
||
test.equal(a.hours(), 6, 'hour');
|
||
test.equal(a.minutes(), 7, 'minute');
|
||
test.equal(a.seconds(), 8, 'second');
|
||
test.equal(a.milliseconds(), 9, 'milliseconds');
|
||
|
||
// Test month() behavior. See https://github.com/timrwood/moment/pull/822
|
||
a = moment('20130531', 'YYYYMMDD');
|
||
a.month(3);
|
||
test.equal(a.month(), 3, 'month edge case');
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Disable this, until we weekYear setter is fixed.
|
||
// https://github.com/moment/moment/issues/1379
|
||
// "setters programatic with weeks" : function (test) {
|
||
// var a = moment();
|
||
// a.set('weekYear', 2001);
|
||
// a.set('week', 49);
|
||
// a.set('day', 4);
|
||
// test.equals(a.weekYear(), 2001);
|
||
// test.equals(a.week(), 49);
|
||
// test.equals(a.day(), 4);
|
||
|
||
// a.set('weekday', 1);
|
||
// test.equals(a.weekday(), 1);
|
||
|
||
// test.done();
|
||
// },
|
||
|
||
// I think this suffers from the same issue as the non-iso version.
|
||
// "setters programatic with weeks ISO" : function (test) {
|
||
// var a = moment();
|
||
// a.set('isoWeekYear', 2001);
|
||
// a.set('isoWeek', 49);
|
||
// a.set('isoWeekday', 4);
|
||
|
||
// test.equals(a.weekYear(), 2001);
|
||
// test.equals(a.week(), 49);
|
||
// test.equals(a.day(), 4);
|
||
|
||
// test.done();
|
||
// },
|
||
|
||
"setters strings" : function (test) {
|
||
test.expect(7);
|
||
|
||
var a = moment([2012]).lang('en');
|
||
test.equal(a.clone().day(0).day('Wednesday').day(), 3, 'day full name');
|
||
test.equal(a.clone().day(0).day('Wed').day(), 3, 'day short name');
|
||
test.equal(a.clone().day(0).day('We').day(), 3, 'day minimal name');
|
||
test.equal(a.clone().day(0).day('invalid').day(), 0, 'invalid day name');
|
||
test.equal(a.clone().month(0).month('April').month(), 3, 'month full name');
|
||
test.equal(a.clone().month(0).month('Apr').month(), 3, 'month short name');
|
||
test.equal(a.clone().month(0).month('invalid').month(), 0, 'invalid month name');
|
||
test.done();
|
||
},
|
||
|
||
"setters - falsey values" : function (test) {
|
||
test.expect(1);
|
||
|
||
var a = moment();
|
||
// ensure minutes wasn't coincidentally 0 already
|
||
a.minutes(1);
|
||
a.minutes(0);
|
||
test.equal(a.minutes(), 0, 'falsey value');
|
||
test.done();
|
||
},
|
||
|
||
"chaining setters" : function (test) {
|
||
test.expect(7);
|
||
|
||
var a = moment();
|
||
a.year(2011)
|
||
.month(9)
|
||
.date(12)
|
||
.hours(6)
|
||
.minutes(7)
|
||
.seconds(8);
|
||
test.equal(a.year(), 2011, 'year');
|
||
test.equal(a.month(), 9, 'month');
|
||
test.equal(a.date(), 12, 'date');
|
||
test.equal(a.day(), 3, 'day');
|
||
test.equal(a.hours(), 6, 'hour');
|
||
test.equal(a.minutes(), 7, 'minute');
|
||
test.equal(a.seconds(), 8, 'second');
|
||
test.done();
|
||
},
|
||
|
||
"day setter" : function (test) {
|
||
test.expect(18);
|
||
|
||
var a = moment([2011, 0, 15]);
|
||
test.equal(moment(a).day(0).date(), 9, 'set from saturday to sunday');
|
||
test.equal(moment(a).day(6).date(), 15, 'set from saturday to saturday');
|
||
test.equal(moment(a).day(3).date(), 12, 'set from saturday to wednesday');
|
||
|
||
a = moment([2011, 0, 9]);
|
||
test.equal(moment(a).day(0).date(), 9, 'set from sunday to sunday');
|
||
test.equal(moment(a).day(6).date(), 15, 'set from sunday to saturday');
|
||
test.equal(moment(a).day(3).date(), 12, 'set from sunday to wednesday');
|
||
|
||
a = moment([2011, 0, 12]);
|
||
test.equal(moment(a).day(0).date(), 9, 'set from wednesday to sunday');
|
||
test.equal(moment(a).day(6).date(), 15, 'set from wednesday to saturday');
|
||
test.equal(moment(a).day(3).date(), 12, 'set from wednesday to wednesday');
|
||
|
||
test.equal(moment(a).day(-7).date(), 2, 'set from wednesday to last sunday');
|
||
test.equal(moment(a).day(-1).date(), 8, 'set from wednesday to last saturday');
|
||
test.equal(moment(a).day(-4).date(), 5, 'set from wednesday to last wednesday');
|
||
|
||
test.equal(moment(a).day(7).date(), 16, 'set from wednesday to next sunday');
|
||
test.equal(moment(a).day(13).date(), 22, 'set from wednesday to next saturday');
|
||
test.equal(moment(a).day(10).date(), 19, 'set from wednesday to next wednesday');
|
||
|
||
test.equal(moment(a).day(14).date(), 23, 'set from wednesday to second next sunday');
|
||
test.equal(moment(a).day(20).date(), 29, 'set from wednesday to second next saturday');
|
||
test.equal(moment(a).day(17).date(), 26, 'set from wednesday to second next wednesday');
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.invalid = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"invalid" : function (test) {
|
||
var m = moment.invalid();
|
||
test.equals(m.isValid(), false);
|
||
test.equals(m.parsingFlags().userInvalidated, true);
|
||
test.ok(isNaN(m.valueOf()));
|
||
test.done();
|
||
},
|
||
|
||
"invalid with existing flag" : function (test) {
|
||
var m = moment.invalid({invalidMonth : 'whatchamacallit'});
|
||
test.equals(m.isValid(), false);
|
||
test.equals(m.parsingFlags().userInvalidated, false);
|
||
test.equals(m.parsingFlags().invalidMonth, 'whatchamacallit');
|
||
test.ok(isNaN(m.valueOf()));
|
||
test.done();
|
||
},
|
||
|
||
"invalid with custom flag" : function (test) {
|
||
var m = moment.invalid({tooBusyWith : 'reiculating splines'});
|
||
test.equals(m.isValid(), false);
|
||
test.equals(m.parsingFlags().userInvalidated, false);
|
||
test.equals(m.parsingFlags().tooBusyWith, 'reiculating splines');
|
||
test.ok(isNaN(m.valueOf()));
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.isAfter = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"is after without units" : function (test) {
|
||
test.expect(17);
|
||
|
||
var m = moment(new Date(2011, 3, 2, 3, 4, 5, 10)), mCopy = moment(m);
|
||
test.equal(m.isAfter(moment(new Date(2012, 3, 2, 3, 5, 5, 10))), false, "year is later");
|
||
test.equal(m.isAfter(moment(new Date(2010, 3, 2, 3, 3, 5, 10))), true, "year is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 4, 2, 3, 4, 5, 10))), false, "month is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 2, 2, 3, 4, 5, 10))), true, "month is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 3, 3, 4, 5, 10))), false, "day is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 1, 3, 4, 5, 10))), true, "day is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 4, 4, 5, 10))), false, "hour is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 2, 4, 5, 10))), true, "hour is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 5, 5, 10))), false, "minute is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 3, 5, 10))), true, "minute is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 6, 10))), false, "second is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 4, 11))), true, "second is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 5, 10))), false, "millisecond match");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 5, 11))), false, "millisecond is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 5, 9))), true, "millisecond is earlier");
|
||
test.equal(m.isAfter(m), false, "moments are not after themselves");
|
||
test.equal(+m, +mCopy, "isAfter second should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is after year" : function (test) {
|
||
test.expect(11);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)), mCopy = moment(m);
|
||
test.equal(m.isAfter(moment(new Date(2011, 5, 6, 7, 8, 9, 10)), 'year'), false, "year match");
|
||
test.equal(m.isAfter(moment(new Date(2010, 5, 6, 7, 8, 9, 10)), 'years'), true, "plural should work");
|
||
test.equal(m.isAfter(moment(new Date(2013, 5, 6, 7, 8, 9, 10)), 'year'), false, "year is later");
|
||
test.equal(m.isAfter(moment(new Date(2010, 5, 6, 7, 8, 9, 10)), 'year'), true, "year is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 0, 1, 0, 0, 0, 0)), 'year'), false, "exact start of year");
|
||
test.equal(m.isAfter(moment(new Date(2011, 11, 31, 23, 59, 59, 999)), 'year'), false, "exact end of year");
|
||
test.equal(m.isAfter(moment(new Date(2012, 0, 1, 0, 0, 0, 0)), 'year'), false, "start of next year");
|
||
test.equal(m.isAfter(moment(new Date(2010, 11, 31, 23, 59, 59, 999)), 'year'), true, "end of previous year");
|
||
test.equal(m.isAfter(moment(new Date(1980, 11, 31, 23, 59, 59, 999)), 'year'), true, "end of year far before");
|
||
test.equal(m.isAfter(m, 'year'), false, "same moments are not after the same year");
|
||
test.equal(+m, +mCopy, "isAfter year should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is after month" : function (test) {
|
||
test.expect(13);
|
||
|
||
var m = moment(new Date(2011, 2, 3, 4, 5, 6, 7)), mCopy = moment(m);
|
||
test.equal(m.isAfter(moment(new Date(2011, 2, 6, 7, 8, 9, 10)), 'month'), false, "month match");
|
||
test.equal(m.isAfter(moment(new Date(2010, 2, 6, 7, 8, 9, 10)), 'months'), true, "plural should work");
|
||
test.equal(m.isAfter(moment(new Date(2012, 2, 6, 7, 8, 9, 10)), 'month'), false, "year is later");
|
||
test.equal(m.isAfter(moment(new Date(2010, 2, 6, 7, 8, 9, 10)), 'month'), true, "year is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 5, 6, 7, 8, 9, 10)), 'month'), false, "month is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 1, 6, 7, 8, 9, 10)), 'month'), true, "month is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 2, 1, 0, 0, 0, 0)), 'month'), false, "exact start of month");
|
||
test.equal(m.isAfter(moment(new Date(2011, 2, 31, 23, 59, 59, 999)), 'month'), false, "exact end of month");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 1, 0, 0, 0, 0)), 'month'), false, "start of next month");
|
||
test.equal(m.isAfter(moment(new Date(2011, 1, 27, 23, 59, 59, 999)), 'month'), true, "end of previous month");
|
||
test.equal(m.isAfter(moment(new Date(2010, 12, 31, 23, 59, 59, 999)), 'month'), true, "later month but earlier year");
|
||
test.equal(m.isAfter(m, 'month'), false, "same moments are not after the same month");
|
||
test.equal(+m, +mCopy, "isAfter month should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is after day" : function (test) {
|
||
test.expect(15);
|
||
|
||
var m = moment(new Date(2011, 3, 2, 3, 4, 5, 6)), mCopy = moment(m);
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 7, 8, 9, 10)), 'day'), false, "day match");
|
||
test.equal(m.isAfter(moment(new Date(2010, 3, 2, 7, 8, 9, 10)), 'days'), true, "plural should work");
|
||
test.equal(m.isAfter(moment(new Date(2012, 3, 2, 7, 8, 9, 10)), 'day'), false, "year is later");
|
||
test.equal(m.isAfter(moment(new Date(2010, 3, 2, 7, 8, 9, 10)), 'day'), true, "year is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 4, 2, 7, 8, 9, 10)), 'day'), false, "month is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 2, 2, 7, 8, 9, 10)), 'day'), true, "month is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 3, 7, 8, 9, 10)), 'day'), false, "day is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 1, 7, 8, 9, 10)), 'day'), true, "day is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 0, 0, 0, 0)), 'day'), false, "exact start of day");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 23, 59, 59, 999)), 'day'), false, "exact end of day");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 3, 0, 0, 0, 0)), 'day'), false, "start of next day");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 1, 23, 59, 59, 999)), 'day'), true, "end of previous day");
|
||
test.equal(m.isAfter(moment(new Date(2010, 3, 10, 0, 0, 0, 0)), 'day'), true, "later day but earlier year");
|
||
test.equal(m.isAfter(m, 'day'), false, "same moments are not after the same day");
|
||
test.equal(+m, +mCopy, "isAfter day should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is after hour" : function (test) {
|
||
test.expect(16);
|
||
|
||
var m = moment(new Date(2011, 3, 2, 3, 4, 5, 6)), mCopy = moment(m);
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 8, 9, 10)), 'hour'), false, "hour match");
|
||
test.equal(m.isAfter(moment(new Date(2010, 3, 2, 3, 8, 9, 10)), 'hours'), true, "plural should work");
|
||
test.equal(m.isAfter(moment(new Date(2012, 3, 2, 3, 8, 9, 10)), 'hour'), false, "year is later");
|
||
test.equal(m.isAfter(moment(new Date(2010, 3, 2, 3, 8, 9, 10)), 'hour'), true, "year is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 4, 2, 3, 8, 9, 10)), 'hour'), false, "month is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 1, 2, 3, 8, 9, 10)), 'hour'), true, "month is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 3, 3, 8, 9, 10)), 'hour'), false, "day is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 1, 3, 8, 9, 10)), 'hour'), true, "day is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 4, 8, 9, 10)), 'hour'), false, "hour is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 8, 9, 10)), 'hour'), false, "hour is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 0, 0, 0)), 'hour'), false, "exact start of hour");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 59, 59, 999)), 'hour'), false, "exact end of hour");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 4, 0, 0, 0)), 'hour'), false, "start of next hour");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 2, 59, 59, 999)), 'hour'), true, "end of previous hour");
|
||
test.equal(m.isAfter(m, 'hour'), false, "same moments are not after the same hour");
|
||
test.equal(+m, +mCopy, "isAfter hour should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is after minute" : function (test) {
|
||
test.expect(18);
|
||
|
||
var m = moment(new Date(2011, 3, 2, 3, 4, 5, 6)), mCopy = moment(m);
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 9, 10)), 'minute'), false, "minute match");
|
||
test.equal(m.isAfter(moment(new Date(2010, 3, 2, 3, 4, 9, 10)), 'minutes'), true, "plural should work");
|
||
test.equal(m.isAfter(moment(new Date(2012, 3, 2, 3, 4, 9, 10)), 'minute'), false, "year is later");
|
||
test.equal(m.isAfter(moment(new Date(2010, 3, 2, 3, 4, 9, 10)), 'minute'), true, "year is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 4, 2, 3, 4, 9, 10)), 'minute'), false, "month is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 2, 2, 3, 4, 9, 10)), 'minute'), true, "month is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 3, 3, 4, 9, 10)), 'minute'), false, "day is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 1, 3, 4, 9, 10)), 'minute'), true, "day is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 4, 4, 9, 10)), 'minute'), false, "hour is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 2, 4, 9, 10)), 'minute'), true, "hour is earler");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 5, 9, 10)), 'minute'), false, "minute is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 3, 9, 10)), 'minute'), true, "minute is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 0, 0)), 'minute'), false, "exact start of minute");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 59, 999)), 'minute'), false, "exact end of minute");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 5, 0, 0)), 'minute'), false, "start of next minute");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 3, 59, 999)), 'minute'), true, "end of previous minute");
|
||
test.equal(m.isAfter(m, 'minute'), false, "same moments are not after the same minute");
|
||
test.equal(+m, +mCopy, "isAfter minute should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is after second" : function (test) {
|
||
test.expect(20);
|
||
|
||
var m = moment(new Date(2011, 3, 2, 3, 4, 5, 10)), mCopy = moment(m);
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 5, 10)), 'second'), false, "second match");
|
||
test.equal(m.isAfter(moment(new Date(2010, 3, 2, 3, 4, 5, 10)), 'seconds'), true, "plural should work");
|
||
test.equal(m.isAfter(moment(new Date(2012, 3, 2, 3, 4, 5, 10)), 'second'), false, "year is later");
|
||
test.equal(m.isAfter(moment(new Date(2010, 3, 2, 3, 4, 5, 10)), 'second'), true, "year is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 4, 2, 3, 4, 5, 10)), 'second'), false, "month is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 2, 2, 3, 4, 5, 10)), 'second'), true, "month is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 3, 3, 4, 5, 10)), 'second'), false, "day is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 1, 1, 4, 5, 10)), 'second'), true, "day is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 4, 4, 5, 10)), 'second'), false, "hour is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 1, 4, 1, 5, 10)), 'second'), true, "hour is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 5, 5, 10)), 'second'), false, "minute is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 3, 5, 10)), 'second'), true, "minute is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 6, 10)), 'second'), false, "second is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 4, 5)), 'second'), true, "second is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 5, 0)), 'second'), false, "exact start of second");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 5, 999)), 'second'), false, "exact end of second");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 6, 0)), 'second'), false, "start of next second");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 4, 999)), 'second'), true, "end of previous second");
|
||
test.equal(m.isAfter(m, 'second'), false, "same moments are not after the same second");
|
||
test.equal(+m, +mCopy, "isAfter second should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is after millisecond" : function (test) {
|
||
test.expect(18);
|
||
|
||
var m = moment(new Date(2011, 3, 2, 3, 4, 5, 10)), mCopy = moment(m);
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 5, 10)), 'millisecond'), false, "millisecond match");
|
||
test.equal(m.isAfter(moment(new Date(2010, 3, 2, 3, 4, 5, 10)), 'milliseconds'), true, "plural should work");
|
||
test.equal(m.isAfter(moment(new Date(2012, 3, 2, 3, 4, 5, 10)), 'millisecond'), false, "year is later");
|
||
test.equal(m.isAfter(moment(new Date(2010, 3, 2, 3, 4, 5, 10)), 'millisecond'), true, "year is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 4, 2, 3, 4, 5, 10)), 'millisecond'), false, "month is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 2, 2, 3, 4, 5, 10)), 'millisecond'), true, "month is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 3, 3, 4, 5, 10)), 'millisecond'), false, "day is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 1, 1, 4, 5, 10)), 'millisecond'), true, "day is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 4, 4, 5, 10)), 'millisecond'), false, "hour is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 1, 4, 1, 5, 10)), 'millisecond'), true, "hour is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 5, 5, 10)), 'millisecond'), false, "minute is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 3, 5, 10)), 'millisecond'), true, "minute is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 6, 10)), 'millisecond'), false, "second is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 4, 5)), 'millisecond'), true, "second is earlier");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 6, 11)), 'millisecond'), false, "millisecond is later");
|
||
test.equal(m.isAfter(moment(new Date(2011, 3, 2, 3, 4, 4, 9)), 'millisecond'), true, "millisecond is earlier");
|
||
test.equal(m.isAfter(m, 'millisecond'), false, "same moments are not after the same millisecond");
|
||
test.equal(+m, +mCopy, "isAfter millisecond should not change moment");
|
||
test.done();
|
||
}
|
||
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.isBefore = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"is after without units" : function (test) {
|
||
test.expect(17);
|
||
|
||
var m = moment(new Date(2011, 3, 2, 3, 4, 5, 10)), mCopy = moment(m);
|
||
test.equal(m.isBefore(moment(new Date(2012, 3, 2, 3, 5, 5, 10))), true, "year is later");
|
||
test.equal(m.isBefore(moment(new Date(2010, 3, 2, 3, 3, 5, 10))), false, "year is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 4, 2, 3, 4, 5, 10))), true, "month is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 2, 2, 3, 4, 5, 10))), false, "month is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 3, 3, 4, 5, 10))), true, "day is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 1, 3, 4, 5, 10))), false, "day is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 4, 4, 5, 10))), true, "hour is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 2, 4, 5, 10))), false, "hour is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 5, 5, 10))), true, "minute is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 3, 5, 10))), false, "minute is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 6, 10))), true, "second is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 4, 11))), false, "second is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 5, 10))), false, "millisecond match");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 5, 11))), true, "millisecond is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 5, 9))), false, "millisecond is earlier");
|
||
test.equal(m.isBefore(m), false, "moments are not before themselves");
|
||
test.equal(+m, +mCopy, "isBefore second should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is before year" : function (test) {
|
||
test.expect(11);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)), mCopy = moment(m);
|
||
test.equal(m.isBefore(moment(new Date(2011, 5, 6, 7, 8, 9, 10)), 'year'), false, "year match");
|
||
test.equal(m.isBefore(moment(new Date(2012, 5, 6, 7, 8, 9, 10)), 'years'), true, "plural should work");
|
||
test.equal(m.isBefore(moment(new Date(2013, 5, 6, 7, 8, 9, 10)), 'year'), true, "year is later");
|
||
test.equal(m.isBefore(moment(new Date(2010, 5, 6, 7, 8, 9, 10)), 'year'), false, "year is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 0, 1, 0, 0, 0, 0)), 'year'), false, "exact start of year");
|
||
test.equal(m.isBefore(moment(new Date(2011, 11, 31, 23, 59, 59, 999)), 'year'), false, "exact end of year");
|
||
test.equal(m.isBefore(moment(new Date(2012, 0, 1, 0, 0, 0, 0)), 'year'), true, "start of next year");
|
||
test.equal(m.isBefore(moment(new Date(2010, 11, 31, 23, 59, 59, 999)), 'year'), false, "end of previous year");
|
||
test.equal(m.isBefore(moment(new Date(1980, 11, 31, 23, 59, 59, 999)), 'year'), false, "end of year far before");
|
||
test.equal(m.isBefore(m, 'year'), false, "same moments are not before the same year");
|
||
test.equal(+m, +mCopy, "isBefore year should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is before month" : function (test) {
|
||
test.expect(13);
|
||
|
||
var m = moment(new Date(2011, 2, 3, 4, 5, 6, 7)), mCopy = moment(m);
|
||
test.equal(m.isBefore(moment(new Date(2011, 2, 6, 7, 8, 9, 10)), 'month'), false, "month match");
|
||
test.equal(m.isBefore(moment(new Date(2012, 2, 6, 7, 8, 9, 10)), 'months'), true, "plural should work");
|
||
test.equal(m.isBefore(moment(new Date(2012, 2, 6, 7, 8, 9, 10)), 'month'), true, "year is later");
|
||
test.equal(m.isBefore(moment(new Date(2010, 2, 6, 7, 8, 9, 10)), 'month'), false, "year is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 5, 6, 7, 8, 9, 10)), 'month'), true, "month is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 1, 6, 7, 8, 9, 10)), 'month'), false, "month is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 2, 1, 0, 0, 0, 0)), 'month'), false, "exact start of month");
|
||
test.equal(m.isBefore(moment(new Date(2011, 2, 31, 23, 59, 59, 999)), 'month'), false, "exact end of month");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 1, 0, 0, 0, 0)), 'month'), true, "start of next month");
|
||
test.equal(m.isBefore(moment(new Date(2011, 1, 27, 23, 59, 59, 999)), 'month'), false, "end of previous month");
|
||
test.equal(m.isBefore(moment(new Date(2010, 12, 31, 23, 59, 59, 999)), 'month'), false, "later month but earlier year");
|
||
test.equal(m.isBefore(m, 'month'), false, "same moments are not before the same month");
|
||
test.equal(+m, +mCopy, "isBefore month should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is before day" : function (test) {
|
||
test.expect(15);
|
||
|
||
var m = moment(new Date(2011, 3, 2, 3, 4, 5, 6)), mCopy = moment(m);
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 7, 8, 9, 10)), 'day'), false, "day match");
|
||
test.equal(m.isBefore(moment(new Date(2012, 3, 2, 7, 8, 9, 10)), 'days'), true, "plural should work");
|
||
test.equal(m.isBefore(moment(new Date(2012, 3, 2, 7, 8, 9, 10)), 'day'), true, "year is later");
|
||
test.equal(m.isBefore(moment(new Date(2010, 3, 2, 7, 8, 9, 10)), 'day'), false, "year is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 4, 2, 7, 8, 9, 10)), 'day'), true, "month is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 2, 2, 7, 8, 9, 10)), 'day'), false, "month is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 3, 7, 8, 9, 10)), 'day'), true, "day is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 1, 7, 8, 9, 10)), 'day'), false, "day is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 0, 0, 0, 0)), 'day'), false, "exact start of day");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 23, 59, 59, 999)), 'day'), false, "exact end of day");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 3, 0, 0, 0, 0)), 'day'), true, "start of next day");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 1, 23, 59, 59, 999)), 'day'), false, "end of previous day");
|
||
test.equal(m.isBefore(moment(new Date(2010, 3, 10, 0, 0, 0, 0)), 'day'), false, "later day but earlier year");
|
||
test.equal(m.isBefore(m, 'day'), false, "same moments are not before the same day");
|
||
test.equal(+m, +mCopy, "isBefore day should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is before hour" : function (test) {
|
||
test.expect(16);
|
||
|
||
var m = moment(new Date(2011, 3, 2, 3, 4, 5, 6)), mCopy = moment(m);
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 8, 9, 10)), 'hour'), false, "hour match");
|
||
test.equal(m.isBefore(moment(new Date(2012, 3, 2, 3, 8, 9, 10)), 'hours'), true, "plural should work");
|
||
test.equal(m.isBefore(moment(new Date(2012, 3, 2, 3, 8, 9, 10)), 'hour'), true, "year is later");
|
||
test.equal(m.isBefore(moment(new Date(2010, 3, 2, 3, 8, 9, 10)), 'hour'), false, "year is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 4, 2, 3, 8, 9, 10)), 'hour'), true, "month is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 1, 2, 3, 8, 9, 10)), 'hour'), false, "month is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 3, 3, 8, 9, 10)), 'hour'), true, "day is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 1, 3, 8, 9, 10)), 'hour'), false, "day is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 4, 8, 9, 10)), 'hour'), true, "hour is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 8, 9, 10)), 'hour'), false, "hour is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 0, 0, 0)), 'hour'), false, "exact start of hour");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 59, 59, 999)), 'hour'), false, "exact end of hour");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 4, 0, 0, 0)), 'hour'), true, "start of next hour");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 2, 59, 59, 999)), 'hour'), false, "end of previous hour");
|
||
test.equal(m.isBefore(m, 'hour'), false, "same moments are not before the same hour");
|
||
test.equal(+m, +mCopy, "isBefore hour should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is before minute" : function (test) {
|
||
test.expect(18);
|
||
|
||
var m = moment(new Date(2011, 3, 2, 3, 4, 5, 6)), mCopy = moment(m);
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 9, 10)), 'minute'), false, "minute match");
|
||
test.equal(m.isBefore(moment(new Date(2012, 3, 2, 3, 4, 9, 10)), 'minutes'), true, "plural should work");
|
||
test.equal(m.isBefore(moment(new Date(2012, 3, 2, 3, 4, 9, 10)), 'minute'), true, "year is later");
|
||
test.equal(m.isBefore(moment(new Date(2010, 3, 2, 3, 4, 9, 10)), 'minute'), false, "year is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 4, 2, 3, 4, 9, 10)), 'minute'), true, "month is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 2, 2, 3, 4, 9, 10)), 'minute'), false, "month is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 3, 3, 4, 9, 10)), 'minute'), true, "day is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 1, 3, 4, 9, 10)), 'minute'), false, "day is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 4, 4, 9, 10)), 'minute'), true, "hour is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 2, 4, 9, 10)), 'minute'), false, "hour is earler");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 5, 9, 10)), 'minute'), true, "minute is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 3, 9, 10)), 'minute'), false, "minute is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 0, 0)), 'minute'), false, "exact start of minute");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 59, 999)), 'minute'), false, "exact end of minute");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 5, 0, 0)), 'minute'), true, "start of next minute");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 3, 59, 999)), 'minute'), false, "end of previous minute");
|
||
test.equal(m.isBefore(m, 'minute'), false, "same moments are not before the same minute");
|
||
test.equal(+m, +mCopy, "isBefore minute should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is before second" : function (test) {
|
||
test.expect(20);
|
||
|
||
var m = moment(new Date(2011, 3, 2, 3, 4, 5, 10)), mCopy = moment(m);
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 5, 10)), 'second'), false, "second match");
|
||
test.equal(m.isBefore(moment(new Date(2012, 3, 2, 3, 4, 5, 10)), 'seconds'), true, "plural should work");
|
||
test.equal(m.isBefore(moment(new Date(2012, 3, 2, 3, 4, 5, 10)), 'second'), true, "year is later");
|
||
test.equal(m.isBefore(moment(new Date(2010, 3, 2, 3, 4, 5, 10)), 'second'), false, "year is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 4, 2, 3, 4, 5, 10)), 'second'), true, "month is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 2, 2, 3, 4, 5, 10)), 'second'), false, "month is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 3, 3, 4, 5, 10)), 'second'), true, "day is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 1, 1, 4, 5, 10)), 'second'), false, "day is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 4, 4, 5, 10)), 'second'), true, "hour is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 1, 4, 1, 5, 10)), 'second'), false, "hour is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 5, 5, 10)), 'second'), true, "minute is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 3, 5, 10)), 'second'), false, "minute is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 6, 10)), 'second'), true, "second is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 4, 5)), 'second'), false, "second is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 5, 0)), 'second'), false, "exact start of second");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 5, 999)), 'second'), false, "exact end of second");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 6, 0)), 'second'), true, "start of next second");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 4, 999)), 'second'), false, "end of previous second");
|
||
test.equal(m.isBefore(m, 'second'), false, "same moments are not before the same second");
|
||
test.equal(+m, +mCopy, "isBefore second should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is before millisecond" : function (test) {
|
||
test.expect(18);
|
||
|
||
var m = moment(new Date(2011, 3, 2, 3, 4, 5, 10)), mCopy = moment(m);
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 5, 10)), 'millisecond'), false, "millisecond match");
|
||
test.equal(m.isBefore(moment(new Date(2010, 3, 2, 3, 4, 5, 10)), 'milliseconds'), false, "plural should work");
|
||
test.equal(m.isBefore(moment(new Date(2012, 3, 2, 3, 4, 5, 10)), 'millisecond'), true, "year is later");
|
||
test.equal(m.isBefore(moment(new Date(2010, 3, 2, 3, 4, 5, 10)), 'millisecond'), false, "year is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 4, 2, 3, 4, 5, 10)), 'millisecond'), true, "month is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 2, 2, 3, 4, 5, 10)), 'millisecond'), false, "month is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 3, 3, 4, 5, 10)), 'millisecond'), true, "day is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 1, 1, 4, 5, 10)), 'millisecond'), false, "day is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 4, 4, 5, 10)), 'millisecond'), true, "hour is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 1, 4, 1, 5, 10)), 'millisecond'), false, "hour is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 5, 5, 10)), 'millisecond'), true, "minute is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 3, 5, 10)), 'millisecond'), false, "minute is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 6, 10)), 'millisecond'), true, "second is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 4, 5)), 'millisecond'), false, "second is earlier");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 6, 11)), 'millisecond'), true, "millisecond is later");
|
||
test.equal(m.isBefore(moment(new Date(2011, 3, 2, 3, 4, 4, 9)), 'millisecond'), false, "millisecond is earlier");
|
||
test.equal(m.isBefore(m, 'millisecond'), false, "same moments are not before the same millisecond");
|
||
test.equal(+m, +mCopy, "isBefore millisecond should not change moment");
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require('../../moment');
|
||
|
||
exports.isMoment = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"is moment object": function (test) {
|
||
test.expect(13);
|
||
|
||
var MyObj = function () {},
|
||
extend = function (a, b) {
|
||
var i;
|
||
for (i in b) {
|
||
a[i] = b[i];
|
||
}
|
||
return a;
|
||
};
|
||
MyObj.prototype.toDate = function () {
|
||
return new Date();
|
||
};
|
||
|
||
test.ok(moment.isMoment(moment()), 'simple moment object');
|
||
test.ok(moment.isMoment(moment(null)), 'invalid moment object');
|
||
test.ok(moment.isMoment(extend({}, moment())), 'externally cloned moments are moments');
|
||
test.ok(moment.isMoment(extend({}, moment.utc())), 'externally cloned utc moments are moments');
|
||
|
||
test.ok(!moment.isMoment(new MyObj()), 'myObj is not moment object');
|
||
test.ok(!moment.isMoment(moment), 'moment function is not moment object');
|
||
test.ok(!moment.isMoment(new Date()), 'date object is not moment object');
|
||
test.ok(!moment.isMoment(Object), 'Object is not moment object');
|
||
test.ok(!moment.isMoment('foo'), 'string is not moment object');
|
||
test.ok(!moment.isMoment(1), 'number is not moment object');
|
||
test.ok(!moment.isMoment(NaN), 'NaN is not moment object');
|
||
test.ok(!moment.isMoment(null), 'null is not moment object');
|
||
test.ok(!moment.isMoment(undefined), 'undefined is not moment object');
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.isSame = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"is same without units" : function (test) {
|
||
test.expect(17);
|
||
|
||
var m = moment(new Date(2011, 3, 2, 3, 4, 5, 10)), mCopy = moment(m);
|
||
test.equal(m.isSame(moment(new Date(2012, 3, 2, 3, 5, 5, 10))), false, "year is later");
|
||
test.equal(m.isSame(moment(new Date(2010, 3, 2, 3, 3, 5, 10))), false, "year is earlier");
|
||
test.equal(m.isSame(moment(new Date(2011, 4, 2, 3, 4, 5, 10))), false, "month is later");
|
||
test.equal(m.isSame(moment(new Date(2011, 2, 2, 3, 4, 5, 10))), false, "month is earlier");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 3, 3, 4, 5, 10))), false, "day is later");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 1, 3, 4, 5, 10))), false, "day is earlier");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 4, 4, 5, 10))), false, "hour is later");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 2, 4, 5, 10))), false, "hour is earlier");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 3, 5, 5, 10))), false, "minute is later");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 3, 3, 5, 10))), false, "minute is earlier");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 3, 4, 6, 10))), false, "second is later");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 3, 4, 4, 11))), false, "second is earlier");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 3, 4, 5, 10))), true, "millisecond match");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 3, 4, 5, 11))), false, "millisecond is later");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 3, 4, 5, 9))), false, "millisecond is earlier");
|
||
test.equal(m.isSame(m), true, "moments are the same as themselves");
|
||
test.equal(+m, +mCopy, "isSame second should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is same year" : function (test) {
|
||
test.expect(9);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)), mCopy = moment(m);
|
||
test.equal(m.isSame(moment(new Date(2011, 5, 6, 7, 8, 9, 10)), 'year'), true, "year match");
|
||
test.equal(m.isSame(moment(new Date(2011, 5, 6, 7, 8, 9, 10)), 'years'), true, "plural should work");
|
||
test.equal(m.isSame(moment(new Date(2012, 5, 6, 7, 8, 9, 10)), 'year'), false, "year mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 0, 1, 0, 0, 0, 0)), 'year'), true, "exact start of year");
|
||
test.equal(m.isSame(moment(new Date(2011, 11, 31, 23, 59, 59, 999)), 'year'), true, "exact end of year");
|
||
test.equal(m.isSame(moment(new Date(2012, 0, 1, 0, 0, 0, 0)), 'year'), false, "start of next year");
|
||
test.equal(m.isSame(moment(new Date(2010, 11, 31, 23, 59, 59, 999)), 'year'), false, "end of previous year");
|
||
test.equal(m.isSame(m, 'year'), true, "same moments are in the same year");
|
||
test.equal(+m, +mCopy, "isSame year should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is same month" : function (test) {
|
||
test.expect(10);
|
||
|
||
var m = moment(new Date(2011, 2, 3, 4, 5, 6, 7)), mCopy = moment(m);
|
||
test.equal(m.isSame(moment(new Date(2011, 2, 6, 7, 8, 9, 10)), 'month'), true, "month match");
|
||
test.equal(m.isSame(moment(new Date(2011, 2, 6, 7, 8, 9, 10)), 'months'), true, "plural should work");
|
||
test.equal(m.isSame(moment(new Date(2012, 2, 6, 7, 8, 9, 10)), 'month'), false, "year mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 5, 6, 7, 8, 9, 10)), 'month'), false, "month mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 2, 1, 0, 0, 0, 0)), 'month'), true, "exact start of month");
|
||
test.equal(m.isSame(moment(new Date(2011, 2, 31, 23, 59, 59, 999)), 'month'), true, "exact end of month");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 1, 0, 0, 0, 0)), 'month'), false, "start of next month");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 27, 23, 59, 59, 999)), 'month'), false, "end of previous month");
|
||
test.equal(m.isSame(m, 'month'), true, "same moments are in the same month");
|
||
test.equal(+m, +mCopy, "isSame month should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is same day" : function (test) {
|
||
test.expect(11);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)), mCopy = moment(m);
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 7, 8, 9, 10)), 'day'), true, "day match");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 7, 8, 9, 10)), 'days'), true, "plural should work");
|
||
test.equal(m.isSame(moment(new Date(2012, 1, 2, 7, 8, 9, 10)), 'day'), false, "year mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 2, 2, 7, 8, 9, 10)), 'day'), false, "month mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 3, 7, 8, 9, 10)), 'day'), false, "day mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 0, 0, 0, 0)), 'day'), true, "exact start of day");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 23, 59, 59, 999)), 'day'), true, "exact end of day");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 3, 0, 0, 0, 0)), 'day'), false, "start of next day");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 1, 23, 59, 59, 999)), 'day'), false, "end of previous day");
|
||
test.equal(m.isSame(m, 'day'), true, "same moments are in the same day");
|
||
test.equal(+m, +mCopy, "isSame day should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is same hour" : function (test) {
|
||
test.expect(12);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)), mCopy = moment(m);
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 8, 9, 10)), 'hour'), true, "hour match");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 8, 9, 10)), 'hours'), true, "plural should work");
|
||
test.equal(m.isSame(moment(new Date(2012, 1, 2, 3, 8, 9, 10)), 'hour'), false, "year mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 2, 2, 3, 8, 9, 10)), 'hour'), false, "month mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 3, 3, 8, 9, 10)), 'hour'), false, "day mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 4, 8, 9, 10)), 'hour'), false, "hour mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 0, 0, 0)), 'hour'), true, "exact start of hour");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 59, 59, 999)), 'hour'), true, "exact end of hour");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 4, 0, 0, 0)), 'hour'), false, "start of next hour");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 2, 59, 59, 999)), 'hour'), false, "end of previous hour");
|
||
test.equal(m.isSame(m, 'hour'), true, "same moments are in the same hour");
|
||
test.equal(+m, +mCopy, "isSame hour should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is same minute" : function (test) {
|
||
test.expect(13);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)), mCopy = moment(m);
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 4, 9, 10)), 'minute'), true, "minute match");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 4, 9, 10)), 'minutes'), true, "plural should work");
|
||
test.equal(m.isSame(moment(new Date(2012, 1, 2, 3, 4, 9, 10)), 'minute'), false, "year mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 2, 2, 3, 4, 9, 10)), 'minute'), false, "month mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 3, 3, 4, 9, 10)), 'minute'), false, "day mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 4, 4, 9, 10)), 'minute'), false, "hour mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 5, 9, 10)), 'minute'), false, "minute mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 4, 0, 0)), 'minute'), true, "exact start of minute");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 4, 59, 999)), 'minute'), true, "exact end of minute");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 5, 0, 0)), 'minute'), false, "start of next minute");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 3, 59, 999)), 'minute'), false, "end of previous minute");
|
||
test.equal(m.isSame(m, 'minute'), true, "same moments are in the same minute");
|
||
test.equal(+m, +mCopy, "isSame minute should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is same second" : function (test) {
|
||
test.expect(14);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)), mCopy = moment(m);
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 4, 5, 10)), 'second'), true, "second match");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 4, 5, 10)), 'seconds'), true, "plural should work");
|
||
test.equal(m.isSame(moment(new Date(2012, 1, 2, 3, 4, 5, 10)), 'second'), false, "year mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 2, 2, 3, 4, 5, 10)), 'second'), false, "month mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 3, 3, 4, 5, 10)), 'second'), false, "day mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 4, 4, 5, 10)), 'second'), false, "hour mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 5, 5, 10)), 'second'), false, "minute mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 4, 6, 10)), 'second'), false, "second mismatch");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 4, 5, 0)), 'second'), true, "exact start of second");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 4, 5, 999)), 'second'), true, "exact end of second");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 4, 6, 0)), 'second'), false, "start of next second");
|
||
test.equal(m.isSame(moment(new Date(2011, 1, 2, 3, 4, 4, 999)), 'second'), false, "end of previous second");
|
||
test.equal(m.isSame(m, 'second'), true, "same moments are in the same second");
|
||
test.equal(+m, +mCopy, "isSame second should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is same millisecond" : function (test) {
|
||
test.expect(18);
|
||
|
||
var m = moment(new Date(2011, 3, 2, 3, 4, 5, 10)), mCopy = moment(m);
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 3, 4, 5, 10)), 'millisecond'), true, "millisecond match");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 3, 4, 5, 10)), 'milliseconds'), true, "plural should work");
|
||
test.equal(m.isSame(moment(new Date(2012, 3, 2, 3, 4, 5, 10)), 'millisecond'), false, "year is later");
|
||
test.equal(m.isSame(moment(new Date(2010, 3, 2, 3, 4, 5, 10)), 'millisecond'), false, "year is earlier");
|
||
test.equal(m.isSame(moment(new Date(2011, 4, 2, 3, 4, 5, 10)), 'millisecond'), false, "month is later");
|
||
test.equal(m.isSame(moment(new Date(2011, 2, 2, 3, 4, 5, 10)), 'millisecond'), false, "month is earlier");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 3, 3, 4, 5, 10)), 'millisecond'), false, "day is later");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 1, 1, 4, 5, 10)), 'millisecond'), false, "day is earlier");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 4, 4, 5, 10)), 'millisecond'), false, "hour is later");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 1, 4, 1, 5, 10)), 'millisecond'), false, "hour is earlier");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 3, 5, 5, 10)), 'millisecond'), false, "minute is later");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 3, 3, 5, 10)), 'millisecond'), false, "minute is earlier");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 3, 4, 6, 10)), 'millisecond'), false, "second is later");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 3, 4, 4, 5)), 'millisecond'), false, "second is earlier");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 3, 4, 6, 11)), 'millisecond'), false, "millisecond is later");
|
||
test.equal(m.isSame(moment(new Date(2011, 3, 2, 3, 4, 4, 9)), 'millisecond'), false, "millisecond is earlier");
|
||
test.equal(m.isSame(m, 'millisecond'), true, "same moments are in the same millisecond");
|
||
test.equal(+m, +mCopy, "isSame millisecond should not change moment");
|
||
test.done();
|
||
},
|
||
|
||
"is same with zone'd moments" : function (test) {
|
||
test.expect(3);
|
||
test.ok(moment.parseZone('2013-02-01T-05:00').isSame(moment('2013-02-01'), 'year'), "zoned vs local moment");
|
||
test.ok(moment('2013-02-01').isSame(moment('2013-02-01').zone('-05:00'), 'year'), "local vs zoned moment");
|
||
test.ok(moment.parseZone('2013-02-01T-05:00').isSame(moment.parseZone('2013-02-01T-06:30'), 'year'),
|
||
"zoned vs (differently) zoned moment");
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.isValid = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"array bad month" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment([2010, -1]).isValid(), false, 'month -1 invalid');
|
||
test.equal(moment([2100, 12]).isValid(), false, 'month 12 invalid');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"array good month" : function (test) {
|
||
test.expect(12 * 2);
|
||
|
||
for (var i = 0; i < 12; i++) {
|
||
test.equal(moment([2010, i]).isValid(), true, 'month ' + i);
|
||
test.equal(moment.utc([2010, i]).isValid(), true, 'month ' + i);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"array bad date" : function (test) {
|
||
var tests = [
|
||
moment([2010, 0, 0]),
|
||
moment([2100, 0, 32]),
|
||
moment.utc([2010, 0, 0]),
|
||
moment.utc([2100, 0, 32])
|
||
],
|
||
i, m;
|
||
|
||
test.expect(tests.length);
|
||
|
||
for (i in tests) {
|
||
m = tests[i];
|
||
test.equal(m.isValid(), false);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"array bad date leap year" : function (test) {
|
||
test.expect(8);
|
||
|
||
test.equal(moment([2010, 1, 29]).isValid(), false, '2010 feb 29');
|
||
test.equal(moment([2100, 1, 29]).isValid(), false, '2100 feb 29');
|
||
test.equal(moment([2008, 1, 30]).isValid(), false, '2008 feb 30');
|
||
test.equal(moment([2000, 1, 30]).isValid(), false, '2000 feb 30');
|
||
|
||
test.equal(moment.utc([2010, 1, 29]).isValid(), false, 'utc 2010 feb 29');
|
||
test.equal(moment.utc([2100, 1, 29]).isValid(), false, 'utc 2100 feb 29');
|
||
test.equal(moment.utc([2008, 1, 30]).isValid(), false, 'utc 2008 feb 30');
|
||
test.equal(moment.utc([2000, 1, 30]).isValid(), false, 'utc 2000 feb 30');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"string + formats bad date" : function (test) {
|
||
test.equal(moment('2020-00-00', []).isValid(), false, 'invalid on empty array');
|
||
test.equal(moment('2020-00-00', ['YYYY-MM-DD', 'DD-MM-YYYY']).isValid(), false, 'invalid on all in array');
|
||
test.equal(moment('2020-00-00', ['DD-MM-YYYY', 'YYYY-MM-DD']).isValid(), false, 'invalid on all in array');
|
||
test.equal(moment('2020-01-01', ['YYYY-MM-DD', 'DD-MM-YYYY']).isValid(), true, 'valid on first');
|
||
test.equal(moment('2020-01-01', ['DD-MM-YYYY', 'YYYY-MM-DD']).isValid(), true, 'valid on last');
|
||
test.equal(moment('2020-01-01', ['YYYY-MM-DD', 'YYYY-DD-MM']).isValid(), true, 'valid on both');
|
||
test.equal(moment('2020-13-01', ['YYYY-MM-DD', 'YYYY-DD-MM']).isValid(), true, 'valid on last');
|
||
|
||
test.equal(moment('12-13-2012', ['DD-MM-YYYY', 'YYYY-MM-DD']).isValid(), false, 'month rollover');
|
||
test.equal(moment('12-13-2012', ['DD-MM-YYYY', 'DD-MM-YYYY']).isValid(), false, 'month rollover');
|
||
test.equal(moment('38-12-2012', ['DD-MM-YYYY']).isValid(), false, 'day rollover');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"string nonsensical with format" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment('fail', "MM-DD-YYYY").isValid(), false, 'string "fail" with format "MM-DD-YYYY"');
|
||
test.equal(moment("xx-xx-2001", 'DD-MM-YYY').isValid(), true, 'string "xx-xx-2001" with format "MM-DD-YYYY"');
|
||
test.done();
|
||
},
|
||
|
||
"string with bad month name" : function (test) {
|
||
test.expect(2);
|
||
|
||
moment.lang('en');
|
||
|
||
test.equal(moment('01-Nam-2012', 'DD-MMM-YYYY').isValid(), false, '"Nam" is an invalid month');
|
||
test.equal(moment('01-Aug-2012', 'DD-MMM-YYYY').isValid(), true, '"Aug" is a valid month');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"string with spaceless format" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.equal(moment('10Sep2001', 'DDMMMYYYY').isValid(), true, "Parsing 10Sep2001 should result in a valid date");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"invalid string iso 8601" : function (test) {
|
||
|
||
var tests = [
|
||
'2010-00-00',
|
||
'2010-01-00',
|
||
'2010-01-40',
|
||
'2010-01-01T24',
|
||
'2010-01-01T23:60',
|
||
'2010-01-01T23:59:60'
|
||
], i;
|
||
|
||
test.expect(tests.length * 2);
|
||
|
||
for (i = 0; i < tests.length; i++) {
|
||
test.equal(moment(tests[i]).isValid(), false, tests[i] + ' should be invalid');
|
||
test.equal(moment.utc(tests[i]).isValid(), false, tests[i] + ' should be invalid');
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"invalid string iso 8601 + timezone" : function (test) {
|
||
|
||
var tests = [
|
||
'2010-00-00T+00:00',
|
||
'2010-01-00T+00:00',
|
||
'2010-01-40T+00:00',
|
||
'2010-01-40T24+00:00',
|
||
'2010-01-40T23:60+00:00',
|
||
'2010-01-40T23:59:60+00:00',
|
||
'2010-01-40T23:59:59.9999+00:00'
|
||
], i;
|
||
|
||
test.expect(tests.length * 2);
|
||
|
||
for (i = 0; i < tests.length; i++) {
|
||
test.equal(moment(tests[i]).isValid(), false, tests[i] + ' should be invalid');
|
||
test.equal(moment.utc(tests[i]).isValid(), false, tests[i] + ' should be invalid');
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"valid string iso 8601 + timezone" : function (test) {
|
||
var tests = [
|
||
'2010-01-01',
|
||
'2010-01-30',
|
||
'2010-01-30T23+00:00',
|
||
'2010-01-30T23:59+00:00',
|
||
'2010-01-30T23:59:59+00:00',
|
||
'2010-01-30T23:59:59.999+00:00',
|
||
'2010-01-30T23:59:59.999-07:00',
|
||
'2010-01-30T00:00:00.000+07:00',
|
||
'2010-01-30T00:00:00.000+07'
|
||
], i;
|
||
|
||
test.expect(tests.length * 2);
|
||
|
||
for (i = 0; i < tests.length; i++) {
|
||
test.equal(moment(tests[i]).isValid(), true, tests[i] + ' should be valid');
|
||
test.equal(moment.utc(tests[i]).isValid(), true, tests[i] + ' should be valid');
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"invalidAt" : function (test) {
|
||
test.expect(7);
|
||
test.equal(moment([2000, 12]).invalidAt(), 1, 'month 12 is invalid: 0-11');
|
||
test.equal(moment([2000, 1, 30]).invalidAt(), 2, '30 is not a valid february day');
|
||
test.equal(moment([2000, 1, 29, 24]).invalidAt(), 3, '24 is invalid hour');
|
||
test.equal(moment([2000, 1, 29, 23, 60]).invalidAt(), 4, '60 is invalid minute');
|
||
test.equal(moment([2000, 1, 29, 23, 59, 60]).invalidAt(), 5, '60 is invalid second');
|
||
test.equal(moment([2000, 1, 29, 23, 59, 59, 1000]).invalidAt(), 6, '1000 is invalid millisecond');
|
||
test.equal(moment([2000, 1, 29, 23, 59, 59, 999]).invalidAt(), -1, '-1 if everything is fine');
|
||
test.done();
|
||
},
|
||
|
||
"valid Unix timestamp" : function (test) {
|
||
test.expect(21);
|
||
test.equal(moment(1371065286, "X").isValid(), true, 'number integer');
|
||
test.equal(moment(1379066897.0, "X").isValid(), true, 'number whole 1dp');
|
||
test.equal(moment(1379066897.7, "X").isValid(), true, 'number 1dp');
|
||
test.equal(moment(1379066897.00, "X").isValid(), true, 'number whole 2dp');
|
||
test.equal(moment(1379066897.07, "X").isValid(), true, 'number 2dp');
|
||
test.equal(moment(1379066897.17, "X").isValid(), true, 'number 2dp');
|
||
test.equal(moment(1379066897.000, "X").isValid(), true, 'number whole 3dp');
|
||
test.equal(moment(1379066897.007, "X").isValid(), true, 'number 3dp');
|
||
test.equal(moment(1379066897.017, "X").isValid(), true, 'number 3dp');
|
||
test.equal(moment(1379066897.157, "X").isValid(), true, 'number 3dp');
|
||
test.equal(moment("1371065286", "X").isValid(), true, 'string integer');
|
||
test.equal(moment("1379066897.", "X").isValid(), true, 'string trailing .');
|
||
test.equal(moment("1379066897.0", "X").isValid(), true, 'string whole 1dp');
|
||
test.equal(moment("1379066897.7", "X").isValid(), true, 'string 1dp');
|
||
test.equal(moment("1379066897.00", "X").isValid(), true, 'string whole 2dp');
|
||
test.equal(moment("1379066897.07", "X").isValid(), true, 'string 2dp');
|
||
test.equal(moment("1379066897.17", "X").isValid(), true, 'string 2dp');
|
||
test.equal(moment("1379066897.000", "X").isValid(), true, 'string whole 3dp');
|
||
test.equal(moment("1379066897.007", "X").isValid(), true, 'string 3dp');
|
||
test.equal(moment("1379066897.017", "X").isValid(), true, 'string 3dp');
|
||
test.equal(moment("1379066897.157", "X").isValid(), true, 'string 3dp');
|
||
test.done();
|
||
},
|
||
|
||
"invalid Unix timestamp" : function (test) {
|
||
test.expect(8);
|
||
test.equal(moment(undefined, "X").isValid(), false, 'undefined');
|
||
test.equal(moment("undefined", "X").isValid(), false, 'string undefined');
|
||
try {
|
||
test.equal(moment(null, "X").isValid(), false, 'null');
|
||
} catch (e) {
|
||
test.ok(true, 'null');
|
||
}
|
||
|
||
test.equal(moment("null", "X").isValid(), false, 'string null');
|
||
test.equal(moment([], "X").isValid(), false, 'array');
|
||
test.equal(moment("{}", "X").isValid(), false, 'object');
|
||
try {
|
||
test.equal(moment("", "X").isValid(), false, 'string empty');
|
||
} catch (e) {
|
||
test.ok(true, 'string empty');
|
||
}
|
||
|
||
test.equal(moment(" ", "X").isValid(), false, 'string space');
|
||
test.done();
|
||
},
|
||
|
||
"empty" : function (test) {
|
||
test.equal(moment(null).isValid(), false, 'null');
|
||
test.equal(moment('').isValid(), false, 'empty string');
|
||
|
||
test.equal(moment(null, 'YYYY').isValid(), false, 'format + null');
|
||
test.equal(moment('', 'YYYY').isValid(), false, 'format + empty string');
|
||
test.equal(moment(' ', 'YYYY').isValid(), false, 'format + empty when trimmed');
|
||
test.done();
|
||
},
|
||
|
||
"days of the year" : function (test) {
|
||
test.equal(moment('2010 300', 'YYYY DDDD').isValid(), true, 'day 300 of year valid');
|
||
test.equal(moment('2010 365', 'YYYY DDDD').isValid(), true, 'day 365 of year valid');
|
||
test.equal(moment('2010 366', 'YYYY DDDD').isValid(), false, 'day 366 of year invalid');
|
||
test.equal(moment('2012 365', 'YYYY DDDD').isValid(), true, 'day 365 of leap year valid');
|
||
test.equal(moment('2012 366', 'YYYY DDDD').isValid(), true, 'day 366 of leap year valid');
|
||
test.equal(moment('2012 367', 'YYYY DDDD').isValid(), false, 'day 367 of leap year invalid');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"oddball permissiveness" : function (test) {
|
||
//https://github.com/moment/moment/issues/1128
|
||
test.ok(moment("2010-10-3199", ["MM/DD/YYYY", "MM-DD-YYYY", "YYYY-MM-DD"]).isValid());
|
||
|
||
//https://github.com/moment/moment/issues/1122
|
||
test.ok(moment("3:25", ["h:mma", "hh:mma", "H:mm", "HH:mm"]).isValid());
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.lang = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"library getter" : function (test) {
|
||
var r;
|
||
test.expect(8);
|
||
|
||
r = moment.lang('en');
|
||
test.equal(r, 'en', 'Lang should return en by default');
|
||
test.equal(moment.lang(), 'en', 'Lang should return en by default');
|
||
|
||
moment.lang('fr');
|
||
test.equal(moment.lang(), 'fr', 'Lang should return the changed language');
|
||
|
||
moment.lang('en-gb');
|
||
test.equal(moment.lang(), 'en-gb', 'Lang should return the changed language');
|
||
|
||
moment.lang('en');
|
||
test.equal(moment.lang(), 'en', 'Lang should reset');
|
||
|
||
moment.lang('does-not-exist');
|
||
test.equal(moment.lang(), 'en', 'Lang should reset');
|
||
|
||
moment.lang('EN');
|
||
test.equal(moment.lang(), 'en', 'Normalize language key case');
|
||
|
||
moment.lang('EN_gb');
|
||
test.equal(moment.lang(), 'en-gb', 'Normalize language key underscore');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"library getter array of langs" : function (test) {
|
||
test.equal(moment.lang(['non-existent', 'fr', 'also-non-existent']), 'fr', "passing an array uses the first valid language");
|
||
test.equal(moment.lang(['es', 'fr', 'also-non-existent']), 'es', "passing an array uses the first valid language");
|
||
test.done();
|
||
},
|
||
|
||
"library getter language substrings" : function (test) {
|
||
test.equal(moment.lang('fr-crap'), 'fr', "use substrings");
|
||
test.equal(moment.lang('fr-does-not-exist'), 'fr', "uses deep substrings");
|
||
test.equal(moment.lang('fr-CA-does-not-exist'), 'fr-ca', "uses deepest substring");
|
||
test.done();
|
||
},
|
||
|
||
"library getter language array and substrings" : function (test) {
|
||
test.equal(moment.lang(['en-CH', 'fr']), 'en', "prefer root languages to shallower ones");
|
||
test.equal(moment.lang(['en-gb-leeds', 'en-CA']), 'en-gb', "prefer root languages to shallower ones");
|
||
test.equal(moment.lang(['en-fake', 'en-CA']), 'en-ca', "prefer alternatives with shared roots");
|
||
test.equal(moment.lang(['en-fake', 'en-fake2', 'en-ca']), 'en-ca', "prefer alternatives with shared roots");
|
||
test.equals(moment.lang(['fake-CA', 'fake-MX', 'fr']), 'fr', "always find something if possible");
|
||
test.equals(moment.lang(['fake-CA', 'fake-MX', 'fr']), 'fr', "always find something if possible");
|
||
test.equals(moment.lang(['fake-CA', 'fake-MX', 'fr-fake-fake-fake']), 'fr', "always find something if possible");
|
||
test.equals(moment.lang(['en', 'en-CA']), 'en', "prefer earlier if it works");
|
||
test.done();
|
||
},
|
||
|
||
"library ensure inheritance" : function (test) {
|
||
test.expect(2);
|
||
|
||
moment.lang('made-up', {
|
||
// I put them out of order
|
||
months : "February_March_April_May_June_July_August_September_October_November_December_January".split("_")
|
||
// the rest of the properties should be inherited.
|
||
});
|
||
|
||
test.equal(moment([2012, 5, 6]).format('MMMM'), 'July', 'Override some of the configs');
|
||
test.equal(moment([2012, 5, 6]).format('MMM'), 'Jun', 'But not all of them');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"library ensure inheritance LT L LL LLL LLLL" : function (test) {
|
||
test.expect(5);
|
||
|
||
var lang = 'test-inherit-lt';
|
||
|
||
moment.lang(lang, {
|
||
longDateFormat : {
|
||
LT : "-[LT]-",
|
||
L : "-[L]-",
|
||
LL : "-[LL]-",
|
||
LLL : "-[LLL]-",
|
||
LLLL : "-[LLLL]-"
|
||
},
|
||
calendar : {
|
||
sameDay : '[sameDay] LT',
|
||
nextDay : '[nextDay] L',
|
||
nextWeek : '[nextWeek] LL',
|
||
lastDay : '[lastDay] LLL',
|
||
lastWeek : '[lastWeek] LLLL',
|
||
sameElse : 'L'
|
||
}
|
||
});
|
||
|
||
moment.lang('es');
|
||
|
||
test.equal(moment().lang(lang).calendar(), "sameDay -LT-", "Should use instance lang in LT formatting");
|
||
test.equal(moment().add('days', 1).lang(lang).calendar(), "nextDay -L-", "Should use instance lang in L formatting");
|
||
test.equal(moment().add('days', -1).lang(lang).calendar(), "lastDay -LLL-", "Should use instance lang in LL formatting");
|
||
test.equal(moment().add('days', 4).lang(lang).calendar(), "nextWeek -LL-", "Should use instance lang in LLL formatting");
|
||
test.equal(moment().add('days', -4).lang(lang).calendar(), "lastWeek -LLLL-", "Should use instance lang in LLLL formatting");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"library langData" : function (test) {
|
||
test.expect(3);
|
||
moment.lang('en');
|
||
|
||
var jan = moment([2000, 0]);
|
||
|
||
test.equal(moment.langData().months(jan), 'January', 'no arguments returns global');
|
||
test.equal(moment.langData('zh-cn').months(jan), '一月', 'a string returns the language based on key');
|
||
test.equal(moment.langData(moment().lang('es')).months(jan), 'enero', "if you pass in a moment it uses the moment's language");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"instance lang method" : function (test) {
|
||
test.expect(3);
|
||
moment.lang('en');
|
||
|
||
test.equal(moment([2012, 5, 6]).format('MMMM'), 'June', 'Normally default to global');
|
||
test.equal(moment([2012, 5, 6]).lang('es').format('MMMM'), 'junio', 'Use the instance specific language');
|
||
test.equal(moment([2012, 5, 6]).format('MMMM'), 'June', 'Using an instance specific language does not affect other moments');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"instance lang method with array" : function (test) {
|
||
var m = moment().lang(['non-existent', 'fr', 'also-non-existent']);
|
||
test.equal(m.lang()._abbr, 'fr', "passing an array uses the first valid language");
|
||
m = moment().lang(['es', 'fr', 'also-non-existent']);
|
||
test.equal(m.lang()._abbr, 'es', "passing an array uses the first valid language");
|
||
test.done();
|
||
},
|
||
|
||
"instance getter language substrings" : function (test) {
|
||
var m = moment();
|
||
|
||
m.lang('fr-crap');
|
||
test.equal(m.lang()._abbr, 'fr', "use substrings");
|
||
|
||
m.lang('fr-does-not-exist');
|
||
test.equal(m.lang()._abbr, 'fr', "uses deep substrings");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"instance lang persists with manipulation" : function (test) {
|
||
test.expect(3);
|
||
moment.lang('en');
|
||
|
||
test.equal(moment([2012, 5, 6]).lang('es').add({days: 1}).format('MMMM'), 'junio', 'With addition');
|
||
test.equal(moment([2012, 5, 6]).lang('es').day(0).format('MMMM'), 'junio', 'With day getter');
|
||
test.equal(moment([2012, 5, 6]).lang('es').endOf('day').format('MMMM'), 'junio', 'With endOf');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"instance lang persists with cloning" : function (test) {
|
||
test.expect(2);
|
||
moment.lang('en');
|
||
|
||
var a = moment([2012, 5, 6]).lang('es'),
|
||
b = a.clone(),
|
||
c = moment(a);
|
||
|
||
test.equal(b.format('MMMM'), 'junio', 'using moment.fn.clone()');
|
||
test.equal(b.format('MMMM'), 'junio', 'using moment()');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"duration lang method" : function (test) {
|
||
test.expect(3);
|
||
moment.lang('en');
|
||
|
||
test.equal(moment.duration({seconds: 44}).humanize(), 'a few seconds', 'Normally default to global');
|
||
test.equal(moment.duration({seconds: 44}).lang('es').humanize(), 'unos segundos', 'Use the instance specific language');
|
||
test.equal(moment.duration({seconds: 44}).humanize(), 'a few seconds', 'Using an instance specific language does not affect other durations');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"duration lang persists with cloning" : function (test) {
|
||
test.expect(1);
|
||
moment.lang('en');
|
||
|
||
var a = moment.duration({seconds: 44}).lang('es'),
|
||
b = moment.duration(a);
|
||
|
||
test.equal(b.humanize(), 'unos segundos', 'using moment.duration()');
|
||
test.done();
|
||
},
|
||
|
||
"instance lang used with from" : function (test) {
|
||
test.expect(2);
|
||
moment.lang('en');
|
||
|
||
var a = moment([2012, 5, 6]).lang('es'),
|
||
b = moment([2012, 5, 7]);
|
||
|
||
test.equal(a.from(b), 'hace un día', 'preserve language of first moment');
|
||
test.equal(b.from(a), 'in a day', 'do not preserve language of second moment');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"month name callback function" : function (test) {
|
||
test.expect(3);
|
||
|
||
function fakeReplace(m, format) {
|
||
if (/test/.test(format)) {
|
||
return "test";
|
||
}
|
||
if (m.date() === 1) {
|
||
return "date";
|
||
}
|
||
return 'default';
|
||
}
|
||
|
||
moment.lang('made-up-2', {
|
||
months : fakeReplace,
|
||
monthsShort : fakeReplace,
|
||
weekdays : fakeReplace,
|
||
weekdaysShort : fakeReplace,
|
||
weekdaysMin : fakeReplace
|
||
});
|
||
|
||
test.equal(moment().format('[test] dd ddd dddd MMM MMMM'), 'test test test test test test', 'format month name function should be able to access the format string');
|
||
test.equal(moment([2011, 0, 1]).format('dd ddd dddd MMM MMMM'), 'date date date date date', 'format month name function should be able to access the moment object');
|
||
test.equal(moment([2011, 0, 2]).format('dd ddd dddd MMM MMMM'), 'default default default default default', 'format month name function should be able to access the moment object');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"changing parts of a language config" : function (test) {
|
||
test.expect(2);
|
||
|
||
moment.lang('partial-lang', {
|
||
months : 'a b c d e f g h i j k l'.split(' ')
|
||
});
|
||
|
||
test.equal(moment([2011, 0, 1]).format('MMMM'), 'a', 'should be able to set language values when creating the language');
|
||
|
||
moment.lang('partial-lang', {
|
||
monthsShort : 'A B C D E F G H I J K L'.split(' ')
|
||
});
|
||
|
||
test.equal(moment([2011, 0, 1]).format('MMMM MMM'), 'a A', 'should be able to set language values after creating the language');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"start/endOf week feature for first-day-is-monday langs" : function (test) {
|
||
test.expect(2);
|
||
|
||
moment.lang('monday-lang', {
|
||
week : {
|
||
dow : 1 // Monday is the first day of the week
|
||
}
|
||
});
|
||
|
||
moment.lang('monday-lang');
|
||
test.equal(moment([2013, 0, 1]).startOf('week').day(), 1, 'for lang monday-lang first day of the week should be monday');
|
||
test.equal(moment([2013, 0, 1]).endOf('week').day(), 0, 'for lang monday-lang last day of the week should be sunday');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"meridiem parsing" : function (test) {
|
||
test.expect(2);
|
||
|
||
moment.lang('meridiem-parsing', {
|
||
meridiemParse : /[bd]/i,
|
||
isPM : function (input) {
|
||
return input === 'b';
|
||
}
|
||
});
|
||
|
||
moment.lang('meridiem-parsing');
|
||
test.equal(moment('2012-01-01 3b', 'YYYY-MM-DD ha').hour(), 15, 'Custom parsing of meridiem should work');
|
||
test.equal(moment('2012-01-01 3d', 'YYYY-MM-DD ha').hour(), 3, 'Custom parsing of meridiem should work');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"invalid date formatting" : function (test) {
|
||
moment.lang('has-invalid', {
|
||
invalidDate: 'KHAAAAAAAAAAAN!'
|
||
});
|
||
|
||
test.equal(moment.invalid().format(), "KHAAAAAAAAAAAN!");
|
||
test.equal(moment.invalid().format('YYYY-MM-DD'), "KHAAAAAAAAAAAN!");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"return lang name" : function (test) {
|
||
test.expect(1);
|
||
|
||
var registered = moment.lang('return-this', {});
|
||
|
||
test.equal(registered, 'return-this', 'returns the language configured');
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.leapyear = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"leap year" : function (test) {
|
||
test.expect(4);
|
||
|
||
test.equal(moment([2010, 0, 1]).isLeapYear(), false, '2010');
|
||
test.equal(moment([2100, 0, 1]).isLeapYear(), false, '2100');
|
||
test.equal(moment([2008, 0, 1]).isLeapYear(), true, '2008');
|
||
test.equal(moment([2000, 0, 1]).isLeapYear(), true, '2000');
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.listers = {
|
||
setUp : function (cb) {
|
||
moment.lang('en');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"default" : function (test) {
|
||
test.expect(5);
|
||
test.deepEqual(moment.months(), ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]);
|
||
test.deepEqual(moment.monthsShort(), ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]);
|
||
test.deepEqual(moment.weekdays(), ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]);
|
||
test.deepEqual(moment.weekdaysShort(), ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]);
|
||
test.deepEqual(moment.weekdaysMin(), ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]);
|
||
test.done();
|
||
},
|
||
|
||
"index" : function (test) {
|
||
test.equal(moment.months(0), "January");
|
||
test.equal(moment.months(2), "March");
|
||
test.equal(moment.monthsShort(0), "Jan");
|
||
test.equal(moment.monthsShort(2), "Mar");
|
||
test.equal(moment.weekdays(0), "Sunday");
|
||
test.equal(moment.weekdays(2), "Tuesday");
|
||
test.equal(moment.weekdaysShort(0), "Sun");
|
||
test.equal(moment.weekdaysShort(2), "Tue");
|
||
test.equal(moment.weekdaysMin(0), "Su");
|
||
test.equal(moment.weekdaysMin(2), "Tu");
|
||
test.done();
|
||
},
|
||
|
||
"localized" : function (test) {
|
||
var months = "one_two_three_four_five_six_seven_eight_nine_ten_eleven_twelve".split('_'),
|
||
monthsShort = "on_tw_th_fo_fi_si_se_ei_ni_te_el_tw".split("_"),
|
||
weekdays = "one_two_three_four_five_six_seven".split("_"),
|
||
weekdaysShort = "on_tw_th_fo_fi_si_se".split("_"),
|
||
weekdaysMin = "1_2_3_4_5_6_7".split("_");
|
||
|
||
moment.lang('numerologists', {
|
||
months : months,
|
||
monthsShort : monthsShort,
|
||
weekdays : weekdays,
|
||
weekdaysShort: weekdaysShort,
|
||
weekdaysMin: weekdaysMin
|
||
});
|
||
|
||
test.deepEqual(moment.months(), months);
|
||
test.deepEqual(moment.monthsShort(), monthsShort);
|
||
test.deepEqual(moment.weekdays(), weekdays);
|
||
test.deepEqual(moment.weekdaysShort(), weekdaysShort);
|
||
test.deepEqual(moment.weekdaysMin(), weekdaysMin);
|
||
|
||
test.equal(moment.months(0), "one");
|
||
test.equal(moment.monthsShort(0), "on");
|
||
test.equal(moment.weekdays(0), "one");
|
||
test.equal(moment.weekdaysShort(0), "on");
|
||
test.equal(moment.weekdaysMin(0), "1");
|
||
|
||
test.equal(moment.months(2), "three");
|
||
test.equal(moment.monthsShort(2), "th");
|
||
test.equal(moment.weekdays(2), "three");
|
||
test.equal(moment.weekdaysShort(2), "th");
|
||
test.equal(moment.weekdaysMin(2), "3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"with functions" : function (test) {
|
||
var monthsShort = "one_two_three_four_five_six_seven_eight_nine_ten_eleven_twelve".split('_'),
|
||
monthsShortWeird = "onesy_twosy_threesy_foursy_fivesy_sixsy_sevensy_eightsy_ninesy_tensy_elevensy_twelvesy".split('_');
|
||
|
||
moment.lang("difficult", {
|
||
|
||
monthsShort: function (m, format) {
|
||
var arr = format.match(/-MMM-/) ? monthsShortWeird : monthsShort;
|
||
return arr[m.month()];
|
||
}
|
||
});
|
||
|
||
test.expect(6);
|
||
test.deepEqual(moment.monthsShort(), monthsShort);
|
||
test.deepEqual(moment.monthsShort('MMM'), monthsShort);
|
||
test.deepEqual(moment.monthsShort('-MMM-'), monthsShortWeird);
|
||
|
||
test.deepEqual(moment.monthsShort('MMM', 2), 'three');
|
||
test.deepEqual(moment.monthsShort('-MMM-', 2), 'threesy');
|
||
test.deepEqual(moment.monthsShort(2), 'three');
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
var equalMoment = function (test, a, b, msg) {
|
||
test.equal(a.valueOf(), b.valueOf(), msg);
|
||
};
|
||
|
||
exports.minMax = {
|
||
setUp : function (cb) {
|
||
moment.lang('en');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"min" : function (test) {
|
||
test.expect(6);
|
||
|
||
var now = moment(),
|
||
future = now.clone().add(1, 'month'),
|
||
past = now.clone().subtract(1, 'month');
|
||
|
||
equalMoment(test, past.min(now), now, "A past date with the minimum of now should be now");
|
||
equalMoment(test, past.min(future), future, "A past date with the minimum of the future should be the future date");
|
||
|
||
equalMoment(test, future.min(now), future, "A future date with the minimum of now should be the future");
|
||
equalMoment(test, future.min(past), future, "A future date with the minimum of the past should be the future");
|
||
|
||
equalMoment(test, now.min(past), now, "Now with the minimum of the past should be now");
|
||
equalMoment(test, now.min(future), future, "Now with the minimum of the future should be the future");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"max" : function (test) {
|
||
test.expect(6);
|
||
|
||
var now = moment(),
|
||
future = now.clone().add(1, 'month'),
|
||
past = now.clone().subtract(1, 'month');
|
||
|
||
equalMoment(test, past.max(now), past, "A past date with the maximum of now should be the past");
|
||
equalMoment(test, past.max(future), past, "A past date with the maximum of the future should be the past");
|
||
|
||
equalMoment(test, future.max(now), now, "A future date with the maximum of now should be now");
|
||
equalMoment(test, future.max(past), past, "A future date with the maximum of the past should be the past");
|
||
|
||
equalMoment(test, now.max(past), past, "Now with the maximum of the past should be the past");
|
||
equalMoment(test, now.max(future), now, "Now with the maximum of the future should be now");
|
||
|
||
test.done();
|
||
}
|
||
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.mutable = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"manipulation methods" : function (test) {
|
||
|
||
var mutableMethods = {
|
||
'year': function (m) { return m.year(2011); },
|
||
'month': function (m) { return m.month(1); },
|
||
'date': function (m) { return m.date(9); },
|
||
'hours': function (m) { return m.hours(7); },
|
||
'minutes': function (m) { return m.minutes(33); },
|
||
'seconds': function (m) { return m.seconds(44); },
|
||
'milliseconds': function (m) { return m.milliseconds(55); },
|
||
'day': function (m) { return m.day(2); },
|
||
'startOf': function (m) { return m.startOf('week'); },
|
||
'endOf': function (m) { return m.endOf('week'); },
|
||
'add': function (m) { return m.add('days', 1); },
|
||
'subtract': function (m) { return m.subtract('years', 2); },
|
||
'local': function (m) { return m.local(); },
|
||
'utc': function (m) { return m.utc(); }
|
||
}, method, d, d2;
|
||
|
||
test.expect(14);
|
||
|
||
for (method in mutableMethods) {
|
||
if (mutableMethods.hasOwnProperty(method)) {
|
||
d = moment();
|
||
d2 = mutableMethods[method](d);
|
||
test.equal(d, d2, method + "() should be mutable");
|
||
}
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"non mutable methods" : function (test) {
|
||
|
||
var nonMutableMethods = {
|
||
'clone': function (m) { return m.clone(); }
|
||
}, method, d, d2;
|
||
|
||
test.expect(1);
|
||
|
||
for (method in nonMutableMethods) {
|
||
if (nonMutableMethods.hasOwnProperty(method)) {
|
||
d = new Date();
|
||
d2 = nonMutableMethods[method](moment(d)).toDate();
|
||
test.notEqual(d, d2, method + "() should not be mutable");
|
||
}
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
|
||
};
|
||
|
||
/*global require, exports */
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.normalizeUnits = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"normalize units" : function (test) {
|
||
var fullKeys = ["year", "quarter", "month", "isoWeek", "week", "day", "hour", "minute", "second", "millisecond", "date", 'dayOfYear', 'weekday', 'isoWeekday', 'weekYear', 'isoWeekYear'],
|
||
aliases = ["y", "Q", "M", "W", "w", "d", "h", "m", "s", "ms", "D", 'DDD', 'e', 'E', 'gg', 'GG'],
|
||
length = fullKeys.length,
|
||
fullKey,
|
||
fullKeyCaps,
|
||
fullKeyPlural,
|
||
fullKeyCapsPlural,
|
||
fullKeyLower,
|
||
alias,
|
||
index;
|
||
|
||
for (index = 0; index < length; index += 1) {
|
||
fullKey = fullKeys[index];
|
||
fullKeyCaps = fullKey.toUpperCase();
|
||
fullKeyLower = fullKey.toLowerCase();
|
||
fullKeyPlural = fullKey + "s";
|
||
fullKeyCapsPlural = fullKeyCaps + "s";
|
||
alias = aliases[index];
|
||
test.equal(moment.normalizeUnits(fullKey), fullKey, "Testing full key " + fullKey);
|
||
test.equal(moment.normalizeUnits(fullKeyCaps), fullKey, "Testing full key capitalised " + fullKey);
|
||
test.equal(moment.normalizeUnits(fullKeyPlural), fullKey, "Testing full key plural " + fullKey);
|
||
test.equal(moment.normalizeUnits(fullKeyCapsPlural), fullKey, "Testing full key capitalised and plural " + fullKey);
|
||
test.equal(moment.normalizeUnits(alias), fullKey, "Testing alias " + fullKey);
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require('../../moment'),
|
||
flags = function () {
|
||
return moment.apply(null, arguments).parsingFlags();
|
||
};
|
||
|
||
exports.parsingFlags = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
|
||
'overflow with array' : function (test) {
|
||
|
||
//months
|
||
test.equal(flags([2010, 0]).overflow, -1, 'month 0 valid');
|
||
test.equal(flags([2010, 1]).overflow, -1, 'month 1 valid');
|
||
test.equal(flags([2010, -1]).overflow, 1, 'month -1 invalid');
|
||
test.equal(flags([2100, 12]).overflow, 1, 'month 12 invalid');
|
||
|
||
//days
|
||
test.equal(flags([2010, 1, 16]).overflow, -1, 'date valid');
|
||
test.equal(flags([2010, 1, -1]).overflow, 2, 'date -1 invalid');
|
||
test.equal(flags([2010, 1, 0]).overflow, 2, 'date 0 invalid');
|
||
test.equal(flags([2010, 1, 32]).overflow, 2, 'date 32 invalid');
|
||
test.equal(flags([2012, 1, 29]).overflow, -1, 'date leap year valid');
|
||
test.equal(flags([2010, 1, 29]).overflow, 2, 'date leap year invalid');
|
||
|
||
//hours
|
||
test.equal(flags([2010, 1, 1, 8]).overflow, -1, 'hour valid');
|
||
test.equal(flags([2010, 1, 1, 0]).overflow, -1, 'hour 0 valid');
|
||
test.equal(flags([2010, 1, 1, -1]).overflow, 3, 'hour -1 invalid');
|
||
test.equal(flags([2010, 1, 1, 24]).overflow, 3, 'hour 24 invalid');
|
||
|
||
//minutes
|
||
test.equal(flags([2010, 1, 1, 8, 15]).overflow, -1, 'minute valid');
|
||
test.equal(flags([2010, 1, 1, 8, 0]).overflow, -1, 'minute 0 valid');
|
||
test.equal(flags([2010, 1, 1, 8, -1]).overflow, 4, 'minute -1 invalid');
|
||
test.equal(flags([2010, 1, 1, 8, 60]).overflow, 4, 'minute 60 invalid');
|
||
|
||
//seconds
|
||
test.equal(flags([2010, 1, 1, 8, 15, 12]).overflow, -1, 'second valid');
|
||
test.equal(flags([2010, 1, 1, 8, 15, 0]).overflow, -1, 'second 0 valid');
|
||
test.equal(flags([2010, 1, 1, 8, 15, -1]).overflow, 5, 'second -1 invalid');
|
||
test.equal(flags([2010, 1, 1, 8, 15, 60]).overflow, 5, 'second 60 invalid');
|
||
|
||
//milliseconds
|
||
test.equal(flags([2010, 1, 1, 8, 15, 12, 345]).overflow, -1, 'millisecond valid');
|
||
test.equal(flags([2010, 1, 1, 8, 15, 12, 0]).overflow, -1, 'millisecond 0 valid');
|
||
test.equal(flags([2010, 1, 1, 8, 15, 12, -1]).overflow, 6, 'millisecond -1 invalid');
|
||
test.equal(flags([2010, 1, 1, 8, 15, 12, 1000]).overflow, 6, 'millisecond 1000 invalid');
|
||
|
||
test.done();
|
||
},
|
||
|
||
'overflow without format' : function (test) {
|
||
|
||
//months
|
||
test.equal(flags('2001-01', 'YYYY-MM').overflow, -1, 'month 1 valid');
|
||
test.equal(flags('2001-12', 'YYYY-MM').overflow, -1, 'month 12 valid');
|
||
test.equal(flags('2001-13', 'YYYY-MM').overflow, 1, 'month 13 invalid');
|
||
|
||
//days
|
||
test.equal(flags('2010-01-16', 'YYYY-MM-DD').overflow, -1, 'date 16 valid');
|
||
test.equal(flags('2010-01-0', 'YYYY-MM-DD').overflow, 2, 'date 0 invalid');
|
||
test.equal(flags('2010-01-32', 'YYYY-MM-DD').overflow, 2, 'date 32 invalid');
|
||
test.equal(flags('2012-02-29', 'YYYY-MM-DD').overflow, -1, 'date leap year valid');
|
||
test.equal(flags('2010-02-29', 'YYYY-MM-DD').overflow, 2, 'date leap year invalid');
|
||
|
||
//days of the year
|
||
test.equal(flags('2010 300', 'YYYY DDDD').overflow, -1, 'day 300 of year valid');
|
||
test.equal(flags('2010 365', 'YYYY DDDD').overflow, -1, 'day 365 of year valid');
|
||
test.equal(flags('2010 366', 'YYYY DDDD').overflow, 2, 'day 366 of year invalid');
|
||
test.equal(flags('2012 366', 'YYYY DDDD').overflow, -1, 'day 366 of leap year valid');
|
||
test.equal(flags('2012 367', 'YYYY DDDD').overflow, 2, 'day 367 of leap year invalid');
|
||
|
||
//hours
|
||
test.equal(flags('08', 'HH').overflow, -1, 'hour valid');
|
||
test.equal(flags('00', 'HH').overflow, -1, 'hour 0 valid');
|
||
test.equal(flags('24', 'HH').overflow, 3, 'hour 24 invalid');
|
||
|
||
//minutes
|
||
test.equal(flags('08:15', 'HH:mm').overflow, -1, 'minute valid');
|
||
test.equal(flags('08:00', 'HH:mm').overflow, -1, 'minute 0 valid');
|
||
test.equal(flags('08:60', 'HH:mm').overflow, 4, 'minute 60 invalid');
|
||
|
||
//seconds
|
||
test.equal(flags('08:15:12', 'HH:mm:ss').overflow, -1, 'second valid');
|
||
test.equal(flags('08:15:00', 'HH:mm:ss').overflow, -1, 'second 0 valid');
|
||
test.equal(flags('08:15:60', 'HH:mm:ss').overflow, 5, 'second 60 invalid');
|
||
|
||
//milliseconds
|
||
test.equal(flags('08:15:12:345', 'HH:mm:ss:SSSS').overflow, -1, 'millisecond valid');
|
||
test.equal(flags('08:15:12:000', 'HH:mm:ss:SSSS').overflow, -1, 'millisecond 0 valid');
|
||
|
||
//this is OK because we don't match the last digit, so it's 100 ms
|
||
test.equal(flags('08:15:12:1000', 'HH:mm:ss:SSSS').overflow, -1, 'millisecond 1000 actually valid');
|
||
|
||
test.done();
|
||
},
|
||
|
||
'extra tokens' : function (test) {
|
||
|
||
test.deepEqual(flags('1982-05-25', 'YYYY-MM-DD').unusedTokens, [], 'nothing extra');
|
||
test.deepEqual(flags('1982-05', 'YYYY-MM-DD').unusedTokens, ['DD'], 'extra formatting token');
|
||
test.deepEqual(flags('1982', 'YYYY-MM-DD').unusedTokens, ['MM', 'DD'], 'multiple extra formatting tokens');
|
||
test.deepEqual(flags('1982-05', 'YYYY-MM-').unusedTokens, [], 'extra non-formatting token');
|
||
test.deepEqual(flags('1982-05-', 'YYYY-MM-DD').unusedTokens, ['DD'], 'non-extra non-formatting token');
|
||
test.deepEqual(flags('1982 05 1982', 'YYYY-MM-DD').unusedTokens, [], 'different non-formatting token');
|
||
|
||
test.done();
|
||
},
|
||
|
||
'extra tokens strict' : function (test) {
|
||
|
||
test.deepEqual(flags('1982-05-25', 'YYYY-MM-DD', true).unusedTokens, [], 'nothing extra');
|
||
test.deepEqual(flags('1982-05', 'YYYY-MM-DD', true).unusedTokens, ['-', 'DD'], 'extra formatting token');
|
||
test.deepEqual(flags('1982', 'YYYY-MM-DD', true).unusedTokens, ['-', 'MM', '-', 'DD'], 'multiple extra formatting tokens');
|
||
test.deepEqual(flags('1982-05', 'YYYY-MM-', true).unusedTokens, ['-'], 'extra non-formatting token');
|
||
test.deepEqual(flags('1982-05-', 'YYYY-MM-DD', true).unusedTokens, ['DD'], 'non-extra non-formatting token');
|
||
test.deepEqual(flags('1982 05 1982', 'YYYY-MM-DD', true).unusedTokens, ['-', '-'], 'different non-formatting token');
|
||
|
||
test.done();
|
||
},
|
||
|
||
'unused input' : function (test) {
|
||
test.deepEqual(flags('1982-05-25', 'YYYY-MM-DD').unusedInput, [], 'normal input');
|
||
test.deepEqual(flags('1982-05-25 this is more stuff', 'YYYY-MM-DD').unusedInput, [' this is more stuff'], 'trailing nonsense');
|
||
test.deepEqual(flags('1982-05-25 09:30', 'YYYY-MM-DD').unusedInput, [' 09:30'], ['trailing legit-looking input']);
|
||
test.deepEqual(flags('1982-05-25 some junk', 'YYYY-MM-DD [some junk]').unusedInput, [], 'junk that actually gets matched');
|
||
test.deepEqual(flags('stuff at beginning 1982-05-25', 'YYYY-MM-DD').unusedInput, ['stuff at beginning '], 'leading junk');
|
||
test.deepEqual(flags('junk 1982 more junk 05 yet more junk25', 'YYYY-MM-DD').unusedInput, ['junk ', ' more junk ', ' yet more junk'], 'interstitial junk');
|
||
|
||
test.done();
|
||
},
|
||
|
||
'unused input strict' : function (test) {
|
||
test.deepEqual(flags('1982-05-25', 'YYYY-MM-DD', true).unusedInput, [], 'normal input');
|
||
test.deepEqual(flags('1982-05-25 this is more stuff', 'YYYY-MM-DD', true).unusedInput, [' this is more stuff'], 'trailing nonsense');
|
||
test.deepEqual(flags('1982-05-25 09:30', 'YYYY-MM-DD', true).unusedInput, [' 09:30'], ['trailing legit-looking input']);
|
||
test.deepEqual(flags('1982-05-25 some junk', 'YYYY-MM-DD [some junk]', true).unusedInput, [], 'junk that actually gets matched');
|
||
test.deepEqual(flags('stuff at beginning 1982-05-25', 'YYYY-MM-DD', true).unusedInput, ['stuff at beginning '], 'leading junk');
|
||
test.deepEqual(flags('junk 1982 more junk 05 yet more junk25', 'YYYY-MM-DD', true).unusedInput, ['junk ', ' more junk ', ' yet more junk'], 'interstitial junk');
|
||
|
||
test.done();
|
||
},
|
||
|
||
'chars left over' : function (test) {
|
||
test.equal(flags('1982-05-25', 'YYYY-MM-DD').charsLeftOver, 0, 'normal input');
|
||
test.equal(flags('1982-05-25 this is more stuff', 'YYYY-MM-DD').charsLeftOver, ' this is more stuff'.length, 'trailing nonsense');
|
||
test.equal(flags('1982-05-25 09:30', 'YYYY-MM-DD').charsLeftOver, ' 09:30'.length, 'trailing legit-looking input');
|
||
test.equal(flags('stuff at beginning 1982-05-25', 'YYYY-MM-DD').charsLeftOver, 'stuff at beginning '.length, 'leading junk');
|
||
test.equal(flags('1982 junk 05 more junk25', 'YYYY-MM-DD').charsLeftOver, [' junk ', ' more junk'].join('').length, 'interstitial junk');
|
||
test.equal(flags('stuff at beginning 1982 junk 05 more junk25', 'YYYY-MM-DD').charsLeftOver, ['stuff at beginning ', ' junk ', ' more junk'].join('').length, 'leading and interstitial junk');
|
||
|
||
test.done();
|
||
},
|
||
|
||
'empty' : function (test) {
|
||
test.equal(flags('1982-05-25', 'YYYY-MM-DD').empty, false, 'normal input');
|
||
test.equal(flags('nothing here', 'YYYY-MM-DD').empty, true, 'pure garbage');
|
||
test.equal(flags('junk but has the number 2000 in it', 'YYYY-MM-DD').empty, false, 'only mostly garbage');
|
||
test.equal(flags('', 'YYYY-MM-DD').empty, true, 'empty string');
|
||
test.equal(flags('', 'YYYY-MM-DD').empty, true, 'blank string');
|
||
|
||
test.done();
|
||
},
|
||
|
||
'null' : function (test) {
|
||
test.equal(flags('1982-05-25', 'YYYY-MM-DD').nullInput, false, 'normal input');
|
||
test.equal(flags(null).nullInput, true, 'just null');
|
||
test.equal(flags(null, 'YYYY-MM-DD').nullInput, true, 'null with format');
|
||
|
||
test.done();
|
||
},
|
||
|
||
'invalid month' : function (test) {
|
||
test.equal(flags('1982 May', 'YYYY MMMM').invalidMonth, null, 'normal input');
|
||
test.equal(flags('1982 Laser', 'YYYY MMMM').invalidMonth, 'Laser', 'bad month name');
|
||
|
||
test.done();
|
||
},
|
||
|
||
'empty format array' : function (test) {
|
||
test.equal(flags('1982 May', ['YYYY MMM']).invalidFormat, false, 'empty format array');
|
||
test.equal(flags('1982 May', []).invalidFormat, true, 'empty format array');
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
var symbolMap = {
|
||
'1': '!',
|
||
'2': '@',
|
||
'3': '#',
|
||
'4': '$',
|
||
'5': '%',
|
||
'6': '^',
|
||
'7': '&',
|
||
'8': '*',
|
||
'9': '(',
|
||
'0': ')'
|
||
};
|
||
|
||
var numberMap = {
|
||
'!': '1',
|
||
'@': '2',
|
||
'#': '3',
|
||
'$': '4',
|
||
'%': '5',
|
||
'^': '6',
|
||
'&': '7',
|
||
'*': '8',
|
||
'(': '9',
|
||
')': '0'
|
||
};
|
||
|
||
var symbolLang = {
|
||
preparse: function (string) {
|
||
return string.replace(/[!@#$%\^&*()]/g, function (match) {
|
||
return numberMap[match];
|
||
});
|
||
},
|
||
|
||
postformat: function (string) {
|
||
return string.replace(/\d/g, function (match) {
|
||
return symbolMap[match];
|
||
});
|
||
}
|
||
};
|
||
|
||
exports.preparsePostformat = {
|
||
setUp: function (cb) {
|
||
moment.lang('symbol', symbolLang);
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
|
||
cb();
|
||
},
|
||
|
||
tearDown: function (cb) {
|
||
moment.lang('en-gb');
|
||
cb();
|
||
},
|
||
|
||
"transform": function (test) {
|
||
test.expect(3);
|
||
|
||
test.equal(moment.utc('@)!@-)*-@&', 'YYYY-MM-DD').unix(), 1346025600, "preparse string + format");
|
||
test.equal(moment.utc('@)!@-)*-@&').unix(), 1346025600, "preparse ISO8601 string");
|
||
test.equal(moment.unix(1346025600).utc().format('YYYY-MM-DD'), '@)!@-)*-@&', "postformat");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"transform from": function (test) {
|
||
test.expect(3);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "@ minutes", "postformat should work on moment.fn.from");
|
||
test.equal(moment().add('d', 6).fromNow(true), "^ days", "postformat should work on moment.fn.fromNow");
|
||
test.equal(moment.duration(10, "h").humanize(), "!) hours", "postformat should work on moment.duration.fn.humanize");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Today at @:)) AM", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Today at @:@% AM", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Today at #:)) AM", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Tomorrow at @:)) AM", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Today at !:)) AM", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Yesterday at @:)) AM", "yesterday at the same time");
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.quarter = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"library quarter getter" : function (test) {
|
||
test.expect(7);
|
||
|
||
test.equal(moment([1985, 1, 4]).quarter(), 1, "Feb 4 1985 is Q1");
|
||
test.equal(moment([2029, 8, 18]).quarter(), 3, "Sep 18 2029 is Q3");
|
||
test.equal(moment([2013, 3, 24]).quarter(), 2, "Apr 24 2013 is Q2");
|
||
test.equal(moment([2015, 2, 5]).quarter(), 1, "Mar 5 2015 is Q1");
|
||
test.equal(moment([1970, 0, 2]).quarter(), 1, "Jan 2 1970 is Q1");
|
||
test.equal(moment([2001, 11, 12]).quarter(), 4, "Dec 12 2001 is Q4");
|
||
test.equal(moment([2000, 0, 2]).quarter(), 1, "Jan 2 2000 is Q1");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"quarter setter singular" : function (test) {
|
||
var m;
|
||
test.expect(4);
|
||
|
||
m = moment([2014, 4, 11]);
|
||
test.equal(m.quarter(2).month(), 4, "set same quarter");
|
||
test.equal(m.quarter(3).month(), 7, "set 3rd quarter");
|
||
test.equal(m.quarter(1).month(), 1, "set 1st quarter");
|
||
test.equal(m.quarter(4).month(), 10, "set 4th quarter");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"quarter setter plural" : function (test) {
|
||
var m;
|
||
test.expect(4);
|
||
|
||
m = moment([2014, 4, 11]);
|
||
test.equal(m.quarters(2).month(), 4, "set same quarter");
|
||
test.equal(m.quarters(3).month(), 7, "set 3rd quarter");
|
||
test.equal(m.quarters(1).month(), 1, "set 1st quarter");
|
||
test.equal(m.quarters(4).month(), 10, "set 4th quarter");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"quarter setter programmatic" : function (test) {
|
||
var m;
|
||
test.expect(4);
|
||
|
||
m = moment([2014, 4, 11]);
|
||
test.equal(m.set("quarter", 2).month(), 4, "set same quarter");
|
||
test.equal(m.set("quarter", 3).month(), 7, "set 3rd quarter");
|
||
test.equal(m.set("quarter", 1).month(), 1, "set 1st quarter");
|
||
test.equal(m.set("quarter", 4).month(), 10, "set 4th quarter");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"quarter setter programmatic plural" : function (test) {
|
||
var m;
|
||
test.expect(4);
|
||
|
||
m = moment([2014, 4, 11]);
|
||
test.equal(m.set("quarters", 2).month(), 4, "set same quarter");
|
||
test.equal(m.set("quarters", 3).month(), 7, "set 3rd quarter");
|
||
test.equal(m.set("quarters", 1).month(), 1, "set 1st quarter");
|
||
test.equal(m.set("quarters", 4).month(), 10, "set 4th quarter");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"quarter setter programmatic abbr" : function (test) {
|
||
var m;
|
||
test.expect(4);
|
||
|
||
m = moment([2014, 4, 11]);
|
||
test.equal(m.set("Q", 2).month(), 4, "set same quarter");
|
||
test.equal(m.set("Q", 3).month(), 7, "set 3rd quarter");
|
||
test.equal(m.set("Q", 1).month(), 1, "set 1st quarter");
|
||
test.equal(m.set("Q", 4).month(), 10, "set 4th quarter");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"quarter setter only month changes" : function (test) {
|
||
var m;
|
||
test.expect(7);
|
||
|
||
m = moment([2014, 4, 11, 1, 2, 3, 4]).quarter(4);
|
||
test.equal(m.year(), 2014, "keep year");
|
||
test.equal(m.month(), 10, "set month");
|
||
test.equal(m.date(), 11, "keep date");
|
||
test.equal(m.hour(), 1, "keep hour");
|
||
test.equal(m.minute(), 2, "keep minutes");
|
||
test.equal(m.second(), 3, "keep seconds");
|
||
test.equal(m.millisecond(), 4, "keep milliseconds");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"quarter setter bubble to next year" : function (test) {
|
||
var m;
|
||
test.expect(7);
|
||
|
||
m = moment([2014, 4, 11, 1, 2, 3, 4]).quarter(7);
|
||
test.equal(m.year(), 2015, "year bubbled");
|
||
test.equal(m.month(), 7, "set month");
|
||
test.equal(m.date(), 11, "keep date");
|
||
test.equal(m.hour(), 1, "keep hour");
|
||
test.equal(m.minute(), 2, "keep minutes");
|
||
test.equal(m.second(), 3, "keep seconds");
|
||
test.equal(m.millisecond(), 4, "keep milliseconds");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"quarter setter bubble to previous year" : function (test) {
|
||
var m;
|
||
test.expect(7);
|
||
|
||
m = moment([2014, 4, 11, 1, 2, 3, 4]).quarter(-3);
|
||
test.equal(m.year(), 2013, "year bubbled");
|
||
test.equal(m.month(), 1, "set month");
|
||
test.equal(m.date(), 11, "keep date");
|
||
test.equal(m.hour(), 1, "keep hour");
|
||
test.equal(m.minute(), 2, "keep minutes");
|
||
test.equal(m.second(), 3, "keep seconds");
|
||
test.equal(m.millisecond(), 4, "keep milliseconds");
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.endStartOf = {
|
||
setUp : function (done) {
|
||
moment.lang('en');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"start of year" : function (test) {
|
||
test.expect(9);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('year'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('years'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('y');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 0, "strip out the month");
|
||
test.equal(m.date(), 1, "strip out the day");
|
||
test.equal(m.hours(), 0, "strip out the hours");
|
||
test.equal(m.minutes(), 0, "strip out the minutes");
|
||
test.equal(m.seconds(), 0, "strip out the seconds");
|
||
test.equal(m.milliseconds(), 0, "strip out the milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"end of year" : function (test) {
|
||
test.expect(9);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('year'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('years'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('y');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 11, "set the month");
|
||
test.equal(m.date(), 31, "set the day");
|
||
test.equal(m.hours(), 23, "set the hours");
|
||
test.equal(m.minutes(), 59, "set the minutes");
|
||
test.equal(m.seconds(), 59, "set the seconds");
|
||
test.equal(m.milliseconds(), 999, "set the seconds");
|
||
test.done();
|
||
},
|
||
|
||
"start of quarter" : function (test) {
|
||
test.expect(10);
|
||
|
||
var m = moment(new Date(2011, 4, 2, 3, 4, 5, 6)).startOf('quarter'),
|
||
ms = moment(new Date(2011, 4, 2, 3, 4, 5, 6)).startOf('quarters'),
|
||
ma = moment(new Date(2011, 4, 2, 3, 4, 5, 6)).startOf('Q');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.quarter(), 2, "keep the quarter");
|
||
test.equal(m.month(), 3, "strip out the month");
|
||
test.equal(m.date(), 1, "strip out the day");
|
||
test.equal(m.hours(), 0, "strip out the hours");
|
||
test.equal(m.minutes(), 0, "strip out the minutes");
|
||
test.equal(m.seconds(), 0, "strip out the seconds");
|
||
test.equal(m.milliseconds(), 0, "strip out the milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"end of quarter" : function (test) {
|
||
test.expect(10);
|
||
|
||
var m = moment(new Date(2011, 4, 2, 3, 4, 5, 6)).endOf('quarter'),
|
||
ms = moment(new Date(2011, 4, 2, 3, 4, 5, 6)).endOf('quarters'),
|
||
ma = moment(new Date(2011, 4, 2, 3, 4, 5, 6)).endOf('Q');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.quarter(), 2, "keep the quarter");
|
||
test.equal(m.month(), 5, "set the month");
|
||
test.equal(m.date(), 30, "set the day");
|
||
test.equal(m.hours(), 23, "set the hours");
|
||
test.equal(m.minutes(), 59, "set the minutes");
|
||
test.equal(m.seconds(), 59, "set the seconds");
|
||
test.equal(m.milliseconds(), 999, "set the seconds");
|
||
test.done();
|
||
},
|
||
|
||
"start of month" : function (test) {
|
||
test.expect(9);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('month'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('months'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('M');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 1, "keep the month");
|
||
test.equal(m.date(), 1, "strip out the day");
|
||
test.equal(m.hours(), 0, "strip out the hours");
|
||
test.equal(m.minutes(), 0, "strip out the minutes");
|
||
test.equal(m.seconds(), 0, "strip out the seconds");
|
||
test.equal(m.milliseconds(), 0, "strip out the milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"end of month" : function (test) {
|
||
test.expect(9);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('month'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('months'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('M');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 1, "keep the month");
|
||
test.equal(m.date(), 28, "set the day");
|
||
test.equal(m.hours(), 23, "set the hours");
|
||
test.equal(m.minutes(), 59, "set the minutes");
|
||
test.equal(m.seconds(), 59, "set the seconds");
|
||
test.equal(m.milliseconds(), 999, "set the seconds");
|
||
test.done();
|
||
},
|
||
|
||
"start of week" : function (test) {
|
||
test.expect(10);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('week'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('weeks'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('w');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 0, "rolls back to January");
|
||
test.equal(m.day(), 0, "set day of week");
|
||
test.equal(m.date(), 30, "set correct date");
|
||
test.equal(m.hours(), 0, "strip out the hours");
|
||
test.equal(m.minutes(), 0, "strip out the minutes");
|
||
test.equal(m.seconds(), 0, "strip out the seconds");
|
||
test.equal(m.milliseconds(), 0, "strip out the milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"end of week" : function (test) {
|
||
test.expect(10);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('week'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('weeks'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('weeks');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 1, "keep the month");
|
||
test.equal(m.day(), 6, "set the day of the week");
|
||
test.equal(m.date(), 5, "set the day");
|
||
test.equal(m.hours(), 23, "set the hours");
|
||
test.equal(m.minutes(), 59, "set the minutes");
|
||
test.equal(m.seconds(), 59, "set the seconds");
|
||
test.equal(m.milliseconds(), 999, "set the seconds");
|
||
test.done();
|
||
},
|
||
|
||
"start of iso-week" : function (test) {
|
||
test.expect(10);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('isoWeek'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('isoWeeks'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('W');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 0, "rollback to January");
|
||
test.equal(m.isoWeekday(), 1, "set day of iso-week");
|
||
test.equal(m.date(), 31, "set correct date");
|
||
test.equal(m.hours(), 0, "strip out the hours");
|
||
test.equal(m.minutes(), 0, "strip out the minutes");
|
||
test.equal(m.seconds(), 0, "strip out the seconds");
|
||
test.equal(m.milliseconds(), 0, "strip out the milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"end of iso-week" : function (test) {
|
||
test.expect(10);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('isoWeek'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('isoWeeks'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('W');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 1, "keep the month");
|
||
test.equal(m.isoWeekday(), 7, "set the day of the week");
|
||
test.equal(m.date(), 6, "set the day");
|
||
test.equal(m.hours(), 23, "set the hours");
|
||
test.equal(m.minutes(), 59, "set the minutes");
|
||
test.equal(m.seconds(), 59, "set the seconds");
|
||
test.equal(m.milliseconds(), 999, "set the seconds");
|
||
test.done();
|
||
},
|
||
|
||
"start of day" : function (test) {
|
||
test.expect(9);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('day'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('days'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('d');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 1, "keep the month");
|
||
test.equal(m.date(), 2, "keep the day");
|
||
test.equal(m.hours(), 0, "strip out the hours");
|
||
test.equal(m.minutes(), 0, "strip out the minutes");
|
||
test.equal(m.seconds(), 0, "strip out the seconds");
|
||
test.equal(m.milliseconds(), 0, "strip out the milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"end of day" : function (test) {
|
||
test.expect(9);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('day'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('days'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('d');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 1, "keep the month");
|
||
test.equal(m.date(), 2, "keep the day");
|
||
test.equal(m.hours(), 23, "set the hours");
|
||
test.equal(m.minutes(), 59, "set the minutes");
|
||
test.equal(m.seconds(), 59, "set the seconds");
|
||
test.equal(m.milliseconds(), 999, "set the seconds");
|
||
test.done();
|
||
},
|
||
|
||
"start of hour" : function (test) {
|
||
test.expect(9);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('hour'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('hours'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('h');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 1, "keep the month");
|
||
test.equal(m.date(), 2, "keep the day");
|
||
test.equal(m.hours(), 3, "keep the hours");
|
||
test.equal(m.minutes(), 0, "strip out the minutes");
|
||
test.equal(m.seconds(), 0, "strip out the seconds");
|
||
test.equal(m.milliseconds(), 0, "strip out the milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"end of hour" : function (test) {
|
||
test.expect(9);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('hour'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('hours'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('h');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 1, "keep the month");
|
||
test.equal(m.date(), 2, "keep the day");
|
||
test.equal(m.hours(), 3, "keep the hours");
|
||
test.equal(m.minutes(), 59, "set the minutes");
|
||
test.equal(m.seconds(), 59, "set the seconds");
|
||
test.equal(m.milliseconds(), 999, "set the seconds");
|
||
test.done();
|
||
},
|
||
|
||
"start of minute" : function (test) {
|
||
test.expect(9);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('minute'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('minutes'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('m');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 1, "keep the month");
|
||
test.equal(m.date(), 2, "keep the day");
|
||
test.equal(m.hours(), 3, "keep the hours");
|
||
test.equal(m.minutes(), 4, "keep the minutes");
|
||
test.equal(m.seconds(), 0, "strip out the seconds");
|
||
test.equal(m.milliseconds(), 0, "strip out the milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"end of minute" : function (test) {
|
||
test.expect(9);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('minute'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('minutes'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('m');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 1, "keep the month");
|
||
test.equal(m.date(), 2, "keep the day");
|
||
test.equal(m.hours(), 3, "keep the hours");
|
||
test.equal(m.minutes(), 4, "keep the minutes");
|
||
test.equal(m.seconds(), 59, "set the seconds");
|
||
test.equal(m.milliseconds(), 999, "set the seconds");
|
||
test.done();
|
||
},
|
||
|
||
"start of second" : function (test) {
|
||
test.expect(9);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('second'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('seconds'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).startOf('s');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 1, "keep the month");
|
||
test.equal(m.date(), 2, "keep the day");
|
||
test.equal(m.hours(), 3, "keep the hours");
|
||
test.equal(m.minutes(), 4, "keep the minutes");
|
||
test.equal(m.seconds(), 5, "keep the the seconds");
|
||
test.equal(m.milliseconds(), 0, "strip out the milliseconds");
|
||
test.done();
|
||
},
|
||
|
||
"end of second" : function (test) {
|
||
test.expect(9);
|
||
|
||
var m = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('second'),
|
||
ms = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('seconds'),
|
||
ma = moment(new Date(2011, 1, 2, 3, 4, 5, 6)).endOf('s');
|
||
test.equal(+m, +ms, "Plural or singular should work");
|
||
test.equal(+m, +ma, "Full or abbreviated should work");
|
||
test.equal(m.year(), 2011, "keep the year");
|
||
test.equal(m.month(), 1, "keep the month");
|
||
test.equal(m.date(), 2, "keep the day");
|
||
test.equal(m.hours(), 3, "keep the hours");
|
||
test.equal(m.minutes(), 4, "keep the minutes");
|
||
test.equal(m.seconds(), 5, "keep the seconds");
|
||
test.equal(m.milliseconds(), 999, "set the seconds");
|
||
test.done();
|
||
},
|
||
|
||
"startOf across DST +1" : function (test) {
|
||
var oldUpdateOffset = moment.updateOffset,
|
||
// Based on a real story somewhere in America/Los_Angeles
|
||
dstAt = moment("2014-03-09T02:00:00-08:00").parseZone(),
|
||
m;
|
||
|
||
moment.updateOffset = function (mom, keepTime) {
|
||
if (mom.isBefore(dstAt)) {
|
||
mom.zone(8, keepTime);
|
||
} else {
|
||
mom.zone(7, keepTime);
|
||
}
|
||
};
|
||
|
||
m = moment("2014-03-15T00:00:00-07:00").parseZone();
|
||
m.startOf('M');
|
||
test.equal(m.format(), "2014-03-01T00:00:00-08:00",
|
||
"startOf('month') across +1");
|
||
|
||
m = moment("2014-03-09T09:00:00-07:00").parseZone();
|
||
m.startOf('d');
|
||
test.equal(m.format(), "2014-03-09T00:00:00-08:00",
|
||
"startOf('day') across +1");
|
||
|
||
m = moment("2014-03-09T03:05:00-07:00").parseZone();
|
||
m.startOf('h');
|
||
test.equal(m.format(), "2014-03-09T03:00:00-07:00",
|
||
"startOf('hour') after +1");
|
||
|
||
m = moment("2014-03-09T01:35:00-08:00").parseZone();
|
||
m.startOf('h');
|
||
test.equal(m.format(), "2014-03-09T01:00:00-08:00",
|
||
"startOf('hour') before +1");
|
||
|
||
// There is no such time as 2:30-7 to try startOf('hour') across that
|
||
|
||
moment.updateOffset = oldUpdateOffset;
|
||
|
||
test.done();
|
||
},
|
||
|
||
"startOf across DST -1" : function (test) {
|
||
var oldUpdateOffset = moment.updateOffset,
|
||
// Based on a real story somewhere in America/Los_Angeles
|
||
dstAt = moment("2014-11-02T02:00:00-07:00").parseZone(),
|
||
m;
|
||
|
||
moment.updateOffset = function (mom, keepTime) {
|
||
if (mom.isBefore(dstAt)) {
|
||
mom.zone(7, keepTime);
|
||
} else {
|
||
mom.zone(8, keepTime);
|
||
}
|
||
};
|
||
|
||
m = moment("2014-11-15T00:00:00-08:00").parseZone();
|
||
m.startOf('M');
|
||
test.equal(m.format(), "2014-11-01T00:00:00-07:00",
|
||
"startOf('month') across -1");
|
||
|
||
m = moment("2014-11-02T09:00:00-08:00").parseZone();
|
||
m.startOf('d');
|
||
test.equal(m.format(), "2014-11-02T00:00:00-07:00",
|
||
"startOf('day') across -1");
|
||
|
||
// note that zone is -8
|
||
m = moment("2014-11-02T01:30:00-08:00").parseZone();
|
||
m.startOf('h');
|
||
test.equal(m.format(), "2014-11-02T01:00:00-08:00",
|
||
"startOf('hour') after +1");
|
||
|
||
// note that zone is -7
|
||
m = moment("2014-11-02T01:30:00-07:00").parseZone();
|
||
m.startOf('h');
|
||
test.equal(m.format(), "2014-11-02T01:00:00-07:00",
|
||
"startOf('hour') before +1");
|
||
|
||
moment.updateOffset = oldUpdateOffset;
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.stringPrototype = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"string prototype overrides call" : function (test) {
|
||
test.expect(1);
|
||
|
||
moment.lang('en');
|
||
var prior = String.prototype.call, b;
|
||
String.prototype.call = function () { return null; };
|
||
|
||
b = moment(new Date(2011, 7, 28, 15, 25, 50, 125));
|
||
test.equal(b.format('MMMM Do YYYY, h:mm a'), 'August 28th 2011, 3:25 pm');
|
||
|
||
String.prototype.call = prior;
|
||
test.done();
|
||
}
|
||
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.utc = {
|
||
setUp : function (done) {
|
||
moment.lang('en');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
|
||
done();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"utc and local" : function (test) {
|
||
test.expect(7);
|
||
|
||
var m = moment(Date.UTC(2011, 1, 2, 3, 4, 5, 6)), zone, expected;
|
||
m.utc();
|
||
// utc
|
||
test.equal(m.date(), 2, "the day should be correct for utc");
|
||
test.equal(m.day(), 3, "the date should be correct for utc");
|
||
test.equal(m.hours(), 3, "the hours should be correct for utc");
|
||
|
||
// local
|
||
m.local();
|
||
if (m.zone() > 180) {
|
||
test.equal(m.date(), 1, "the date should be correct for local");
|
||
test.equal(m.day(), 2, "the day should be correct for local");
|
||
} else {
|
||
test.equal(m.date(), 2, "the date should be correct for local");
|
||
test.equal(m.day(), 3, "the day should be correct for local");
|
||
}
|
||
zone = Math.ceil(m.zone() / 60);
|
||
expected = (24 + 3 - zone) % 24;
|
||
test.equal(m.hours(), expected, "the hours (" + m.hours() + ") should be correct for local");
|
||
test.equal(moment().utc().zone(), 0, "timezone in utc should always be zero");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"creating with utc and no arguments" : function (test) {
|
||
test.expect(2);
|
||
|
||
var startOfTest = new Date().valueOf(),
|
||
momentDefaultUtcTime = moment.utc().valueOf(),
|
||
afterMomentCreationTime = new Date().valueOf();
|
||
|
||
test.ok(startOfTest <= momentDefaultUtcTime, "moment UTC default time should be now, not in the past");
|
||
test.ok(momentDefaultUtcTime <= afterMomentCreationTime, "moment UTC default time should be now, not in the future");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"creating with utc and a date parameter array" : function (test) {
|
||
test.expect(6);
|
||
|
||
var m = moment.utc([2011, 1, 2, 3, 4, 5, 6]);
|
||
test.equal(m.date(), 2, "the day should be correct for utc array");
|
||
test.equal(m.hours(), 3, "the hours should be correct for utc array");
|
||
|
||
m = moment.utc("2011-02-02 3:04:05", "YYYY-MM-DD HH:mm:ss");
|
||
test.equal(m.date(), 2, "the day should be correct for utc parsing format");
|
||
test.equal(m.hours(), 3, "the hours should be correct for utc parsing format");
|
||
|
||
m = moment.utc("2011-02-02T03:04:05+00:00");
|
||
test.equal(m.date(), 2, "the day should be correct for utc parsing iso");
|
||
test.equal(m.hours(), 3, "the hours should be correct for utc parsing iso");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"creating with utc without timezone" : function (test) {
|
||
test.expect(4);
|
||
|
||
var m = moment.utc("2012-01-02T08:20:00");
|
||
test.equal(m.date(), 2, "the day should be correct for utc parse without timezone");
|
||
test.equal(m.hours(), 8, "the hours should be correct for utc parse without timezone");
|
||
|
||
m = moment.utc("2012-01-02T08:20:00+09:00");
|
||
test.equal(m.date(), 1, "the day should be correct for utc parse with timezone");
|
||
test.equal(m.hours(), 23, "the hours should be correct for utc parse with timezone");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"cloning with utc" : function (test) {
|
||
test.expect(4);
|
||
|
||
var m = moment.utc("2012-01-02T08:20:00");
|
||
test.equal(moment.utc(m)._isUTC, true, "the local zone should be converted to UTC");
|
||
test.equal(moment.utc(m.clone().utc())._isUTC, true, "the local zone should stay in UTC");
|
||
|
||
m.zone(120);
|
||
test.equal(moment.utc(m)._isUTC, true, "the explicit zone should stay in UTC");
|
||
test.equal(moment.utc(m).zone(), 0, "the explicit zone should have an offset of 0");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weekday with utc" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.equal(
|
||
moment('2013-09-15T00:00:00Z').utc().weekday(), // first minute of the day
|
||
moment('2013-09-15T23:59:00Z').utc().weekday(), // last minute of the day
|
||
"a UTC-moment's .weekday() should not be affected by the local timezone"
|
||
);
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.weekYear = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"iso week year": function (test) {
|
||
test.expect(19);
|
||
|
||
// Some examples taken from http://en.wikipedia.org/wiki/ISO_week
|
||
test.equal(moment([2005, 0, 1]).isoWeekYear(), 2004);
|
||
test.equal(moment([2005, 0, 2]).isoWeekYear(), 2004);
|
||
test.equal(moment([2005, 0, 3]).isoWeekYear(), 2005);
|
||
test.equal(moment([2005, 11, 31]).isoWeekYear(), 2005);
|
||
test.equal(moment([2006, 0, 1]).isoWeekYear(), 2005);
|
||
test.equal(moment([2006, 0, 2]).isoWeekYear(), 2006);
|
||
test.equal(moment([2007, 0, 1]).isoWeekYear(), 2007);
|
||
test.equal(moment([2007, 11, 30]).isoWeekYear(), 2007);
|
||
test.equal(moment([2007, 11, 31]).isoWeekYear(), 2008);
|
||
test.equal(moment([2008, 0, 1]).isoWeekYear(), 2008);
|
||
test.equal(moment([2008, 11, 28]).isoWeekYear(), 2008);
|
||
test.equal(moment([2008, 11, 29]).isoWeekYear(), 2009);
|
||
test.equal(moment([2008, 11, 30]).isoWeekYear(), 2009);
|
||
test.equal(moment([2008, 11, 31]).isoWeekYear(), 2009);
|
||
test.equal(moment([2009, 0, 1]).isoWeekYear(), 2009);
|
||
test.equal(moment([2010, 0, 1]).isoWeekYear(), 2009);
|
||
test.equal(moment([2010, 0, 2]).isoWeekYear(), 2009);
|
||
test.equal(moment([2010, 0, 3]).isoWeekYear(), 2009);
|
||
test.equal(moment([2010, 0, 4]).isoWeekYear(), 2010);
|
||
|
||
test.done();
|
||
},
|
||
|
||
"week year": function (test) {
|
||
test.expect(31);
|
||
|
||
// Some examples taken from http://en.wikipedia.org/wiki/ISO_week
|
||
moment.lang('dow: 1,doy: 4', {week: {dow: 1, doy: 4}}); // like iso
|
||
test.equal(moment([2005, 0, 1]).weekYear(), 2004);
|
||
test.equal(moment([2005, 0, 2]).weekYear(), 2004);
|
||
test.equal(moment([2005, 0, 3]).weekYear(), 2005);
|
||
test.equal(moment([2005, 11, 31]).weekYear(), 2005);
|
||
test.equal(moment([2006, 0, 1]).weekYear(), 2005);
|
||
test.equal(moment([2006, 0, 2]).weekYear(), 2006);
|
||
test.equal(moment([2007, 0, 1]).weekYear(), 2007);
|
||
test.equal(moment([2007, 11, 30]).weekYear(), 2007);
|
||
test.equal(moment([2007, 11, 31]).weekYear(), 2008);
|
||
test.equal(moment([2008, 0, 1]).weekYear(), 2008);
|
||
test.equal(moment([2008, 11, 28]).weekYear(), 2008);
|
||
test.equal(moment([2008, 11, 29]).weekYear(), 2009);
|
||
test.equal(moment([2008, 11, 30]).weekYear(), 2009);
|
||
test.equal(moment([2008, 11, 31]).weekYear(), 2009);
|
||
test.equal(moment([2009, 0, 1]).weekYear(), 2009);
|
||
test.equal(moment([2010, 0, 1]).weekYear(), 2009);
|
||
test.equal(moment([2010, 0, 2]).weekYear(), 2009);
|
||
test.equal(moment([2010, 0, 3]).weekYear(), 2009);
|
||
test.equal(moment([2010, 0, 4]).weekYear(), 2010);
|
||
|
||
moment.lang('dow: 1,doy: 7', {week: {dow: 1, doy: 7}});
|
||
test.equal(moment([2004, 11, 26]).weekYear(), 2004);
|
||
test.equal(moment([2004, 11, 27]).weekYear(), 2005);
|
||
test.equal(moment([2005, 11, 25]).weekYear(), 2005);
|
||
test.equal(moment([2005, 11, 26]).weekYear(), 2006);
|
||
test.equal(moment([2006, 11, 31]).weekYear(), 2006);
|
||
test.equal(moment([2007, 0, 1]).weekYear(), 2007);
|
||
test.equal(moment([2007, 11, 30]).weekYear(), 2007);
|
||
test.equal(moment([2007, 11, 31]).weekYear(), 2008);
|
||
test.equal(moment([2008, 11, 28]).weekYear(), 2008);
|
||
test.equal(moment([2008, 11, 29]).weekYear(), 2009);
|
||
test.equal(moment([2009, 11, 27]).weekYear(), 2009);
|
||
test.equal(moment([2009, 11, 28]).weekYear(), 2010);
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.weekYear = {
|
||
setUp : function (done) {
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
done();
|
||
},
|
||
|
||
"iso weekday": function (test) {
|
||
var i;
|
||
test.expect(7 * 7);
|
||
|
||
for (i = 0; i < 7; ++i) {
|
||
moment.lang('dow:' + i + ',doy: 6', {week: {dow: i, doy: 6}});
|
||
test.equal(moment([1985, 1, 4]).isoWeekday(), 1, "Feb 4 1985 is Monday -- 1st day");
|
||
test.equal(moment([2029, 8, 18]).isoWeekday(), 2, "Sep 18 2029 is Tuesday -- 2nd day");
|
||
test.equal(moment([2013, 3, 24]).isoWeekday(), 3, "Apr 24 2013 is Wednesday -- 3rd day");
|
||
test.equal(moment([2015, 2, 5]).isoWeekday(), 4, "Mar 5 2015 is Thursday -- 4th day");
|
||
test.equal(moment([1970, 0, 2]).isoWeekday(), 5, "Jan 2 1970 is Friday -- 5th day");
|
||
test.equal(moment([2001, 4, 12]).isoWeekday(), 6, "May 12 2001 is Saturday -- 6th day");
|
||
test.equal(moment([2000, 0, 2]).isoWeekday(), 7, "Jan 2 2000 is Sunday -- 7th day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"iso weekday setter" : function (test) {
|
||
test.expect(27);
|
||
|
||
var a = moment([2011, 0, 10]);
|
||
test.equal(moment(a).isoWeekday(1).date(), 10, 'set from mon to mon');
|
||
test.equal(moment(a).isoWeekday(4).date(), 13, 'set from mon to thu');
|
||
test.equal(moment(a).isoWeekday(7).date(), 16, 'set from mon to sun');
|
||
test.equal(moment(a).isoWeekday(-6).date(), 3, 'set from mon to last mon');
|
||
test.equal(moment(a).isoWeekday(-3).date(), 6, 'set from mon to last thu');
|
||
test.equal(moment(a).isoWeekday(0).date(), 9, 'set from mon to last sun');
|
||
test.equal(moment(a).isoWeekday(8).date(), 17, 'set from mon to next mon');
|
||
test.equal(moment(a).isoWeekday(11).date(), 20, 'set from mon to next thu');
|
||
test.equal(moment(a).isoWeekday(14).date(), 23, 'set from mon to next sun');
|
||
|
||
a = moment([2011, 0, 13]);
|
||
test.equal(moment(a).isoWeekday(1).date(), 10, 'set from thu to mon');
|
||
test.equal(moment(a).isoWeekday(4).date(), 13, 'set from thu to thu');
|
||
test.equal(moment(a).isoWeekday(7).date(), 16, 'set from thu to sun');
|
||
test.equal(moment(a).isoWeekday(-6).date(), 3, 'set from thu to last mon');
|
||
test.equal(moment(a).isoWeekday(-3).date(), 6, 'set from thu to last thu');
|
||
test.equal(moment(a).isoWeekday(0).date(), 9, 'set from thu to last sun');
|
||
test.equal(moment(a).isoWeekday(8).date(), 17, 'set from thu to next mon');
|
||
test.equal(moment(a).isoWeekday(11).date(), 20, 'set from thu to next thu');
|
||
test.equal(moment(a).isoWeekday(14).date(), 23, 'set from thu to next sun');
|
||
|
||
a = moment([2011, 0, 16]);
|
||
test.equal(moment(a).isoWeekday(1).date(), 10, 'set from sun to mon');
|
||
test.equal(moment(a).isoWeekday(4).date(), 13, 'set from sun to thu');
|
||
test.equal(moment(a).isoWeekday(7).date(), 16, 'set from sun to sun');
|
||
test.equal(moment(a).isoWeekday(-6).date(), 3, 'set from sun to last mon');
|
||
test.equal(moment(a).isoWeekday(-3).date(), 6, 'set from sun to last thu');
|
||
test.equal(moment(a).isoWeekday(0).date(), 9, 'set from sun to last sun');
|
||
test.equal(moment(a).isoWeekday(8).date(), 17, 'set from sun to next mon');
|
||
test.equal(moment(a).isoWeekday(11).date(), 20, 'set from sun to next thu');
|
||
test.equal(moment(a).isoWeekday(14).date(), 23, 'set from sun to next sun');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weekday first day of week Sunday (dow 0)": function (test) {
|
||
test.expect(7);
|
||
|
||
moment.lang('dow: 0,doy: 6', {week: {dow: 0, doy: 6}});
|
||
test.equal(moment([1985, 1, 3]).weekday(), 0, "Feb 3 1985 is Sunday -- 0th day");
|
||
test.equal(moment([2029, 8, 17]).weekday(), 1, "Sep 17 2029 is Monday -- 1st day");
|
||
test.equal(moment([2013, 3, 23]).weekday(), 2, "Apr 23 2013 is Tuesday -- 2nd day");
|
||
test.equal(moment([2015, 2, 4]).weekday(), 3, "Mar 4 2015 is Wednesday -- 3nd day");
|
||
test.equal(moment([1970, 0, 1]).weekday(), 4, "Jan 1 1970 is Thursday -- 4th day");
|
||
test.equal(moment([2001, 4, 11]).weekday(), 5, "May 11 2001 is Friday -- 5th day");
|
||
test.equal(moment([2000, 0, 1]).weekday(), 6, "Jan 1 2000 is Saturday -- 6th day");
|
||
test.done();
|
||
},
|
||
|
||
"weekday first day of week Monday (dow 1)": function (test) {
|
||
test.expect(7);
|
||
|
||
moment.lang('dow: 1,doy: 6', {week: {dow: 1, doy: 6}});
|
||
test.equal(moment([1985, 1, 4]).weekday(), 0, "Feb 4 1985 is Monday -- 0th day");
|
||
test.equal(moment([2029, 8, 18]).weekday(), 1, "Sep 18 2029 is Tuesday -- 1st day");
|
||
test.equal(moment([2013, 3, 24]).weekday(), 2, "Apr 24 2013 is Wednesday -- 2nd day");
|
||
test.equal(moment([2015, 2, 5]).weekday(), 3, "Mar 5 2015 is Thursday -- 3nd day");
|
||
test.equal(moment([1970, 0, 2]).weekday(), 4, "Jan 2 1970 is Friday -- 4th day");
|
||
test.equal(moment([2001, 4, 12]).weekday(), 5, "May 12 2001 is Saturday -- 5th day");
|
||
test.equal(moment([2000, 0, 2]).weekday(), 6, "Jan 2 2000 is Sunday -- 6th day");
|
||
test.done();
|
||
},
|
||
|
||
"weekday first day of week Tuesday (dow 2)": function (test) {
|
||
test.expect(7);
|
||
|
||
moment.lang('dow: 2,doy: 6', {week: {dow: 2, doy: 6}});
|
||
test.equal(moment([1985, 1, 5]).weekday(), 0, "Feb 5 1985 is Tuesday -- 0th day");
|
||
test.equal(moment([2029, 8, 19]).weekday(), 1, "Sep 19 2029 is Wednesday -- 1st day");
|
||
test.equal(moment([2013, 3, 25]).weekday(), 2, "Apr 25 2013 is Thursday -- 2nd day");
|
||
test.equal(moment([2015, 2, 6]).weekday(), 3, "Mar 6 2015 is Friday -- 3nd day");
|
||
test.equal(moment([1970, 0, 3]).weekday(), 4, "Jan 3 1970 is Staturday -- 4th day");
|
||
test.equal(moment([2001, 4, 13]).weekday(), 5, "May 13 2001 is Sunday -- 5th day");
|
||
test.equal(moment([2000, 0, 3]).weekday(), 6, "Jan 3 2000 is Monday -- 6th day");
|
||
test.done();
|
||
},
|
||
|
||
"weekday first day of week Wednesday (dow 3)": function (test) {
|
||
test.expect(7);
|
||
|
||
moment.lang('dow: 3,doy: 6', {week: {dow: 3, doy: 6}});
|
||
test.equal(moment([1985, 1, 6]).weekday(), 0, "Feb 6 1985 is Wednesday -- 0th day");
|
||
test.equal(moment([2029, 8, 20]).weekday(), 1, "Sep 20 2029 is Thursday -- 1st day");
|
||
test.equal(moment([2013, 3, 26]).weekday(), 2, "Apr 26 2013 is Friday -- 2nd day");
|
||
test.equal(moment([2015, 2, 7]).weekday(), 3, "Mar 7 2015 is Saturday -- 3nd day");
|
||
test.equal(moment([1970, 0, 4]).weekday(), 4, "Jan 4 1970 is Sunday -- 4th day");
|
||
test.equal(moment([2001, 4, 14]).weekday(), 5, "May 14 2001 is Monday -- 5th day");
|
||
test.equal(moment([2000, 0, 4]).weekday(), 6, "Jan 4 2000 is Tuesday -- 6th day");
|
||
moment.lang('dow:3,doy:6', null);
|
||
test.done();
|
||
},
|
||
|
||
"weekday first day of week Thursday (dow 4)": function (test) {
|
||
test.expect(7);
|
||
|
||
moment.lang('dow: 4,doy: 6', {week: {dow: 4, doy: 6}});
|
||
|
||
test.equal(moment([1985, 1, 7]).weekday(), 0, "Feb 7 1985 is Thursday -- 0th day");
|
||
test.equal(moment([2029, 8, 21]).weekday(), 1, "Sep 21 2029 is Friday -- 1st day");
|
||
test.equal(moment([2013, 3, 27]).weekday(), 2, "Apr 27 2013 is Saturday -- 2nd day");
|
||
test.equal(moment([2015, 2, 8]).weekday(), 3, "Mar 8 2015 is Sunday -- 3nd day");
|
||
test.equal(moment([1970, 0, 5]).weekday(), 4, "Jan 5 1970 is Monday -- 4th day");
|
||
test.equal(moment([2001, 4, 15]).weekday(), 5, "May 15 2001 is Tuesday -- 5th day");
|
||
test.equal(moment([2000, 0, 5]).weekday(), 6, "Jan 5 2000 is Wednesday -- 6th day");
|
||
test.done();
|
||
},
|
||
|
||
"weekday first day of week Friday (dow 5)": function (test) {
|
||
test.expect(7);
|
||
|
||
moment.lang('dow: 5,doy: 6', {week: {dow: 5, doy: 6}});
|
||
test.equal(moment([1985, 1, 8]).weekday(), 0, "Feb 8 1985 is Friday -- 0th day");
|
||
test.equal(moment([2029, 8, 22]).weekday(), 1, "Sep 22 2029 is Staturday -- 1st day");
|
||
test.equal(moment([2013, 3, 28]).weekday(), 2, "Apr 28 2013 is Sunday -- 2nd day");
|
||
test.equal(moment([2015, 2, 9]).weekday(), 3, "Mar 9 2015 is Monday -- 3nd day");
|
||
test.equal(moment([1970, 0, 6]).weekday(), 4, "Jan 6 1970 is Tuesday -- 4th day");
|
||
test.equal(moment([2001, 4, 16]).weekday(), 5, "May 16 2001 is Wednesday -- 5th day");
|
||
test.equal(moment([2000, 0, 6]).weekday(), 6, "Jan 6 2000 is Thursday -- 6th day");
|
||
test.done();
|
||
},
|
||
|
||
"weekday first day of week Saturday (dow 6)": function (test) {
|
||
test.expect(7);
|
||
|
||
moment.lang('dow: 6,doy: 6', {week: {dow: 6, doy: 6}});
|
||
test.equal(moment([1985, 1, 9]).weekday(), 0, "Feb 9 1985 is Staturday -- 0th day");
|
||
test.equal(moment([2029, 8, 23]).weekday(), 1, "Sep 23 2029 is Sunday -- 1st day");
|
||
test.equal(moment([2013, 3, 29]).weekday(), 2, "Apr 29 2013 is Monday -- 2nd day");
|
||
test.equal(moment([2015, 2, 10]).weekday(), 3, "Mar 10 2015 is Tuesday -- 3nd day");
|
||
test.equal(moment([1970, 0, 7]).weekday(), 4, "Jan 7 1970 is Wednesday -- 4th day");
|
||
test.equal(moment([2001, 4, 17]).weekday(), 5, "May 17 2001 is Thursday -- 5th day");
|
||
test.equal(moment([2000, 0, 7]).weekday(), 6, "Jan 7 2000 is Friday -- 6th day");
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.weeks = {
|
||
setUp : function (done) {
|
||
moment.lang('en');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
|
||
done();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"day of year" : function (test) {
|
||
test.expect(8);
|
||
|
||
test.equal(moment([2000, 0, 1]).dayOfYear(), 1, "Jan 1 2000 should be day 1 of the year");
|
||
test.equal(moment([2000, 1, 28]).dayOfYear(), 59, "Feb 28 2000 should be day 59 of the year");
|
||
test.equal(moment([2000, 1, 29]).dayOfYear(), 60, "Feb 28 2000 should be day 60 of the year");
|
||
test.equal(moment([2000, 11, 31]).dayOfYear(), 366, "Dec 31 2000 should be day 366 of the year");
|
||
test.equal(moment([2001, 0, 1]).dayOfYear(), 1, "Jan 1 2001 should be day 1 of the year");
|
||
test.equal(moment([2001, 1, 28]).dayOfYear(), 59, "Feb 28 2001 should be day 59 of the year");
|
||
test.equal(moment([2001, 2, 1]).dayOfYear(), 60, "Mar 1 2001 should be day 60 of the year");
|
||
test.equal(moment([2001, 11, 31]).dayOfYear(), 365, "Dec 31 2001 should be day 365 of the year");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"day of year setters" : function (test) {
|
||
test.expect(8);
|
||
|
||
test.equal(moment([2000, 0, 1]).dayOfYear(200).dayOfYear(), 200, "Setting Jan 1 2000 day of the year to 200 should work");
|
||
test.equal(moment([2000, 1, 28]).dayOfYear(200).dayOfYear(), 200, "Setting Feb 28 2000 day of the year to 200 should work");
|
||
test.equal(moment([2000, 1, 29]).dayOfYear(200).dayOfYear(), 200, "Setting Feb 28 2000 day of the year to 200 should work");
|
||
test.equal(moment([2000, 11, 31]).dayOfYear(200).dayOfYear(), 200, "Setting Dec 31 2000 day of the year to 200 should work");
|
||
test.equal(moment().dayOfYear(1).dayOfYear(), 1, "Setting day of the year to 1 should work");
|
||
test.equal(moment().dayOfYear(59).dayOfYear(), 59, "Setting day of the year to 59 should work");
|
||
test.equal(moment().dayOfYear(60).dayOfYear(), 60, "Setting day of the year to 60 should work");
|
||
test.equal(moment().dayOfYear(365).dayOfYear(), 365, "Setting day of the year to 365 should work");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"iso weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).isoWeek(), 52, "Jan 1 2012 should be iso week 52");
|
||
test.equal(moment([2012, 0, 2]).isoWeek(), 1, "Jan 2 2012 should be iso week 1");
|
||
test.equal(moment([2012, 0, 8]).isoWeek(), 1, "Jan 8 2012 should be iso week 1");
|
||
test.equal(moment([2012, 0, 9]).isoWeek(), 2, "Jan 9 2012 should be iso week 2");
|
||
test.equal(moment([2012, 0, 15]).isoWeek(), 2, "Jan 15 2012 should be iso week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"iso weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).isoWeek(), 1, "Jan 1 2007 should be iso week 1");
|
||
test.equal(moment([2007, 0, 7]).isoWeek(), 1, "Jan 7 2007 should be iso week 1");
|
||
test.equal(moment([2007, 0, 8]).isoWeek(), 2, "Jan 8 2007 should be iso week 2");
|
||
test.equal(moment([2007, 0, 14]).isoWeek(), 2, "Jan 14 2007 should be iso week 2");
|
||
test.equal(moment([2007, 0, 15]).isoWeek(), 3, "Jan 15 2007 should be iso week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"iso weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).isoWeek(), 1, "Dec 31 2007 should be iso week 1");
|
||
test.equal(moment([2008, 0, 1]).isoWeek(), 1, "Jan 1 2008 should be iso week 1");
|
||
test.equal(moment([2008, 0, 6]).isoWeek(), 1, "Jan 6 2008 should be iso week 1");
|
||
test.equal(moment([2008, 0, 7]).isoWeek(), 2, "Jan 7 2008 should be iso week 2");
|
||
test.equal(moment([2008, 0, 13]).isoWeek(), 2, "Jan 13 2008 should be iso week 2");
|
||
test.equal(moment([2008, 0, 14]).isoWeek(), 3, "Jan 14 2008 should be iso week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"iso weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).isoWeek(), 1, "Dec 30 2002 should be iso week 1");
|
||
test.equal(moment([2003, 0, 1]).isoWeek(), 1, "Jan 1 2003 should be iso week 1");
|
||
test.equal(moment([2003, 0, 5]).isoWeek(), 1, "Jan 5 2003 should be iso week 1");
|
||
test.equal(moment([2003, 0, 6]).isoWeek(), 2, "Jan 6 2003 should be iso week 2");
|
||
test.equal(moment([2003, 0, 12]).isoWeek(), 2, "Jan 12 2003 should be iso week 2");
|
||
test.equal(moment([2003, 0, 13]).isoWeek(), 3, "Jan 13 2003 should be iso week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"iso weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).isoWeek(), 1, "Dec 29 2008 should be iso week 1");
|
||
test.equal(moment([2009, 0, 1]).isoWeek(), 1, "Jan 1 2009 should be iso week 1");
|
||
test.equal(moment([2009, 0, 4]).isoWeek(), 1, "Jan 4 2009 should be iso week 1");
|
||
test.equal(moment([2009, 0, 5]).isoWeek(), 2, "Jan 5 2009 should be iso week 2");
|
||
test.equal(moment([2009, 0, 11]).isoWeek(), 2, "Jan 11 2009 should be iso week 2");
|
||
test.equal(moment([2009, 0, 13]).isoWeek(), 3, "Jan 12 2009 should be iso week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"iso weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).isoWeek(), 53, "Dec 28 2009 should be iso week 53");
|
||
test.equal(moment([2010, 0, 1]).isoWeek(), 53, "Jan 1 2010 should be iso week 53");
|
||
test.equal(moment([2010, 0, 3]).isoWeek(), 53, "Jan 3 2010 should be iso week 53");
|
||
test.equal(moment([2010, 0, 4]).isoWeek(), 1, "Jan 4 2010 should be iso week 1");
|
||
test.equal(moment([2010, 0, 10]).isoWeek(), 1, "Jan 10 2010 should be iso week 1");
|
||
test.equal(moment([2010, 0, 11]).isoWeek(), 2, "Jan 11 2010 should be iso week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"iso weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).isoWeek(), 52, "Dec 27 2010 should be iso week 52");
|
||
test.equal(moment([2011, 0, 1]).isoWeek(), 52, "Jan 1 2011 should be iso week 52");
|
||
test.equal(moment([2011, 0, 2]).isoWeek(), 52, "Jan 2 2011 should be iso week 52");
|
||
test.equal(moment([2011, 0, 3]).isoWeek(), 1, "Jan 3 2011 should be iso week 1");
|
||
test.equal(moment([2011, 0, 9]).isoWeek(), 1, "Jan 9 2011 should be iso week 1");
|
||
test.equal(moment([2011, 0, 10]).isoWeek(), 2, "Jan 10 2011 should be iso week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"iso weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('W WW Wo'), '52 52 52nd', "Jan 1 2012 should be iso week 52");
|
||
test.equal(moment([2012, 0, 2]).format('W WW Wo'), '1 01 1st', "Jan 2 2012 should be iso week 1");
|
||
test.equal(moment([2012, 0, 8]).format('W WW Wo'), '1 01 1st', "Jan 8 2012 should be iso week 1");
|
||
test.equal(moment([2012, 0, 9]).format('W WW Wo'), '2 02 2nd', "Jan 9 2012 should be iso week 2");
|
||
test.equal(moment([2012, 0, 15]).format('W WW Wo'), '2 02 2nd', "Jan 15 2012 should be iso week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks plural year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).weeks(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).weeks(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).weeks(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).weeks(), 2, "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).weeks(), 3, "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"iso weeks plural year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).isoWeeks(), 52, "Jan 1 2012 should be iso week 52");
|
||
test.equal(moment([2012, 0, 2]).isoWeeks(), 1, "Jan 2 2012 should be iso week 1");
|
||
test.equal(moment([2012, 0, 8]).isoWeeks(), 1, "Jan 8 2012 should be iso week 1");
|
||
test.equal(moment([2012, 0, 9]).isoWeeks(), 2, "Jan 9 2012 should be iso week 2");
|
||
test.equal(moment([2012, 0, 15]).isoWeeks(), 2, "Jan 15 2012 should be iso week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks setter" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(30).week(), 30, "Setting Jan 1 2012 to week 30 should work");
|
||
test.equal(moment([2012, 0, 7]).week(30).week(), 30, "Setting Jan 7 2012 to week 30 should work");
|
||
test.equal(moment([2012, 0, 8]).week(30).week(), 30, "Setting Jan 8 2012 to week 30 should work");
|
||
test.equal(moment([2012, 0, 14]).week(30).week(), 30, "Setting Jan 14 2012 to week 30 should work");
|
||
test.equal(moment([2012, 0, 15]).week(30).week(), 30, "Setting Jan 15 2012 to week 30 should work");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"iso weeks setter" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).isoWeeks(25).isoWeeks(), 25, "Setting Jan 1 2012 to week 25 should work");
|
||
test.equal(moment([2012, 0, 2]).isoWeeks(24).isoWeeks(), 24, "Setting Jan 2 2012 to week 24 should work");
|
||
test.equal(moment([2012, 0, 8]).isoWeeks(23).isoWeeks(), 23, "Setting Jan 8 2012 to week 23 should work");
|
||
test.equal(moment([2012, 0, 9]).isoWeeks(22).isoWeeks(), 22, "Setting Jan 9 2012 to week 22 should work");
|
||
test.equal(moment([2012, 0, 15]).isoWeeks(21).isoWeeks(), 21, "Setting Jan 15 2012 to week 21 should work");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"iso weeks setter day of year" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2012, 0, 1]).isoWeek(1).dayOfYear(), 9, "Setting Jan 1 2012 to week 1 should be day of year 8");
|
||
test.equal(moment([2012, 0, 1]).isoWeek(1).year(), 2011, "Setting Jan 1 2012 to week 1 should be year 2011");
|
||
test.equal(moment([2012, 0, 2]).isoWeek(1).dayOfYear(), 2, "Setting Jan 2 2012 to week 1 should be day of year 2");
|
||
test.equal(moment([2012, 0, 8]).isoWeek(1).dayOfYear(), 8, "Setting Jan 8 2012 to week 1 should be day of year 8");
|
||
test.equal(moment([2012, 0, 9]).isoWeek(1).dayOfYear(), 2, "Setting Jan 9 2012 to week 1 should be day of year 2");
|
||
test.equal(moment([2012, 0, 15]).isoWeek(1).dayOfYear(), 8, "Setting Jan 15 2012 to week 1 should be day of year 8");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"years with iso week 53" : function (test) {
|
||
test.expect(71);
|
||
|
||
// Based on a table taken from http://en.wikipedia.org/wiki/ISO_week_date
|
||
// (as downloaded on 2014-01-06) listing the 71 years in a 400-year cycle
|
||
// that have 53 weeks; in this case reflecting the 2000 based cycle
|
||
test.equal(moment([2004, 11, 31]).isoWeek(), 53, "Dec 31 2004 should be iso week 53");
|
||
test.equal(moment([2009, 11, 31]).isoWeek(), 53, "Dec 31 2009 should be iso week 53");
|
||
test.equal(moment([2015, 11, 31]).isoWeek(), 53, "Dec 31 2015 should be iso week 53");
|
||
test.equal(moment([2020, 11, 31]).isoWeek(), 53, "Dec 31 2020 should be iso week 53");
|
||
test.equal(moment([2026, 11, 31]).isoWeek(), 53, "Dec 31 2026 should be iso week 53");
|
||
test.equal(moment([2032, 11, 31]).isoWeek(), 53, "Dec 31 2032 should be iso week 53");
|
||
test.equal(moment([2037, 11, 31]).isoWeek(), 53, "Dec 31 2037 should be iso week 53");
|
||
test.equal(moment([2043, 11, 31]).isoWeek(), 53, "Dec 31 2043 should be iso week 53");
|
||
test.equal(moment([2048, 11, 31]).isoWeek(), 53, "Dec 31 2048 should be iso week 53");
|
||
test.equal(moment([2054, 11, 31]).isoWeek(), 53, "Dec 31 2054 should be iso week 53");
|
||
test.equal(moment([2060, 11, 31]).isoWeek(), 53, "Dec 31 2060 should be iso week 53");
|
||
test.equal(moment([2065, 11, 31]).isoWeek(), 53, "Dec 31 2065 should be iso week 53");
|
||
test.equal(moment([2071, 11, 31]).isoWeek(), 53, "Dec 31 2071 should be iso week 53");
|
||
test.equal(moment([2076, 11, 31]).isoWeek(), 53, "Dec 31 2076 should be iso week 53");
|
||
test.equal(moment([2082, 11, 31]).isoWeek(), 53, "Dec 31 2082 should be iso week 53");
|
||
test.equal(moment([2088, 11, 31]).isoWeek(), 53, "Dec 31 2088 should be iso week 53");
|
||
test.equal(moment([2093, 11, 31]).isoWeek(), 53, "Dec 31 2093 should be iso week 53");
|
||
test.equal(moment([2099, 11, 31]).isoWeek(), 53, "Dec 31 2099 should be iso week 53");
|
||
test.equal(moment([2105, 11, 31]).isoWeek(), 53, "Dec 31 2105 should be iso week 53");
|
||
test.equal(moment([2111, 11, 31]).isoWeek(), 53, "Dec 31 2111 should be iso week 53");
|
||
test.equal(moment([2116, 11, 31]).isoWeek(), 53, "Dec 31 2116 should be iso week 53");
|
||
test.equal(moment([2122, 11, 31]).isoWeek(), 53, "Dec 31 2122 should be iso week 53");
|
||
test.equal(moment([2128, 11, 31]).isoWeek(), 53, "Dec 31 2128 should be iso week 53");
|
||
test.equal(moment([2133, 11, 31]).isoWeek(), 53, "Dec 31 2133 should be iso week 53");
|
||
test.equal(moment([2139, 11, 31]).isoWeek(), 53, "Dec 31 2139 should be iso week 53");
|
||
test.equal(moment([2144, 11, 31]).isoWeek(), 53, "Dec 31 2144 should be iso week 53");
|
||
test.equal(moment([2150, 11, 31]).isoWeek(), 53, "Dec 31 2150 should be iso week 53");
|
||
test.equal(moment([2156, 11, 31]).isoWeek(), 53, "Dec 31 2156 should be iso week 53");
|
||
test.equal(moment([2161, 11, 31]).isoWeek(), 53, "Dec 31 2161 should be iso week 53");
|
||
test.equal(moment([2167, 11, 31]).isoWeek(), 53, "Dec 31 2167 should be iso week 53");
|
||
test.equal(moment([2172, 11, 31]).isoWeek(), 53, "Dec 31 2172 should be iso week 53");
|
||
test.equal(moment([2178, 11, 31]).isoWeek(), 53, "Dec 31 2178 should be iso week 53");
|
||
test.equal(moment([2184, 11, 31]).isoWeek(), 53, "Dec 31 2184 should be iso week 53");
|
||
test.equal(moment([2189, 11, 31]).isoWeek(), 53, "Dec 31 2189 should be iso week 53");
|
||
test.equal(moment([2195, 11, 31]).isoWeek(), 53, "Dec 31 2195 should be iso week 53");
|
||
test.equal(moment([2201, 11, 31]).isoWeek(), 53, "Dec 31 2201 should be iso week 53");
|
||
test.equal(moment([2207, 11, 31]).isoWeek(), 53, "Dec 31 2207 should be iso week 53");
|
||
test.equal(moment([2212, 11, 31]).isoWeek(), 53, "Dec 31 2212 should be iso week 53");
|
||
test.equal(moment([2218, 11, 31]).isoWeek(), 53, "Dec 31 2218 should be iso week 53");
|
||
test.equal(moment([2224, 11, 31]).isoWeek(), 53, "Dec 31 2224 should be iso week 53");
|
||
test.equal(moment([2229, 11, 31]).isoWeek(), 53, "Dec 31 2229 should be iso week 53");
|
||
test.equal(moment([2235, 11, 31]).isoWeek(), 53, "Dec 31 2235 should be iso week 53");
|
||
test.equal(moment([2240, 11, 31]).isoWeek(), 53, "Dec 31 2240 should be iso week 53");
|
||
test.equal(moment([2246, 11, 31]).isoWeek(), 53, "Dec 31 2246 should be iso week 53");
|
||
test.equal(moment([2252, 11, 31]).isoWeek(), 53, "Dec 31 2252 should be iso week 53");
|
||
test.equal(moment([2257, 11, 31]).isoWeek(), 53, "Dec 31 2257 should be iso week 53");
|
||
test.equal(moment([2263, 11, 31]).isoWeek(), 53, "Dec 31 2263 should be iso week 53");
|
||
test.equal(moment([2268, 11, 31]).isoWeek(), 53, "Dec 31 2268 should be iso week 53");
|
||
test.equal(moment([2274, 11, 31]).isoWeek(), 53, "Dec 31 2274 should be iso week 53");
|
||
test.equal(moment([2280, 11, 31]).isoWeek(), 53, "Dec 31 2280 should be iso week 53");
|
||
test.equal(moment([2285, 11, 31]).isoWeek(), 53, "Dec 31 2285 should be iso week 53");
|
||
test.equal(moment([2291, 11, 31]).isoWeek(), 53, "Dec 31 2291 should be iso week 53");
|
||
test.equal(moment([2296, 11, 31]).isoWeek(), 53, "Dec 31 2296 should be iso week 53");
|
||
test.equal(moment([2303, 11, 31]).isoWeek(), 53, "Dec 31 2303 should be iso week 53");
|
||
test.equal(moment([2308, 11, 31]).isoWeek(), 53, "Dec 31 2308 should be iso week 53");
|
||
test.equal(moment([2314, 11, 31]).isoWeek(), 53, "Dec 31 2314 should be iso week 53");
|
||
test.equal(moment([2320, 11, 31]).isoWeek(), 53, "Dec 31 2320 should be iso week 53");
|
||
test.equal(moment([2325, 11, 31]).isoWeek(), 53, "Dec 31 2325 should be iso week 53");
|
||
test.equal(moment([2331, 11, 31]).isoWeek(), 53, "Dec 31 2331 should be iso week 53");
|
||
test.equal(moment([2336, 11, 31]).isoWeek(), 53, "Dec 31 2336 should be iso week 53");
|
||
test.equal(moment([2342, 11, 31]).isoWeek(), 53, "Dec 31 2342 should be iso week 53");
|
||
test.equal(moment([2348, 11, 31]).isoWeek(), 53, "Dec 31 2348 should be iso week 53");
|
||
test.equal(moment([2353, 11, 31]).isoWeek(), 53, "Dec 31 2353 should be iso week 53");
|
||
test.equal(moment([2359, 11, 31]).isoWeek(), 53, "Dec 31 2359 should be iso week 53");
|
||
test.equal(moment([2364, 11, 31]).isoWeek(), 53, "Dec 31 2364 should be iso week 53");
|
||
test.equal(moment([2370, 11, 31]).isoWeek(), 53, "Dec 31 2370 should be iso week 53");
|
||
test.equal(moment([2376, 11, 31]).isoWeek(), 53, "Dec 31 2376 should be iso week 53");
|
||
test.equal(moment([2381, 11, 31]).isoWeek(), 53, "Dec 31 2381 should be iso week 53");
|
||
test.equal(moment([2387, 11, 31]).isoWeek(), 53, "Dec 31 2387 should be iso week 53");
|
||
test.equal(moment([2392, 11, 31]).isoWeek(), 53, "Dec 31 2392 should be iso week 53");
|
||
test.equal(moment([2398, 11, 31]).isoWeek(), 53, "Dec 31 2398 should be iso week 53");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"count years with iso week 53" : function (test) {
|
||
test.expect(1);
|
||
|
||
// Based on http://en.wikipedia.org/wiki/ISO_week_date (as seen on 2014-01-06)
|
||
// stating that there are 71 years in a 400-year cycle that have 53 weeks;
|
||
// in this case reflecting the 2000 based cycle
|
||
var count = 0, i;
|
||
for (i = 0; i < 400; i++) {
|
||
count += (moment([2000 + i, 11, 31]).isoWeek() === 53) ? 1 : 0;
|
||
}
|
||
test.equal(count, 71, "Should have 71 years in 400-year cycle with iso week 53");
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.weeksInYear = {
|
||
"isoWeeksInYear": function (test) {
|
||
test.equal(moment([2004]).isoWeeksInYear(), 53, "2004 has 53 iso weeks");
|
||
test.equal(moment([2005]).isoWeeksInYear(), 52, "2005 has 53 iso weeks");
|
||
test.equal(moment([2006]).isoWeeksInYear(), 52, "2006 has 53 iso weeks");
|
||
test.equal(moment([2007]).isoWeeksInYear(), 52, "2007 has 52 iso weeks");
|
||
test.equal(moment([2008]).isoWeeksInYear(), 52, "2008 has 53 iso weeks");
|
||
test.equal(moment([2009]).isoWeeksInYear(), 53, "2009 has 53 iso weeks");
|
||
test.equal(moment([2010]).isoWeeksInYear(), 52, "2010 has 52 iso weeks");
|
||
test.equal(moment([2011]).isoWeeksInYear(), 52, "2011 has 52 iso weeks");
|
||
test.equal(moment([2012]).isoWeeksInYear(), 52, "2012 has 52 iso weeks");
|
||
test.equal(moment([2013]).isoWeeksInYear(), 52, "2013 has 52 iso weeks");
|
||
test.equal(moment([2014]).isoWeeksInYear(), 52, "2014 has 52 iso weeks");
|
||
test.equal(moment([2015]).isoWeeksInYear(), 53, "2015 has 53 iso weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeksInYear doy/dow = 1/4": function (test) {
|
||
moment.lang('1/4', {week: {dow: 1, doy: 4}});
|
||
|
||
test.equal(moment([2004]).weeksInYear(), 53, "2004 has 53 weeks");
|
||
test.equal(moment([2005]).weeksInYear(), 52, "2005 has 53 weeks");
|
||
test.equal(moment([2006]).weeksInYear(), 52, "2006 has 53 weeks");
|
||
test.equal(moment([2007]).weeksInYear(), 52, "2007 has 52 weeks");
|
||
test.equal(moment([2008]).weeksInYear(), 52, "2008 has 53 weeks");
|
||
test.equal(moment([2009]).weeksInYear(), 53, "2009 has 53 weeks");
|
||
test.equal(moment([2010]).weeksInYear(), 52, "2010 has 52 weeks");
|
||
test.equal(moment([2011]).weeksInYear(), 52, "2011 has 52 weeks");
|
||
test.equal(moment([2012]).weeksInYear(), 52, "2012 has 52 weeks");
|
||
test.equal(moment([2013]).weeksInYear(), 52, "2013 has 52 weeks");
|
||
test.equal(moment([2014]).weeksInYear(), 52, "2014 has 52 weeks");
|
||
test.equal(moment([2015]).weeksInYear(), 53, "2015 has 53 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeksInYear doy/dow = 6/12": function (test) {
|
||
moment.lang('6/12', {week: {dow: 6, doy: 12}});
|
||
|
||
test.equal(moment([2004]).weeksInYear(), 53, "2004 has 53 weeks");
|
||
test.equal(moment([2005]).weeksInYear(), 52, "2005 has 53 weeks");
|
||
test.equal(moment([2006]).weeksInYear(), 52, "2006 has 53 weeks");
|
||
test.equal(moment([2007]).weeksInYear(), 52, "2007 has 52 weeks");
|
||
test.equal(moment([2008]).weeksInYear(), 52, "2008 has 53 weeks");
|
||
test.equal(moment([2009]).weeksInYear(), 52, "2009 has 53 weeks");
|
||
test.equal(moment([2010]).weeksInYear(), 53, "2010 has 52 weeks");
|
||
test.equal(moment([2011]).weeksInYear(), 52, "2011 has 52 weeks");
|
||
test.equal(moment([2012]).weeksInYear(), 52, "2012 has 52 weeks");
|
||
test.equal(moment([2013]).weeksInYear(), 52, "2013 has 52 weeks");
|
||
test.equal(moment([2014]).weeksInYear(), 52, "2014 has 52 weeks");
|
||
test.equal(moment([2015]).weeksInYear(), 52, "2015 has 53 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeksInYear doy/dow = 1/7": function (test) {
|
||
moment.lang('1/7', {week: {dow: 1, doy: 7}});
|
||
|
||
test.equal(moment([2004]).weeksInYear(), 52, "2004 has 53 weeks");
|
||
test.equal(moment([2005]).weeksInYear(), 52, "2005 has 53 weeks");
|
||
test.equal(moment([2006]).weeksInYear(), 53, "2006 has 53 weeks");
|
||
test.equal(moment([2007]).weeksInYear(), 52, "2007 has 52 weeks");
|
||
test.equal(moment([2008]).weeksInYear(), 52, "2008 has 53 weeks");
|
||
test.equal(moment([2009]).weeksInYear(), 52, "2009 has 53 weeks");
|
||
test.equal(moment([2010]).weeksInYear(), 52, "2010 has 52 weeks");
|
||
test.equal(moment([2011]).weeksInYear(), 52, "2011 has 52 weeks");
|
||
test.equal(moment([2012]).weeksInYear(), 53, "2012 has 52 weeks");
|
||
test.equal(moment([2013]).weeksInYear(), 52, "2013 has 52 weeks");
|
||
test.equal(moment([2014]).weeksInYear(), 52, "2014 has 52 weeks");
|
||
test.equal(moment([2015]).weeksInYear(), 52, "2015 has 53 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeksInYear doy/dow = 0/6": function (test) {
|
||
moment.lang('0/6', {week: {dow: 0, doy: 6}});
|
||
|
||
test.equal(moment([2004]).weeksInYear(), 52, "2004 has 53 weeks");
|
||
test.equal(moment([2005]).weeksInYear(), 53, "2005 has 53 weeks");
|
||
test.equal(moment([2006]).weeksInYear(), 52, "2006 has 53 weeks");
|
||
test.equal(moment([2007]).weeksInYear(), 52, "2007 has 52 weeks");
|
||
test.equal(moment([2008]).weeksInYear(), 52, "2008 has 53 weeks");
|
||
test.equal(moment([2009]).weeksInYear(), 52, "2009 has 53 weeks");
|
||
test.equal(moment([2010]).weeksInYear(), 52, "2010 has 52 weeks");
|
||
test.equal(moment([2011]).weeksInYear(), 53, "2011 has 52 weeks");
|
||
test.equal(moment([2012]).weeksInYear(), 52, "2012 has 52 weeks");
|
||
test.equal(moment([2013]).weeksInYear(), 52, "2013 has 52 weeks");
|
||
test.equal(moment([2014]).weeksInYear(), 52, "2014 has 52 weeks");
|
||
test.equal(moment([2015]).weeksInYear(), 52, "2015 has 53 weeks");
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports.zones = {
|
||
setUp : function (done) {
|
||
moment.lang('en');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
|
||
done();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"set zone" : function (test) {
|
||
var zone = moment();
|
||
|
||
zone.zone(0);
|
||
test.equal(zone.zone(), 0, "should be able to set the zone to 0");
|
||
|
||
zone.zone(60);
|
||
test.equal(zone.zone(), 60, "should be able to set the zone to 60");
|
||
|
||
zone.zone(-60);
|
||
test.equal(zone.zone(), -60, "should be able to set the zone to -60");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"set zone shorthand" : function (test) {
|
||
var zone = moment();
|
||
|
||
zone.zone(1);
|
||
test.equal(zone.zone(), 60, "setting the zone to 1 should imply hours and convert to 60");
|
||
|
||
zone.zone(-1);
|
||
test.equal(zone.zone(), -60, "setting the zone to -1 should imply hours and convert to -60");
|
||
|
||
zone.zone(15);
|
||
test.equal(zone.zone(), 900, "setting the zone to 15 should imply hours and convert to 900");
|
||
|
||
zone.zone(-15);
|
||
test.equal(zone.zone(), -900, "setting the zone to -15 should imply hours and convert to -900");
|
||
|
||
zone.zone(16);
|
||
test.equal(zone.zone(), 16, "setting the zone to 16 should imply minutes");
|
||
|
||
zone.zone(-16);
|
||
test.equal(zone.zone(), -16, "setting the zone to -16 should imply minutes");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"set zone with string" : function (test) {
|
||
var zone = moment();
|
||
|
||
zone.zone("+00:00");
|
||
test.equal(zone.zone(), 0, "set the zone with a timezone string");
|
||
|
||
zone.zone("2013-03-07T07:00:00-08:00");
|
||
test.equal(zone.zone(), 480, "set the zone with a string that does not begin with the timezone");
|
||
|
||
zone.zone("2013-03-07T07:00:00+0100");
|
||
test.equal(zone.zone(), -60, "set the zone with a string that uses the +0000 syntax");
|
||
|
||
zone.zone("03-07-2013T07:00:00-08:00");
|
||
test.equal(zone.zone(), 480, "set the zone with a string with a non-ISO 8601 date");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"change hours when changing the zone" : function (test) {
|
||
var zone = moment.utc([2000, 0, 1, 6]);
|
||
|
||
zone.zone(0);
|
||
test.equal(zone.hour(), 6, "UTC 6AM should be 6AM at +0000");
|
||
|
||
zone.zone(60);
|
||
test.equal(zone.hour(), 5, "UTC 6AM should be 5AM at -0100");
|
||
|
||
zone.zone(-60);
|
||
test.equal(zone.hour(), 7, "UTC 6AM should be 7AM at +0100");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"change minutes when changing the zone" : function (test) {
|
||
var zone = moment.utc([2000, 0, 1, 6, 31]);
|
||
|
||
zone.zone(0);
|
||
test.equal(zone.format("HH:mm"), "06:31", "UTC 6:31AM should be 6:31AM at +0000");
|
||
|
||
zone.zone(30);
|
||
test.equal(zone.format("HH:mm"), "06:01", "UTC 6:31AM should be 6:01AM at -0030");
|
||
|
||
zone.zone(-30);
|
||
test.equal(zone.format("HH:mm"), "07:01", "UTC 6:31AM should be 7:01AM at +0030");
|
||
|
||
zone.zone(1380);
|
||
test.equal(zone.format("HH:mm"), "07:31", "UTC 6:31AM should be 7:31AM at +1380");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"distance from the unix epoch" : function (test) {
|
||
var zoneA = moment(),
|
||
zoneB = moment(zoneA),
|
||
zoneC = moment(zoneA),
|
||
zoneD = moment(zoneA),
|
||
zoneE = moment(zoneA);
|
||
|
||
zoneB.utc();
|
||
test.equal(+zoneA, +zoneB, "moment should equal moment.utc");
|
||
|
||
zoneC.zone(-60);
|
||
test.equal(+zoneA, +zoneC, "moment should equal moment.zone(-60)");
|
||
|
||
zoneD.zone(480);
|
||
test.equal(+zoneA, +zoneD, "moment should equal moment.zone(480)");
|
||
|
||
zoneE.zone(1000);
|
||
test.equal(+zoneA, +zoneE, "moment should equal moment.zone(1000)");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"update offset after changing any values" : function (test) {
|
||
var oldOffset = moment.updateOffset,
|
||
m = moment.utc([2000, 6, 1]);
|
||
|
||
moment.updateOffset = function (mom, keepTime) {
|
||
if (mom.__doChange) {
|
||
if (+mom > 962409600000) {
|
||
mom.zone(120, keepTime);
|
||
} else {
|
||
mom.zone(60, keepTime);
|
||
}
|
||
}
|
||
};
|
||
|
||
test.equal(m.format("ZZ"), "+0000", "should be at +0000");
|
||
test.equal(m.format("HH:mm"), "00:00", "should start 12AM at +0000 timezone");
|
||
|
||
m.__doChange = true;
|
||
m.add('h', 1);
|
||
|
||
test.equal(m.format("ZZ"), "-0200", "should be at -0200");
|
||
test.equal(m.format("HH:mm"), "23:00", "1AM at +0000 should be 11PM at -0200 timezone");
|
||
|
||
m.subtract('h', 1);
|
||
|
||
test.equal(m.format("ZZ"), "-0100", "should be at -0100");
|
||
test.equal(m.format("HH:mm"), "23:00", "12AM at +0000 should be 11PM at -0100 timezone");
|
||
|
||
moment.updateOffset = oldOffset;
|
||
|
||
test.done();
|
||
},
|
||
|
||
"getters and setters" : function (test) {
|
||
var a = moment([2011, 5, 20]);
|
||
|
||
test.equal(a.clone().zone(120).year(2012).year(), 2012, "should get and set year correctly");
|
||
test.equal(a.clone().zone(120).month(1).month(), 1, "should get and set month correctly");
|
||
test.equal(a.clone().zone(120).date(2).date(), 2, "should get and set date correctly");
|
||
test.equal(a.clone().zone(120).day(1).day(), 1, "should get and set day correctly");
|
||
test.equal(a.clone().zone(120).hour(1).hour(), 1, "should get and set hour correctly");
|
||
test.equal(a.clone().zone(120).minute(1).minute(), 1, "should get and set minute correctly");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"getters" : function (test) {
|
||
var a = moment.utc([2012, 0, 1, 0, 0, 0]);
|
||
|
||
test.equal(a.clone().zone(120).year(), 2011, "should get year correctly");
|
||
test.equal(a.clone().zone(120).month(), 11, "should get month correctly");
|
||
test.equal(a.clone().zone(120).date(), 31, "should get date correctly");
|
||
test.equal(a.clone().zone(120).hour(), 22, "should get hour correctly");
|
||
test.equal(a.clone().zone(120).minute(), 0, "should get minute correctly");
|
||
|
||
test.equal(a.clone().zone(-120).year(), 2012, "should get year correctly");
|
||
test.equal(a.clone().zone(-120).month(), 0, "should get month correctly");
|
||
test.equal(a.clone().zone(-120).date(), 1, "should get date correctly");
|
||
test.equal(a.clone().zone(-120).hour(), 2, "should get hour correctly");
|
||
test.equal(a.clone().zone(-120).minute(), 0, "should get minute correctly");
|
||
|
||
test.equal(a.clone().zone(-90).year(), 2012, "should get year correctly");
|
||
test.equal(a.clone().zone(-90).month(), 0, "should get month correctly");
|
||
test.equal(a.clone().zone(-90).date(), 1, "should get date correctly");
|
||
test.equal(a.clone().zone(-90).hour(), 1, "should get hour correctly");
|
||
test.equal(a.clone().zone(-90).minute(), 30, "should get minute correctly");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
var zoneA = moment(),
|
||
zoneB = moment(zoneA).zone(720),
|
||
zoneC = moment(zoneA).zone(360),
|
||
zoneD = moment(zoneA).zone(-690),
|
||
other = moment(zoneA).add('m', 35);
|
||
|
||
test.equal(zoneA.from(other), zoneB.from(other), "moment#from should be the same in all zones");
|
||
test.equal(zoneA.from(other), zoneC.from(other), "moment#from should be the same in all zones");
|
||
test.equal(zoneA.from(other), zoneD.from(other), "moment#from should be the same in all zones");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"diff" : function (test) {
|
||
var zoneA = moment(),
|
||
zoneB = moment(zoneA).zone(720),
|
||
zoneC = moment(zoneA).zone(360),
|
||
zoneD = moment(zoneA).zone(-690),
|
||
other = moment(zoneA).add('m', 35);
|
||
|
||
test.equal(zoneA.diff(other), zoneB.diff(other), "moment#diff should be the same in all zones");
|
||
test.equal(zoneA.diff(other), zoneC.diff(other), "moment#diff should be the same in all zones");
|
||
test.equal(zoneA.diff(other), zoneD.diff(other), "moment#diff should be the same in all zones");
|
||
|
||
test.equal(zoneA.diff(other, 'minute', true), zoneB.diff(other, 'minute', true), "moment#diff should be the same in all zones");
|
||
test.equal(zoneA.diff(other, 'minute', true), zoneC.diff(other, 'minute', true), "moment#diff should be the same in all zones");
|
||
test.equal(zoneA.diff(other, 'minute', true), zoneD.diff(other, 'minute', true), "moment#diff should be the same in all zones");
|
||
|
||
test.equal(zoneA.diff(other, 'hour', true), zoneB.diff(other, 'hour', true), "moment#diff should be the same in all zones");
|
||
test.equal(zoneA.diff(other, 'hour', true), zoneC.diff(other, 'hour', true), "moment#diff should be the same in all zones");
|
||
test.equal(zoneA.diff(other, 'hour', true), zoneD.diff(other, 'hour', true), "moment#diff should be the same in all zones");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"unix offset and timestamp" : function (test) {
|
||
var zoneA = moment(),
|
||
zoneB = moment(zoneA).zone(720),
|
||
zoneC = moment(zoneA).zone(360),
|
||
zoneD = moment(zoneA).zone(-690);
|
||
|
||
test.equal(zoneA.unix(), zoneB.unix(), "moment#unix should be the same in all zones");
|
||
test.equal(zoneA.unix(), zoneC.unix(), "moment#unix should be the same in all zones");
|
||
test.equal(zoneA.unix(), zoneD.unix(), "moment#unix should be the same in all zones");
|
||
|
||
test.equal(+zoneA, +zoneB, "moment#valueOf should be the same in all zones");
|
||
test.equal(+zoneA, +zoneC, "moment#valueOf should be the same in all zones");
|
||
test.equal(+zoneA, +zoneD, "moment#valueOf should be the same in all zones");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"cloning" : function (test) {
|
||
test.equal(moment().zone(120).clone().zone(), 120, "explicit cloning should retain the zone");
|
||
test.equal(moment().zone(-120).clone().zone(), -120, "explicit cloning should retain the zone");
|
||
test.equal(moment(moment().zone(120)).zone(), 120, "implicit cloning should retain the zone");
|
||
test.equal(moment(moment().zone(-120)).zone(), -120, "implicit cloning should retain the zone");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"start of / end of" : function (test) {
|
||
var a = moment.utc([2010, 1, 2, 0, 0, 0]).zone(450);
|
||
|
||
test.equal(a.clone().startOf('day').hour(), 0, "start of day should work on moments with a zone");
|
||
test.equal(a.clone().startOf('day').minute(), 0, "start of day should work on moments with a zone");
|
||
test.equal(a.clone().startOf('hour').minute(), 0, "start of hour should work on moments with a zone");
|
||
|
||
test.equal(a.clone().endOf('day').hour(), 23, "end of day should work on moments with a zone");
|
||
test.equal(a.clone().endOf('day').minute(), 59, "end of day should work on moments with a zone");
|
||
test.equal(a.clone().endOf('hour').minute(), 59, "end of hour should work on moments with a zone");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"reset zone with moment#utc" : function (test) {
|
||
var a = moment.utc([2012]).zone(480);
|
||
|
||
test.equal(a.clone().hour(), 16, "different zone should have different hour");
|
||
test.equal(a.clone().utc().hour(), 0, "calling moment#utc should reset the offset");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"reset zone with moment#local" : function (test) {
|
||
var a = moment([2012]).zone(480);
|
||
|
||
test.equal(a.clone().local().hour(), 0, "calling moment#local should reset the offset");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"toDate" : function (test) {
|
||
var zoneA = new Date(),
|
||
zoneB = moment(zoneA).zone(720).toDate(),
|
||
zoneC = moment(zoneA).zone(360).toDate(),
|
||
zoneD = moment(zoneA).zone(-690).toDate();
|
||
|
||
test.equal(+zoneA, +zoneB, "moment#toDate should output a date with the right unix timestamp");
|
||
test.equal(+zoneA, +zoneC, "moment#toDate should output a date with the right unix timestamp");
|
||
test.equal(+zoneA, +zoneD, "moment#toDate should output a date with the right unix timestamp");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"same / before / after" : function (test) {
|
||
var zoneA = moment().utc(),
|
||
zoneB = moment(zoneA).zone(120),
|
||
zoneC = moment(zoneA).zone(-120);
|
||
|
||
test.ok(zoneA.isSame(zoneB), "two moments with different offsets should be the same");
|
||
test.ok(zoneA.isSame(zoneC), "two moments with different offsets should be the same");
|
||
|
||
test.ok(zoneA.isSame(zoneB, 'hour'), "two moments with different offsets should be the same hour");
|
||
test.ok(zoneA.isSame(zoneC, 'hour'), "two moments with different offsets should be the same hour");
|
||
|
||
zoneA.add('hour', 1);
|
||
|
||
test.ok(zoneA.isAfter(zoneB), "isAfter should work with two moments with different offsets");
|
||
test.ok(zoneA.isAfter(zoneC), "isAfter should work with two moments with different offsets");
|
||
|
||
test.ok(zoneA.isAfter(zoneB, 'hour'), "isAfter:hour should work with two moments with different offsets");
|
||
test.ok(zoneA.isAfter(zoneC, 'hour'), "isAfter:hour should work with two moments with different offsets");
|
||
|
||
zoneA.subtract('hour', 2);
|
||
|
||
test.ok(zoneA.isBefore(zoneB), "isBefore should work with two moments with different offsets");
|
||
test.ok(zoneA.isBefore(zoneC), "isBefore should work with two moments with different offsets");
|
||
|
||
test.ok(zoneA.isBefore(zoneB, 'hour'), "isBefore:hour should work with two moments with different offsets");
|
||
test.ok(zoneA.isBefore(zoneC, 'hour'), "isBefore:hour should work with two moments with different offsets");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"add / subtract over dst" : function (test) {
|
||
var oldOffset = moment.updateOffset,
|
||
m = moment.utc([2000, 2, 31, 3]);
|
||
|
||
moment.updateOffset = function (mom, keepTime) {
|
||
if (mom.clone().utc().month() > 2) {
|
||
mom.zone(-60, keepTime);
|
||
} else {
|
||
mom.zone(0, keepTime);
|
||
}
|
||
};
|
||
|
||
test.equal(m.hour(), 3, "should start at 00:00");
|
||
|
||
m.add('hour', 24);
|
||
|
||
test.equal(m.hour(), 4, "adding 24 hours should disregard dst");
|
||
|
||
m.subtract('hour', 24);
|
||
|
||
test.equal(m.hour(), 3, "subtracting 24 hours should disregard dst");
|
||
|
||
m.add('day', 1);
|
||
|
||
test.equal(m.hour(), 3, "adding 1 day should have the same hour");
|
||
|
||
m.subtract('day', 1);
|
||
|
||
test.equal(m.hour(), 3, "subtracting 1 day should have the same hour");
|
||
|
||
m.add('month', 1);
|
||
|
||
test.equal(m.hour(), 3, "adding 1 month should have the same hour");
|
||
|
||
m.subtract('month', 1);
|
||
|
||
test.equal(m.hour(), 3, "subtracting 1 month should have the same hour");
|
||
|
||
moment.updateOffset = oldOffset;
|
||
|
||
test.done();
|
||
},
|
||
|
||
"isDST" : function (test) {
|
||
var oldOffset = moment.updateOffset;
|
||
|
||
moment.updateOffset = function (mom, keepTime) {
|
||
if (mom.month() > 2 && mom.month() < 9) {
|
||
mom.zone(-60, keepTime);
|
||
} else {
|
||
mom.zone(0, keepTime);
|
||
}
|
||
};
|
||
|
||
test.ok(!moment().month(0).isDST(), "Jan should not be summer dst");
|
||
test.ok(moment().month(6).isDST(), "Jul should be summer dst");
|
||
test.ok(!moment().month(11).isDST(), "Dec should not be summer dst");
|
||
|
||
moment.updateOffset = function (mom) {
|
||
if (mom.month() > 2 && mom.month() < 9) {
|
||
mom.zone(0);
|
||
} else {
|
||
mom.zone(-60);
|
||
}
|
||
};
|
||
|
||
test.ok(moment().month(0).isDST(), "Jan should be winter dst");
|
||
test.ok(!moment().month(6).isDST(), "Jul should not be winter dst");
|
||
test.ok(moment().month(11).isDST(), "Dec should be winter dst");
|
||
|
||
moment.updateOffset = oldOffset;
|
||
|
||
test.done();
|
||
},
|
||
|
||
"zone names" : function (test) {
|
||
test.expect(8);
|
||
|
||
test.equal(moment().zoneAbbr(), "", "Local zone abbr should be empty");
|
||
test.equal(moment().format('z'), "", "Local zone formatted abbr should be empty");
|
||
test.equal(moment().zoneName(), "", "Local zone name should be empty");
|
||
test.equal(moment().format('zz'), "", "Local zone formatted name should be empty");
|
||
|
||
test.equal(moment.utc().zoneAbbr(), "UTC", "UTC zone abbr should be UTC");
|
||
test.equal(moment.utc().format('z'), "UTC", "UTC zone formatted abbr should be UTC");
|
||
test.equal(moment.utc().zoneName(), "Coordinated Universal Time", "UTC zone abbr should be Coordinated Universal Time");
|
||
test.equal(moment.utc().format('zz'), "Coordinated Universal Time", "UTC zone formatted abbr should be Coordinated Universal Time");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"hours alignment with UTC" : function (test) {
|
||
test.expect(4);
|
||
|
||
test.equals(moment().zone(120).hasAlignedHourOffset(), true);
|
||
test.equals(moment().zone(-180).hasAlignedHourOffset(), true);
|
||
test.equals(moment().zone(90).hasAlignedHourOffset(), false);
|
||
test.equals(moment().zone(-90).hasAlignedHourOffset(), false);
|
||
|
||
test.done();
|
||
},
|
||
|
||
"hours alignment with other zone" : function (test) {
|
||
test.expect(16);
|
||
|
||
var m = moment().zone(120);
|
||
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(180)), true);
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(-180)), true);
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(90)), false);
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(-90)), false);
|
||
|
||
m = moment().zone(90);
|
||
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(180)), false);
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(-180)), false);
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(30)), true);
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(-30)), true);
|
||
|
||
m = moment().zone(-60);
|
||
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(180)), true);
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(-180)), true);
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(90)), false);
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(-90)), false);
|
||
|
||
m = moment().zone(25);
|
||
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(-35)), true);
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(85)), true);
|
||
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(35)), false);
|
||
test.equals(m.hasAlignedHourOffset(moment().zone(-85)), false);
|
||
|
||
test.done();
|
||
},
|
||
|
||
"parse zone" : function (test) {
|
||
test.expect(2);
|
||
var m = moment("2013-01-01T00:00:00-13:00").parseZone();
|
||
test.equal(m.zone(), 13 * 60);
|
||
test.equal(m.hours(), 0);
|
||
test.done();
|
||
},
|
||
|
||
"parse zone static" : function (test) {
|
||
test.expect(2);
|
||
var m = moment.parseZone("2013-01-01T00:00:00-13:00");
|
||
test.equal(m.zone(), 13 * 60);
|
||
test.equal(m.hours(), 0);
|
||
test.done();
|
||
},
|
||
|
||
"parse zone with more arguments" : function (test) {
|
||
var m;
|
||
test.expect(3);
|
||
|
||
m = moment.parseZone("2013 01 01 05 -13:00", "YYYY MM DD HH ZZ");
|
||
test.equal(m.format(), "2013-01-01T05:00:00-13:00", "accept input and format");
|
||
m = moment.parseZone("2013-01-01-13:00", "YYYY MM DD ZZ", true);
|
||
test.equal(m.isValid(), false, "accept input, format and strict flag");
|
||
m = moment.parseZone("2013-01-01-13:00", ["DD MM YYYY ZZ", "YYYY MM DD ZZ"]);
|
||
test.equal(m.format(), "2013-01-01T00:00:00-13:00", "accept input and array of formats");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"parse zone with a timezone from the format string" : function (test) {
|
||
test.expect(1);
|
||
|
||
var m = moment("11-12-2013 -0400 +1100", "DD-MM-YYYY ZZ #####").parseZone();
|
||
|
||
test.equal(m.zone(), 4 * 60);
|
||
test.done();
|
||
},
|
||
|
||
"parse zone without a timezone included in the format string" : function (test) {
|
||
test.expect(1);
|
||
|
||
var m = moment("11-12-2013 -0400 +1100", "DD-MM-YYYY").parseZone();
|
||
|
||
test.equal(m.zone(), -11 * 60);
|
||
test.done();
|
||
},
|
||
|
||
"timezone format" : function (test) {
|
||
test.equal(moment().zone(-60).format('ZZ'), "+0100", "-60 -> +0100");
|
||
test.equal(moment().zone(-90).format('ZZ'), "+0130", "-90 -> +0130");
|
||
test.equal(moment().zone(-120).format('ZZ'), "+0200", "-120 -> +0200");
|
||
|
||
test.equal(moment().zone(+60).format('ZZ'), "-0100", "+60 -> -0100");
|
||
test.equal(moment().zone(+90).format('ZZ'), "-0130", "+90 -> -0130");
|
||
test.equal(moment().zone(+120).format('ZZ'), "-0200", "+120 -> -0200");
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
// moment.js Moroccan arabic (ar-ma) tests
|
||
// author: Abdel Said : https://github.com/abdelsaid
|
||
var moment = require("../../moment");
|
||
|
||
exports["lang:ar-ma"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('ar-ma');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'يناير:يناير_فبراير:فبراير_مارس:مارس_أبريل:أبريل_ماي:ماي_يونيو:يونيو_يوليوز:يوليوز_غشت:غشت_شتنبر:شتنبر_أكتوبر:أكتوبر_نونبر:نونبر_دجنبر:دجنبر'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(':');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'الأحد, فبراير 14 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'احد, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2 02 فبراير فبراير'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 الأحد احد ح'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '8 8 08'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45 day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 فبراير 2010'],
|
||
['LLL', '14 فبراير 2010 15:25'],
|
||
['LLLL', 'الأحد 14 فبراير 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 فبراير 2010'],
|
||
['lll', '14 فبراير 2010 15:25'],
|
||
['llll', 'احد 14 فبراير 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'يناير يناير_فبراير فبراير_مارس مارس_أبريل أبريل_ماي ماي_يونيو يونيو_يوليوز يوليوز_غشت غشت_شتنبر شتنبر_أكتوبر أكتوبر_نونبر نونبر_دجنبر دجنبر'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'الأحد احد ح_الإتنين اتنين ن_الثلاثاء ثلاثاء ث_الأربعاء اربعاء ر_الخميس خميس خ_الجمعة جمعة ج_السبت سبت س'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "ثوان", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "دقيقة", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "دقيقة", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 دقائق", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 دقائق", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "ساعة", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "ساعة", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 ساعات", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 ساعات", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 ساعات", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "يوم", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "يوم", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 أيام", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "يوم", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 أيام", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 أيام", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "شهر", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "شهر", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "شهر", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 أشهر", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 أشهر", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 أشهر", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "شهر", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 أشهر", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 أشهر", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "سنة", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "سنة", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 سنوات", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "سنة", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 سنوات", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "في ثوان", "prefix");
|
||
test.equal(moment(0).from(30000), "منذ ثوان", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "منذ ثوان", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "في ثوان", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "في 5 أيام", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "اليوم على الساعة 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "اليوم على الساعة 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "اليوم على الساعة 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "غدا على الساعة 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "اليوم على الساعة 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "أمس على الساعة 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [على الساعة] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [على الساعة] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [على الساعة] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({d: i});
|
||
test.equal(m.calendar(), m.format('dddd [على الساعة] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [على الساعة] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [على الساعة] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
|
||
// Saturday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 31]).week(), 1, "Dec 31 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 6]).week(), 1, "Jan 6 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 2, "Jan 7 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 13]).week(), 2, "Jan 13 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 3, "Jan 14 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2006, 11, 30]).week(), 1, "Dec 30 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 5]).week(), 1, "Jan 5 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 2, "Jan 6 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 12]).week(), 2, "Jan 12 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 3, "Jan 13 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 1, "Dec 29 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 4]).week(), 1, "Jan 4 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 2, "Jan 5 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 11]).week(), 2, "Jan 11 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 3, "Jan 12 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 28]).week(), 1, "Dec 28 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 3]).week(), 1, "Jan 3 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 2, "Jan 4 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 10]).week(), 2, "Jan 10 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 3, "Jan 11 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 27]).week(), 1, "Dec 27 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 2]).week(), 1, "Jan 2 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 2, "Jan 3 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 9]).week(), 2, "Jan 9 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 3, "Jan 10 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2009, 11, 26]).week(), 1, "Dec 26 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 2, "Jan 2 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 8]).week(), 2, "Jan 8 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 3, "Jan 9 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 7]).week(), 1, "Jan 7 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 14]).week(), 2, "Jan 14 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 15]).week(), 3, "Jan 15 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 31]).format('w ww wo'), '1 01 1', "Dec 31 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 6]).format('w ww wo'), '1 01 1', "Jan 6 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '2 02 2', "Jan 7 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 13]).format('w ww wo'), '2 02 2', "Jan 13 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '3 03 3', "Jan 14 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/ar-ma'), 'ar-ma', "module should export ar-ma");
|
||
}
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
// moment.js arabic (ar) tests
|
||
// author: Abdel Said : https://github.com/abdelsaid
|
||
var moment = require("../../moment");
|
||
|
||
exports["lang:ar"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('ar');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'يناير/ كانون الثاني:يناير/ كانون الثاني_فبراير/ شباط:فبراير/ شباط_مارس/ آذار:مارس/ آذار_أبريل/ نيسان:أبريل/ نيسان_مايو/ أيار:مايو/ أيار_يونيو/ حزيران:يونيو/ حزيران_يوليو/ تموز:يوليو/ تموز_أغسطس/ آب:أغسطس/ آب_سبتمبر/ أيلول:سبتمبر/ أيلول_أكتوبر/ تشرين الأول:أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني:نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول:ديسمبر/ كانون الأول'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1) + ' instead is month ' + moment(input, mmm).month());
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(':');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'الأحد, فبراير/ شباط 14 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'الأحد, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2 02 فبراير/ شباط فبراير/ شباط'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 الأحد الأحد ح'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '8 8 08'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45 day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 فبراير/ شباط 2010'],
|
||
['LLL', '14 فبراير/ شباط 2010 15:25'],
|
||
['LLLL', 'الأحد 14 فبراير/ شباط 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 فبراير/ شباط 2010'],
|
||
['lll', '14 فبراير/ شباط 2010 15:25'],
|
||
['llll', 'الأحد 14 فبراير/ شباط 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'يناير/ كانون الثاني يناير/ كانون الثاني_فبراير/ شباط فبراير/ شباط_مارس/ آذار مارس/ آذار_أبريل/ نيسان أبريل/ نيسان_مايو/ أيار مايو/ أيار_يونيو/ حزيران يونيو/ حزيران_يوليو/ تموز يوليو/ تموز_أغسطس/ آب أغسطس/ آب_سبتمبر/ أيلول سبتمبر/ أيلول_أكتوبر/ تشرين الأول أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول ديسمبر/ كانون الأول'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'الأحد الأحد ح_الإثنين الإثنين ن_الثلاثاء الثلاثاء ث_الأربعاء الأربعاء ر_الخميس الخميس خ_الجمعة الجمعة ج_السبت السبت س'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "ثوان", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "دقيقة", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "دقيقة", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 دقائق", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 دقائق", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "ساعة", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "ساعة", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 ساعات", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 ساعات", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 ساعات", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "يوم", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "يوم", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 أيام", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "يوم", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 أيام", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 أيام", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "شهر", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "شهر", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "شهر", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 أشهر", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 أشهر", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 أشهر", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "شهر", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 أشهر", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 أشهر", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "سنة", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "سنة", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 سنوات", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "سنة", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 سنوات", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "في ثوان", "prefix");
|
||
test.equal(moment(0).from(30000), "منذ ثوان", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "منذ ثوان", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "في ثوان", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "في 5 أيام", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "اليوم على الساعة 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "اليوم على الساعة 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "اليوم على الساعة 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "غدا على الساعة 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "اليوم على الساعة 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "أمس على الساعة 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [على الساعة] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [على الساعة] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [على الساعة] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [على الساعة] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [على الساعة] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [على الساعة] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
|
||
// Saturday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 31]).week(), 1, "Dec 31 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 6]).week(), 1, "Jan 6 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 2, "Jan 7 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 13]).week(), 2, "Jan 13 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 3, "Jan 14 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2006, 11, 30]).week(), 1, "Dec 30 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 5]).week(), 1, "Jan 5 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 2, "Jan 6 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 12]).week(), 2, "Jan 12 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 3, "Jan 13 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 1, "Dec 29 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 4]).week(), 1, "Jan 4 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 2, "Jan 5 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 11]).week(), 2, "Jan 11 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 3, "Jan 12 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(10);
|
||
|
||
test.equal(moment([2002, 11, 28]).week(), 1, "Dec 28 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 3]).week(), 1, "Jan 3 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 2, "Jan 4 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 10]).week(), 2, "Jan 10 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 3, "Jan 11 2003 should be week 3");
|
||
|
||
test.equal(moment("2003 1 6", "gggg w d").format("YYYY-MM-DD"), "2002-12-28", "Week 1 of 2003 should be Dec 28 2002");
|
||
test.equal(moment("2003 1 0", "gggg w e").format("YYYY-MM-DD"), "2002-12-28", "Week 1 of 2003 should be Dec 28 2002");
|
||
test.equal(moment("2003 1 6", "gggg w d").format("gggg w d"), "2003 1 6", "Saturday of week 1 of 2003 parsed should be formatted as 2003 1 6");
|
||
test.equal(moment("2003 1 0", "gggg w e").format("gggg w e"), "2003 1 0", "1st day of week 1 of 2003 parsed should be formatted as 2003 1 0");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 27]).week(), 1, "Dec 27 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 2]).week(), 1, "Jan 2 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 2, "Jan 3 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 9]).week(), 2, "Jan 9 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 3, "Jan 10 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2009, 11, 26]).week(), 1, "Dec 26 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 2, "Jan 2 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 8]).week(), 2, "Jan 8 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 3, "Jan 9 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 7]).week(), 1, "Jan 7 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 14]).week(), 2, "Jan 14 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 15]).week(), 3, "Jan 15 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 31]).format('w ww wo'), '1 01 1', "Dec 31 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 6]).format('w ww wo'), '1 01 1', "Jan 6 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '2 02 2', "Jan 7 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 13]).format('w ww wo'), '2 02 2', "Jan 13 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '3 03 3', "Jan 14 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/ar'), 'ar', "module should export ar");
|
||
}
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Bulgarian
|
||
*************************************************/
|
||
|
||
exports["lang:bg"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('bg');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'януари янр_февруари фев_март мар_април апр_май май_юни юни_юли юли_август авг_септември сеп_октомври окт_ноември ное_декември дек'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, H:mm:ss', 'неделя, февруари 14-ти 2010, 15:25:50'],
|
||
['ddd, hA', 'нед, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2-ри 02 февруари фев'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14-ти 14'],
|
||
['d do dddd ddd dd', '0 0-ев неделя нед нд'],
|
||
['DDD DDDo DDDD', '45 45-ти 045'],
|
||
['w wo ww', '7 7-ми 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45-ти day of the year'],
|
||
['L', '14.02.2010'],
|
||
['LL', '14 февруари 2010'],
|
||
['LLL', '14 февруари 2010 15:25'],
|
||
['LLLL', 'неделя, 14 февруари 2010 15:25'],
|
||
['l', '14.2.2010'],
|
||
['ll', '14 фев 2010'],
|
||
['lll', '14 фев 2010 15:25'],
|
||
['llll', 'нед, 14 фев 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1-ви', '1-ви');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2-ри', '2-ри');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3-ти', '3-ти');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4-ти', '4-ти');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5-ти', '5-ти');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6-ти', '6-ти');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7-ми', '7-ми');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8-ми', '8-ми');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9-ти', '9-ти');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10-ти', '10-ти');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11-ти', '11-ти');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12-ти', '12-ти');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13-ти', '13-ти');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14-ти', '14-ти');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15-ти', '15-ти');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16-ти', '16-ти');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17-ти', '17-ти');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18-ти', '18-ти');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19-ти', '19-ти');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20-ти', '20-ти');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21-ви', '21-ви');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22-ри', '22-ри');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23-ти', '23-ти');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24-ти', '24-ти');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25-ти', '25-ти');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26-ти', '26-ти');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27-ми', '27-ми');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28-ми', '28-ми');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29-ти', '29-ти');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30-ти', '30-ти');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31-ви', '31-ви');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'януари янр_февруари фев_март мар_април апр_май май_юни юни_юли юли_август авг_септември сеп_октомври окт_ноември ное_декември дек'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'неделя нед нд_понеделник пон пн_вторник вто вт_сряда сря ср_четвъртък чет чт_петък пет пт_събота съб сб'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "няколко секунди", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "минута", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "минута", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 минути", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 минути", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "час", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "час", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 часа", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 часа", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 часа", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "ден", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "ден", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 дни", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "ден", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 дни", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 дни", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "месец", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "месец", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "месец", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 месеца", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 месеца", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 месеца", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "месец", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 месеца", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 месеца", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "година", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "година", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 години", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "година", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 години", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "след няколко секунди", "prefix");
|
||
test.equal(moment(0).from(30000), "преди няколко секунди", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "преди няколко секунди", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "след няколко секунди", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "след 5 дни", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Днес в 2:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Днес в 2:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Днес в 3:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Утре в 2:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Днес в 1:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Вчера в 2:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [в] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [в] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [в] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
switch (d.day()) {
|
||
case 0:
|
||
case 3:
|
||
case 6:
|
||
return '[В изминалата] dddd [в] LT';
|
||
case 1:
|
||
case 2:
|
||
case 4:
|
||
case 5:
|
||
return '[В изминалия] dddd [в] LT';
|
||
}
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-ви', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-ви', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2-ри', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2-ри', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-ти', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/bg'), 'bg', "module should export bg");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Breton
|
||
*************************************************/
|
||
|
||
exports["lang:br"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('br');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('br');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = "Genver Gen_C'hwevrer C'hwe_Meurzh Meu_Ebrel Ebr_Mae Mae_Mezheven Eve_Gouere Gou_Eost Eos_Gwengolo Gwe_Here Her_Du Du_Kerzu Ker".split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(17);
|
||
moment.lang('br');
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', "Sul, C'hwevrer 14vet 2010, 3:25:50 pm"],
|
||
['ddd, h A', 'Sul, 3 PM'],
|
||
['M Mo MM MMMM MMM', "2 2vet 02 C'hwevrer C'hwe"],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14vet 14'],
|
||
['d do dddd ddd dd', '0 0vet Sul Sul Su'],
|
||
['DDD DDDo DDDD', '45 45vet 045'],
|
||
['w wo ww', '6 6vet 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['DDDo [devezh] [ar] [vloaz]', '45vet devezh ar vloaz'],
|
||
['L', '14/02/2010'],
|
||
['LL', "14 a viz C'hwevrer 2010"],
|
||
['LLL', "14 a viz C'hwevrer 2010 3e25 PM"],
|
||
['LLLL', "Sul, 14 a viz C'hwevrer 2010 3e25 PM"]
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
moment.lang('br');
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1añ', '1añ');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2vet', '2vet');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3vet', '3vet');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4vet', '4vet');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5vet', '5vet');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6vet', '6vet');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7vet', '7vet');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8vet', '8vet');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9vet', '9vet');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10vet', '10vet');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11vet', '11vet');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12vet', '12vet');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13vet', '13vet');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14vet', '14vet');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15vet', '15vet');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16vet', '16vet');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17vet', '17vet');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18vet', '18vet');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19vet', '19vet');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20vet', '20vet');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21vet', '21vet');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22vet', '22vet');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23vet', '23vet');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24vet', '24vet');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25vet', '25vet');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26vet', '26vet');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27vet', '27vet');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28vet', '28vet');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29vet', '29vet');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30vet', '30vet');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31vet', '31vet');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
moment.lang('br');
|
||
var expected = "Genver Gen_C'hwevrer C'hwe_Meurzh Meu_Ebrel Ebr_Mae Mae_Mezheven Eve_Gouere Gou_Eost Eos_Gwengolo Gwe_Here Her_Du Du_Kerzu Ker".split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
moment.lang('br');
|
||
var expected = "Sul Sul Su_Lun Lun Lu_Meurzh Meu Me_Merc'her Mer Mer_Yaou Yao Ya_Gwener Gwe Gw_Sadorn Sad Sa".split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
moment.lang('br');
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "un nebeud segondennoù", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "ur vunutenn", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "ur vunutenn", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 vunutenn", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 munutenn", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "un eur", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "un eur", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 eur", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 eur", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 eur", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "un devezh", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "un devezh", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 zevezh", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "un devezh", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 devezh", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 devezh", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "ur miz", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "ur miz", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "ur miz", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 viz", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 viz", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 miz", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "ur miz", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 miz", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 miz", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "ur bloaz", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "ur bloaz", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 vloaz", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "ur bloaz", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 bloaz", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
moment.lang('br');
|
||
test.equal(moment(30000).from(0), "a-benn un nebeud segondennoù", "prefix");
|
||
test.equal(moment(0).from(30000), "un nebeud segondennoù 'zo", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
moment.lang('br');
|
||
test.equal(moment().fromNow(), "un nebeud segondennoù 'zo", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
moment.lang('br');
|
||
test.equal(moment().add({s: 30}).fromNow(), "a-benn un nebeud segondennoù", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "a-benn 5 devezh", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
moment.lang('br');
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Hiziv da 2e00 AM", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Hiziv da 2e25 AM", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Hiziv da 3e00 AM", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Warc'hoazh da 2e00 AM", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Hiziv da 1e00 AM", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Dec'h da 2e00 AM", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
moment.lang('br');
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [da] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [da] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [da] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
moment.lang('br');
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [paset da] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [paset da] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [paset da] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
moment.lang('br');
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
"special mutations for years": function (test) {
|
||
test.expect(12);
|
||
moment.lang('br');
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "ur bloaz", "mutation 1 year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 2}), true), "2 vloaz", "mutation 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 3}), true), "3 bloaz", "mutation 3 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 4}), true), "4 bloaz", "mutation 4 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 bloaz", "mutation 5 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 9}), true), "9 bloaz", "mutation 9 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 10}), true), "10 vloaz", "mutation 10 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 21}), true), "21 bloaz", "mutation 21 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 22}), true), "22 vloaz", "mutation 22 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 133}), true), "133 bloaz", "mutation 133 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 148}), true), "148 vloaz", "mutation 148 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 261}), true), "261 bloaz", "mutation 261 years");
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/br'), 'br', "module should export br");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Croatian
|
||
*************************************************/
|
||
|
||
exports["lang:bs"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('bs');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'januar jan._februar feb._mart mar._april apr._maj maj._juni jun._juli jul._avgust avg._septembar sep._oktobar okt._novembar nov._decembar dec.'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, h:mm:ss a', 'nedjelja, 14. februar 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'ned., 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 februar feb.'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. nedjelja ned. ne'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '7 7. 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45. day of the year'],
|
||
['L', '14. 02. 2010'],
|
||
['LL', '14. februar 2010'],
|
||
['LLL', '14. februar 2010 15:25'],
|
||
['LLLL', 'nedjelja, 14. februar 2010 15:25'],
|
||
['l', '14. 2. 2010'],
|
||
['ll', '14. feb. 2010'],
|
||
['lll', '14. feb. 2010 15:25'],
|
||
['llll', 'ned., 14. feb. 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'januar jan._februar feb._mart mar._april apr._maj maj._juni jun._juli jul._avgust avg._septembar sep._oktobar okt._novembar nov._decembar dec.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'nedjelja ned. ne_ponedjeljak pon. po_utorak uto. ut_srijeda sri. sr_četvrtak čet. če_petak pet. pe_subota sub. su'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "par sekundi", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "jedna minuta", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "jedna minuta", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minute", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minuta", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "jedan sat", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "jedan sat", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 sata", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 sati", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 sati", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "dan", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "dan", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dana", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "dan", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dana", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dana", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "mjesec", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "mjesec", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "mjesec", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 mjeseca", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 mjeseca", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 mjeseca", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "mjesec", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 mjeseci", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 mjeseci", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "godinu", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "godinu", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 godine", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "godinu", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 godina", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "za par sekundi", "prefix");
|
||
test.equal(moment(0).from(30000), "prije par sekundi", "prefix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "prije par sekundi", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "za par sekundi", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "za 5 dana", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "danas u 2:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "danas u 2:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "danas u 3:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "sutra u 2:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "danas u 1:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "jučer u 2:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
switch (d.day()) {
|
||
case 0:
|
||
return '[u] [nedjelju] [u] LT';
|
||
case 3:
|
||
return '[u] [srijedu] [u] LT';
|
||
case 6:
|
||
return '[u] [subotu] [u] LT';
|
||
case 1:
|
||
case 2:
|
||
case 4:
|
||
case 5:
|
||
return '[u] dddd [u] LT';
|
||
}
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
switch (d.day()) {
|
||
case 0:
|
||
case 3:
|
||
return '[prošlu] dddd [u] LT';
|
||
case 6:
|
||
return '[prošle] [subote] [u] LT';
|
||
case 1:
|
||
case 2:
|
||
case 4:
|
||
case 5:
|
||
return '[prošli] dddd [u] LT';
|
||
}
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2.', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2.', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/bs'), 'bs', "module should export bs");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Català
|
||
*************************************************/
|
||
|
||
exports["lang:ca"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('ca');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = "gener gen._febrer febr._març mar._abril abr._maig mai._juny jun._juliol jul._agost ag._setembre set._octubre oct._novembre nov._desembre des.".split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1º', '1º');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2º', '2º');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3º', '3º');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4º', '4º');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5º', '5º');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6º', '6º');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7º', '7º');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8º', '8º');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9º', '9º');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10º', '10º');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11º', '11º');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12º', '12º');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13º', '13º');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14º', '14º');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15º', '15º');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16º', '16º');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17º', '17º');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18º', '18º');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19º', '19º');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20º', '20º');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21º', '21º');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22º', '22º');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23º', '23º');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24º', '24º');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25º', '25º');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26º', '26º');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27º', '27º');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28º', '28º');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29º', '29º');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30º', '30º');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31º', '31º');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = "gener gen._febrer febr._març mar._abril abr._maig mai._juny jun._juliol jul._agost ag._setembre set._octubre oct._novembre nov._desembre des.".split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = "diumenge dg. Dg_dilluns dl. Dl_dimarts dt. Dt_dimecres dc. Dc_dijous dj. Dj_divendres dv. Dv_dissabte ds. Ds".split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "uns segons", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "un minut", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "un minut", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minuts", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minuts", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "una hora", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "una hora", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 hores", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 hores", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 hores", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "un dia", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "un dia", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dies", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "un dia", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dies", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dies", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "un mes", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "un mes", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "un mes", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 mesos", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 mesos", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 mesos", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "un mes", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 mesos", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 mesos", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "un any", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "un any", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 anys", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "un any", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 anys", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "en uns segons", "prefix");
|
||
test.equal(moment(0).from(30000), "fa uns segons", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "fa uns segons", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "en uns segons", "en uns segons");
|
||
test.equal(moment().add({d: 5}).fromNow(), "en 5 dies", "en 5 dies");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(7);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "avui a les 2:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "avui a les 2:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "avui a les 3:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "demà a les 2:00", "tomorrow at the same time");
|
||
test.equal(moment(a).add({ d: 1, h : -1 }).calendar(), "demà a la 1:00", "tomorrow minus 1 hour");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "avui a la 1:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "ahir a les 2:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [a ' + ((m.hours() !== 1) ? 'les' : 'la') + '] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [a ' + ((m.hours() !== 1) ? 'les' : 'la') + '] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [a ' + ((m.hours() !== 1) ? 'les' : 'la') + '] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[el] dddd [passat a ' + ((m.hours() !== 1) ? 'les' : 'la') + '] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[el] dddd [passat a ' + ((m.hours() !== 1) ? 'les' : 'la') + '] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[el] dddd [passat a ' + ((m.hours() !== 1) ? 'les' : 'la') + '] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52º', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1º', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1º', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2º', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2º', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/ca'), 'ca', "module should export ca");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Czech
|
||
*************************************************/
|
||
|
||
exports["lang:cs"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('cs');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'leden led_únor úno_březen bře_duben dub_květen kvě_červen čvn_červenec čvc_srpen srp_září zář_říjen říj_listopad lis_prosinec pro'.split("_"), i;
|
||
function equalTest(input, mmm, monthIndex) {
|
||
test.equal(moment(input, mmm).month(), monthIndex, input + ' should be month ' + (monthIndex + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss', 'neděle, únor 14. 2010, 3:25:50'],
|
||
['ddd, h', 'ne, 3'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 únor úno'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. neděle ne ne'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '6 6. 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['DDDo [den v roce]', '45. den v roce'],
|
||
['L', '14. 02. 2010'],
|
||
['LL', '14. únor 2010'],
|
||
['LLL', '14. únor 2010 15.25'],
|
||
['LLLL', 'neděle 14. únor 2010 15.25'],
|
||
['l', '14. 2. 2010'],
|
||
['ll', '14. úno 2010'],
|
||
['lll', '14. úno 2010 15.25'],
|
||
['llll', 'ne 14. úno 2010 15.25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'leden led_únor úno_březen bře_duben dub_květen kvě_červen čvn_červenec čvc_srpen srp_září zář_říjen říj_listopad lis_prosinec pro'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'neděle ne ne_pondělí po po_úterý út út_středa st st_čtvrtek čt čt_pátek pá pá_sobota so so'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "pár sekund", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "minuta", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "minuta", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minuty", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minut", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "hodina", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "hodina", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 hodiny", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 hodin", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 hodin", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "den", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "den", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dny", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "den", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dní", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dní", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "měsíc", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "měsíc", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "měsíc", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 měsíce", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 měsíce", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 měsíce", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "měsíc", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 měsíců", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 měsíců", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "rok", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "rok", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 roky", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "rok", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 let", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "za pár sekund", "prefix");
|
||
test.equal(moment(0).from(30000), "před pár sekundami", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "před pár sekundami", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow (future)" : function (test) {
|
||
test.expect(16);
|
||
test.equal(moment().add({s: 30}).fromNow(), "za pár sekund", "in a few seconds");
|
||
test.equal(moment().add({m: 1}).fromNow(), "za minutu", "in a minute");
|
||
test.equal(moment().add({m: 3}).fromNow(), "za 3 minuty", "in 3 minutes");
|
||
test.equal(moment().add({m: 10}).fromNow(), "za 10 minut", "in 10 minutes");
|
||
test.equal(moment().add({h: 1}).fromNow(), "za hodinu", "in an hour");
|
||
test.equal(moment().add({h: 3}).fromNow(), "za 3 hodiny", "in 3 hours");
|
||
test.equal(moment().add({h: 10}).fromNow(), "za 10 hodin", "in 10 hours");
|
||
test.equal(moment().add({d: 1}).fromNow(), "za den", "in a day");
|
||
test.equal(moment().add({d: 3}).fromNow(), "za 3 dny", "in 3 days");
|
||
test.equal(moment().add({d: 10}).fromNow(), "za 10 dní", "in 10 days");
|
||
test.equal(moment().add({M: 1}).fromNow(), "za měsíc", "in a month");
|
||
test.equal(moment().add({M: 3}).fromNow(), "za 3 měsíce", "in 3 months");
|
||
test.equal(moment().add({M: 10}).fromNow(), "za 10 měsíců", "in 10 months");
|
||
test.equal(moment().add({y: 1}).fromNow(), "za rok", "in a year");
|
||
test.equal(moment().add({y: 3}).fromNow(), "za 3 roky", "in 3 years");
|
||
test.equal(moment().add({y: 10}).fromNow(), "za 10 let", "in 10 years");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow (past)" : function (test) {
|
||
test.expect(16);
|
||
test.equal(moment().subtract({s: 30}).fromNow(), "před pár sekundami", "a few seconds ago");
|
||
test.equal(moment().subtract({m: 1}).fromNow(), "před minutou", "a minute ago");
|
||
test.equal(moment().subtract({m: 3}).fromNow(), "před 3 minutami", "3 minutes ago");
|
||
test.equal(moment().subtract({m: 10}).fromNow(), "před 10 minutami", "10 minutes ago");
|
||
test.equal(moment().subtract({h: 1}).fromNow(), "před hodinou", "an hour ago");
|
||
test.equal(moment().subtract({h: 3}).fromNow(), "před 3 hodinami", "3 hours ago");
|
||
test.equal(moment().subtract({h: 10}).fromNow(), "před 10 hodinami", "10 hours ago");
|
||
test.equal(moment().subtract({d: 1}).fromNow(), "před dnem", "a day ago");
|
||
test.equal(moment().subtract({d: 3}).fromNow(), "před 3 dny", "3 days ago");
|
||
test.equal(moment().subtract({d: 10}).fromNow(), "před 10 dny", "10 days ago");
|
||
test.equal(moment().subtract({M: 1}).fromNow(), "před měsícem", "a month ago");
|
||
test.equal(moment().subtract({M: 3}).fromNow(), "před 3 měsíci", "3 months ago");
|
||
test.equal(moment().subtract({M: 10}).fromNow(), "před 10 měsíci", "10 months ago");
|
||
test.equal(moment().subtract({y: 1}).fromNow(), "před rokem", "a year ago");
|
||
test.equal(moment().subtract({y: 3}).fromNow(), "před 3 lety", "3 years ago");
|
||
test.equal(moment().subtract({y: 10}).fromNow(), "před 10 lety", "10 years ago");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "dnes v 2.00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "dnes v 2.25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "dnes v 3.00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "zítra v 2.00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "dnes v 1.00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "včera v 2.00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m, nextDay;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
nextDay = '';
|
||
switch (m.day()) {
|
||
case 0:
|
||
nextDay = 'v neděli';
|
||
break;
|
||
case 1:
|
||
nextDay = 'v pondělí';
|
||
break;
|
||
case 2:
|
||
nextDay = 'v úterý';
|
||
break;
|
||
case 3:
|
||
nextDay = 've středu';
|
||
break;
|
||
case 4:
|
||
nextDay = 've čtvrtek';
|
||
break;
|
||
case 5:
|
||
nextDay = 'v pátek';
|
||
break;
|
||
case 6:
|
||
nextDay = 'v sobotu';
|
||
break;
|
||
}
|
||
test.equal(m.calendar(), m.format('[' + nextDay + '] [v] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[' + nextDay + '] [v] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[' + nextDay + '] [v] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m, lastDay;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
lastDay = '';
|
||
switch (m.day()) {
|
||
case 0:
|
||
lastDay = 'minulou neděli';
|
||
break;
|
||
case 1:
|
||
lastDay = 'minulé pondělí';
|
||
break;
|
||
case 2:
|
||
lastDay = 'minulé úterý';
|
||
break;
|
||
case 3:
|
||
lastDay = 'minulou středu';
|
||
break;
|
||
case 4:
|
||
lastDay = 'minulý čtvrtek';
|
||
break;
|
||
case 5:
|
||
lastDay = 'minulý pátek';
|
||
break;
|
||
case 6:
|
||
lastDay = 'minulou sobotu';
|
||
break;
|
||
}
|
||
test.equal(m.calendar(), m.format('[' + lastDay + '] [v] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[' + lastDay + '] [v] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[' + lastDay + '] [v] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
"humanize duration" : function (test) {
|
||
test.expect(4);
|
||
test.equal(moment.duration(1, "minutes").humanize(), "minuta", "a minute (future)");
|
||
test.equal(moment.duration(1, "minutes").humanize(true), "za minutu", "in a minute");
|
||
test.equal(moment.duration(-1, "minutes").humanize(), "minuta", "a minute (past)");
|
||
test.equal(moment.duration(-1, "minutes").humanize(true), "před minutou", "a minute ago");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/cs'), 'cs', "module should export cs");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Chuvash
|
||
*************************************************/
|
||
|
||
exports["lang:cv"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('cv');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'кăрлач кăр_нарăс нар_пуш пуш_ака ака_май май_çĕртме çĕр_утă утă_çурла çур_авăн ав_юпа юпа_чӳк чӳк_раштав раш'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'вырсарникун, нарăс 14-мĕш 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'выр, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2-мĕш 02 нарăс нар'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14-мĕш 14'],
|
||
['d do dddd ddd dd', '0 0-мĕш вырсарникун выр вр'],
|
||
['DDD DDDo DDDD', '45 45-мĕш 045'],
|
||
['w wo ww', '7 7-мĕш 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['Çулăн DDDo кунĕ', 'Çулăн 45-мĕш кунĕ'],
|
||
['L', '14-02-2010'],
|
||
['LL', '2010 çулхи нарăс уйăхĕн 14-мĕшĕ'],
|
||
['LLL', '2010 çулхи нарăс уйăхĕн 14-мĕшĕ, 15:25'],
|
||
['LLLL', 'вырсарникун, 2010 çулхи нарăс уйăхĕн 14-мĕшĕ, 15:25'],
|
||
['l', '14-2-2010'],
|
||
['ll', '2010 çулхи нар уйăхĕн 14-мĕшĕ'],
|
||
['lll', '2010 çулхи нар уйăхĕн 14-мĕшĕ, 15:25'],
|
||
['llll', 'выр, 2010 çулхи нар уйăхĕн 14-мĕшĕ, 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1-мĕш', '1-мĕш');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2-мĕш', '2-мĕш');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3-мĕш', '3-мĕш');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4-мĕш', '4-мĕш');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5-мĕш', '5-мĕш');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6-мĕш', '6-мĕш');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7-мĕш', '7-мĕш');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8-мĕш', '8-мĕш');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9-мĕш', '9-мĕш');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10-мĕш', '10-мĕш');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11-мĕш', '11-мĕш');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12-мĕш', '12-мĕш');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13-мĕш', '13-мĕш');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14-мĕш', '14-мĕш');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15-мĕш', '15-мĕш');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16-мĕш', '16-мĕш');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17-мĕш', '17-мĕш');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18-мĕш', '18-мĕш');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19-мĕш', '19-мĕш');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20-мĕш', '20-мĕш');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21-мĕш', '21-мĕш');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22-мĕш', '22-мĕш');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23-мĕш', '23-мĕш');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24-мĕш', '24-мĕш');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25-мĕш', '25-мĕш');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26-мĕш', '26-мĕш');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27-мĕш', '27-мĕш');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28-мĕш', '28-мĕш');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29-мĕш', '29-мĕш');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30-мĕш', '30-мĕш');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31-мĕш', '31-мĕш');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'кăрлач кăр_нарăс нар_пуш пуш_ака ака_май май_çĕртме çĕр_утă утă_çурла çур_авăн ав_юпа юпа_чӳк чӳк_раштав раш'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'вырсарникун выр вр_тунтикун тун тн_ытларикун ытл ыт_юнкун юн юн_кĕçнерникун кĕç кç_эрнекун эрн эр_шăматкун шăм шм'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "пĕр-ик çеккунт", "44 sekunder = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "пĕр минут", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "пĕр минут", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 минут", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 минут", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "пĕр сехет", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "пĕр сехет", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 сехет", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 сехет", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 сехет", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "пĕр кун", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "пĕр кун", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 кун", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "пĕр кун", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 кун", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 кун", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "пĕр уйăх", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "пĕр уйăх", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "пĕр уйăх", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 уйăх", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 уйăх", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 уйăх", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "пĕр уйăх", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 уйăх", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 уйăх", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "пĕр çул", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "пĕр çул", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 çул", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "пĕр çул", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 çул", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "пĕр-ик çеккунтран", "prefix");
|
||
test.equal(moment(0).from(30000), "пĕр-ик çеккунт каялла", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "пĕр-ик çеккунт каялла", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(4);
|
||
test.equal(moment().add({s: 30}).fromNow(), "пĕр-ик çеккунтран", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "5 кунран", "in 5 days");
|
||
test.equal(moment().add({h: 2}).fromNow(), "2 сехетрен", "in 2 hours, the right suffix!");
|
||
test.equal(moment().add({y: 3}).fromNow(), "3 çултан", "in 3 years, the right suffix!");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
test.equal(moment(a).calendar(), "Паян 02:00 сехетре", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Паян 02:25 сехетре", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Паян 03:00 сехетре", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Ыран 02:00 сехетре", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Паян 01:00 сехетре", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Ĕнер 02:00 сехетре", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('[Çитес] dddd LT [сехетре]'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[Çитес] dddd LT [сехетре]'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[Çитес] dddd LT [сехетре]'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[Иртнĕ] dddd LT [сехетре]'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[Иртнĕ] dddd LT [сехетре]'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[Иртнĕ] dddd LT [сехетре]'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-мĕш', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-мĕш', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2-мĕш', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2-мĕш', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-мĕш', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/cv'), 'cv', "module should export cv");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Welsh
|
||
*************************************************/
|
||
|
||
exports["lang:cy"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('cy');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'Ionawr Ion_Chwefror Chwe_Mawrth Maw_Ebrill Ebr_Mai Mai_Mehefin Meh_Gorffennaf Gor_Awst Aws_Medi Med_Hydref Hyd_Tachwedd Tach_Rhagfyr Rhag'.split("_"),
|
||
i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'Dydd Sul, Chwefror 14eg 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'Sul, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2il 02 Chwefror Chwe'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14eg 14'],
|
||
['d do dddd ddd dd', '0 0 Dydd Sul Sul Su'],
|
||
['DDD DDDo DDDD', '45 45ain 045'],
|
||
['w wo ww', '6 6ed 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45ain day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 Chwefror 2010'],
|
||
['LLL', '14 Chwefror 2010 15:25'],
|
||
['LLLL', 'Dydd Sul, 14 Chwefror 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 Chwe 2010'],
|
||
['lll', '14 Chwe 2010 15:25'],
|
||
['llll', 'Sul, 14 Chwe 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1af', '1af');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2il', '2il');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3ydd', '3ydd');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4ydd', '4ydd');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5ed', '5ed');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6ed', '6ed');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7ed', '7ed');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8fed', '8fed');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9fed', '9fed');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10fed', '10fed');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11eg', '11eg');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12fed', '12fed');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13eg', '13eg');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14eg', '14eg');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15fed', '15fed');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16eg', '16eg');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17eg', '17eg');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18fed', '18fed');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19eg', '19eg');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20fed', '20fed');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21ain', '21ain');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22ain', '22ain');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23ain', '23ain');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24ain', '24ain');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25ain', '25ain');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26ain', '26ain');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27ain', '27ain');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28ain', '28ain');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29ain', '29ain');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30ain', '30ain');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31ain', '31ain');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'Ionawr Ion_Chwefror Chwe_Mawrth Maw_Ebrill Ebr_Mai Mai_Mehefin Meh_Gorffennaf Gor_Awst Aws_Medi Med_Hydref Hyd_Tachwedd Tach_Rhagfyr Rhag'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'Dydd Sul Sul Su_Dydd Llun Llun Ll_Dydd Mawrth Maw Ma_Dydd Mercher Mer Me_Dydd Iau Iau Ia_Dydd Gwener Gwe Gw_Dydd Sadwrn Sad Sa'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "ychydig eiliadau", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "munud", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "munud", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 munud", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 munud", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "awr", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "awr", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 awr", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 awr", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 awr", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "diwrnod", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "diwrnod", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 diwrnod", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "diwrnod", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 diwrnod", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 diwrnod", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "mis", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "mis", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "mis", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 mis", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 mis", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 mis", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "mis", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 mis", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 mis", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "blwyddyn", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "blwyddyn", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 flynedd", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "blwyddyn", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 flynedd", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "mewn ychydig eiliadau", "prefix");
|
||
test.equal(moment(0).from(30000), "ychydig eiliadau yn àl", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "mewn ychydig eiliadau", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "mewn 5 diwrnod", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"same day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Heddiw am 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Heddiw am 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Heddiw am 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Yfory am 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Heddiw am 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Ddoe am 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"same next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [am] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [am] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [am] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"same last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [diwethaf am] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [diwethaf am] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [diwethaf am] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"same all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52ain', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1af', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1af', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2il', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2il', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/cy'), 'cy', "module should export cy");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Danish
|
||
*************************************************/
|
||
|
||
exports["lang:da"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('da');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'januar jan_februar feb_marts mar_april apr_maj maj_juni jun_juli jul_august aug_september sep_oktober okt_november nov_december dec'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd [den] Do MMMM YYYY, h:mm:ss a', 'søndag den 14. februar 2010, 3:25:50 pm'],
|
||
['ddd hA', 'søn 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 februar feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. søndag søn sø'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '6 6. 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[den] DDDo [dag på året]', 'den 45. dag på året'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 februar 2010'],
|
||
['LLL', '14 februar 2010 15:25'],
|
||
['LLLL', 'søndag 14. februar, 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 feb 2010'],
|
||
['lll', '14 feb 2010 15:25'],
|
||
['llll', 'søn 14. feb, 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'januar jan_februar feb_marts mar_april apr_maj maj_juni jun_juli jul_august aug_september sep_oktober okt_november nov_december dec'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'søndag søn sø_mandag man ma_tirsdag tir ti_onsdag ons on_torsdag tor to_fredag fre fr_lørdag lør lø'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "få sekunder", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "et minut", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "et minut", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutter", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutter", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "en time", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "en time", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 timer", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 timer", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 timer", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "en dag", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "en dag", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dage", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "en dag", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dage", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dage", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "en måned", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "en måned", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "en måned", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 måneder", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 måneder", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 måneder", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "en måned", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 måneder", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 måneder", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "et år", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "et år", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 år", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "et år", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 år", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "om få sekunder", "prefix");
|
||
test.equal(moment(0).from(30000), "få sekunder siden", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "få sekunder siden", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "om få sekunder", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "om 5 dage", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/da'), 'da', "module should export da");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
German
|
||
*************************************************/
|
||
|
||
exports["lang:de"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('de');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'Januar Jan._Februar Febr._März Mrz._April Apr._Mai Mai_Juni Jun._Juli Jul._August Aug._September Sept._Oktober Okt._November Nov._Dezember Dez.'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, h:mm:ss a', 'Sonntag, 14. Februar 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'So., 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 Februar Febr.'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. Sonntag So. So'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '6 6. 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45. day of the year'],
|
||
['L', '14.02.2010'],
|
||
['LL', '14. Februar 2010'],
|
||
['LLL', '14. Februar 2010 15:25 Uhr'],
|
||
['LLLL', 'Sonntag, 14. Februar 2010 15:25 Uhr'],
|
||
['l', '14.2.2010'],
|
||
['ll', '14. Febr. 2010'],
|
||
['lll', '14. Febr. 2010 15:25 Uhr'],
|
||
['llll', 'So., 14. Febr. 2010 15:25 Uhr']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'Januar Jan._Februar Febr._März Mrz._April Apr._Mai Mai_Juni Jun._Juli Jul._August Aug._September Sept._Oktober Okt._November Nov._Dezember Dez.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'Sonntag So. So_Montag Mo. Mo_Dienstag Di. Di_Mittwoch Mi. Mi_Donnerstag Do. Do_Freitag Fr. Fr_Samstag Sa. Sa'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "ein paar Sekunden", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "eine Minute", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "eine Minute", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 Minuten", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 Minuten", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "eine Stunde", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "eine Stunde", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 Stunden", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 Stunden", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 Stunden", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "ein Tag", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "ein Tag", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 Tage", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "ein Tag", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 Tage", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 Tage", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "ein Monat", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "ein Monat", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "ein Monat", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 Monate", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 Monate", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 Monate", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "ein Monat", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 Monate", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 Monate", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "ein Jahr", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "ein Jahr", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 Jahre", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "ein Jahr", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 Jahre", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "in ein paar Sekunden", "prefix");
|
||
test.equal(moment(0).from(30000), "vor ein paar Sekunden", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "in ein paar Sekunden", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "in 5 Tagen", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Heute um 02:00 Uhr", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Heute um 02:25 Uhr", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Heute um 03:00 Uhr", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Morgen um 02:00 Uhr", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Heute um 01:00 Uhr", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Gestern um 02:00 Uhr", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [um] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [um] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [um] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[letzten] dddd [um] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[letzten] dddd [um] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[letzten] dddd [um] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/de'), 'de', "module should export de");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Modern Greek
|
||
*************************************************/
|
||
|
||
exports["lang:el"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('el');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var i,
|
||
tests = 'Ιανουάριος Ιαν_Φεβρουάριος Φεβ_Μάρτιος Μαρ_Απρίλιος Απρ_Μάιος Μαϊ_Ιούνιος Ιουν_Ιούλιος Ιουλ_Αύγουστος Αυγ_Σεπτέμβριος Σεπ_Οκτώβριος Οκτ_Νοέμβριος Νοε_Δεκέμβριος Δεκ'.split("_");
|
||
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(24);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'Κυριακή, Φεβρουάριος 14η 2010, 3:25:50 μμ'],
|
||
['dddd, D MMMM YYYY, h:mm:ss a', 'Κυριακή, 14 Φεβρουαρίου 2010, 3:25:50 μμ'],
|
||
['ddd, hA', 'Κυρ, 3ΜΜ'],
|
||
['dddd, MMMM YYYY', 'Κυριακή, Φεβρουάριος 2010'],
|
||
['M Mo MM MMMM MMM', '2 2η 02 Φεβρουάριος Φεβ'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14η 14'],
|
||
['d do dddd ddd dd', '0 0η Κυριακή Κυρ Κυ'],
|
||
['DDD DDDo DDDD', '45 45η 045'],
|
||
['w wo ww', '6 6η 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'μμ ΜΜ'],
|
||
['[the] DDDo [day of the year]', 'the 45η day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 Φεβρουαρίου 2010'],
|
||
['LLL', '14 Φεβρουαρίου 2010 3:25 ΜΜ'],
|
||
['LLLL', 'Κυριακή, 14 Φεβρουαρίου 2010 3:25 ΜΜ'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 Φεβ 2010'],
|
||
['lll', '14 Φεβ 2010 3:25 ΜΜ'],
|
||
['llll', 'Κυρ, 14 Φεβ 2010 3:25 ΜΜ']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1η', '1η');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2η', '2η');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3η', '3η');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4η', '4η');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5η', '5η');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6η', '6η');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7η', '7η');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8η', '8η');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9η', '9η');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10η', '10η');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11η', '11η');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12η', '12η');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13η', '13η');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14η', '14η');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15η', '15η');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16η', '16η');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17η', '17η');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18η', '18η');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19η', '19η');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20η', '20η');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21η', '21η');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22η', '22η');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23η', '23η');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24η', '24η');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25η', '25η');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26η', '26η');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27η', '27η');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28η', '28η');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29η', '29η');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30η', '30η');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31η', '31η');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var i,
|
||
expected = 'Ιανουάριος Ιαν_Φεβρουάριος Φεβ_Μάρτιος Μαρ_Απρίλιος Απρ_Μάιος Μαϊ_Ιούνιος Ιουν_Ιούλιος Ιουλ_Αύγουστος Αυγ_Σεπτέμβριος Σεπ_Οκτώβριος Οκτ_Νοέμβριος Νοε_Δεκέμβριος Δεκ'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var i,
|
||
expected = 'Κυριακή Κυρ Κυ_Δευτέρα Δευ Δε_Τρίτη Τρι Τρ_Τετάρτη Τετ Τε_Πέμπτη Πεμ Πε_Παρασκευή Παρ Πα_Σάββατο Σαβ Σα'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "δευτερόλεπτα", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "ένα λεπτό", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "ένα λεπτό", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 λεπτά", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 λεπτά", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "μία ώρα", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "μία ώρα", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 ώρες", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 ώρες", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 ώρες", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "μία μέρα", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "μία μέρα", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 μέρες", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "μία μέρα", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 μέρες", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 μέρες", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "ένας μήνας", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "ένας μήνας", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "ένας μήνας", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 μήνες", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 μήνες", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 μήνες", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "ένας μήνας", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 μήνες", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 μήνες", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "ένας χρόνος", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "ένας χρόνος", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 χρόνια", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "ένας χρόνος", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 χρόνια", "5 years = 5 years");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "σε δευτερόλεπτα", "prefix");
|
||
test.equal(moment(0).from(30000), "δευτερόλεπτα πριν", "suffix");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.equal(moment().fromNow(), "δευτερόλεπτα πριν", "now from now should display as in the past");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "σε δευτερόλεπτα", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "σε 5 μέρες", "in 5 days");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Σήμερα στις 2:00 ΠΜ", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Σήμερα στις 2:25 ΠΜ", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Σήμερα στις 3:00 ΠΜ", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Αύριο στις 2:00 ΠΜ", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Σήμερα στη 1:00 ΠΜ", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Χθες στις 2:00 ΠΜ", "yesterday at the same time");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [' + (m.hours() % 12 === 1 ? 'στη' : 'στις') + '] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [στις] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [στις] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[την προηγούμενη] dddd [' + (m.hours() % 12 === 1 ? 'στη' : 'στις') + '] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[την προηγούμενη] dddd [στις] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[την προηγούμενη] dddd [στις] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 7]).week(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 14]).week(), 2, "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 52, "Dec 31 2006 should be week 52");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 30]).week(), 52, "Dec 30 2007 should be week 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 52, "Dec 29 2002 should be week 52");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 28]).week(), 52, "Dec 28 2008 should be week 52");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(7);
|
||
|
||
test.equal(moment([2009, 11, 27]).week(), 52, "Dec 27 2009 should be week 52");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 2]).week(), 53, "Jan 2 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 9]).week(), 1, "Jan 9 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 26]).week(), 51, "Dec 26 2010 should be week 51");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 8]).week(), 1, "Jan 8 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday format" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52η', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1η', "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1η', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2η', "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2η', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/el'), 'el', "module should export el");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Australian English
|
||
*************************************************/
|
||
|
||
exports["lang:en-au"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('en-au');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'Sunday, February 14th 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'Sun, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2nd 02 February Feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14th 14'],
|
||
['d do dddd ddd dd', '0 0th Sunday Sun Su'],
|
||
['DDD DDDo DDDD', '45 45th 045'],
|
||
['w wo ww', '6 6th 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45th day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 February 2010'],
|
||
['LLL', '14 February 2010 3:25 PM'],
|
||
['LLLL', 'Sunday, 14 February 2010 3:25 PM'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 Feb 2010'],
|
||
['lll', '14 Feb 2010 3:25 PM'],
|
||
['llll', 'Sun, 14 Feb 2010 3:25 PM']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1st', '1st');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2nd', '2nd');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3rd', '3rd');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4th', '4th');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5th', '5th');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6th', '6th');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7th', '7th');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8th', '8th');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9th', '9th');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10th', '10th');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11th', '11th');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12th', '12th');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13th', '13th');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14th', '14th');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15th', '15th');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16th', '16th');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17th', '17th');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18th', '18th');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19th', '19th');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20th', '20th');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21st', '21st');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22nd', '22nd');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23rd', '23rd');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24th', '24th');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25th', '25th');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26th', '26th');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27th', '27th');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28th', '28th');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29th', '29th');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30th', '30th');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31st', '31st');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'Sunday Sun Su_Monday Mon Mo_Tuesday Tue Tu_Wednesday Wed We_Thursday Thu Th_Friday Fri Fr_Saturday Sat Sa'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "a few seconds", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "a minute", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "a minute", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutes", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutes", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "an hour", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "an hour", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 hours", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 hours", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 hours", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "a day", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "a day", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 days", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "a day", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 days", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 days", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "a month", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "a month", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "a month", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 months", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 months", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 months", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "a month", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 months", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 months", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "a year", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "a year", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 years", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "a year", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 years", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "in a few seconds", "prefix");
|
||
test.equal(moment(0).from(30000), "a few seconds ago", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "a few seconds ago", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "in a few seconds", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "in 5 days", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Today at 2:00 AM", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Today at 2:25 AM", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Today at 3:00 AM", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Tomorrow at 2:00 AM", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Today at 1:00 AM", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Yesterday at 2:00 AM", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [at] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [at] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [at] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[Last] dddd [at] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[Last] dddd [at] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[Last] dddd [at] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52nd', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1st', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1st', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2nd', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2nd', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/en-au'), 'en-au', "module should export en-au");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
/**************************************************
|
||
English (Canadian)
|
||
*************************************************/
|
||
|
||
exports["lang:en-ca"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('en-ca');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var i,
|
||
tests = 'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split("_");
|
||
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'Sunday, February 14th 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'Sun, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2nd 02 February Feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14th 14'],
|
||
['d do dddd ddd dd', '0 0th Sunday Sun Su'],
|
||
['DDD DDDo DDDD', '45 45th 045'],
|
||
['w wo ww', '8 8th 08'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45th day of the year'],
|
||
['L', '2010-02-14'],
|
||
['LL', '14 February, 2010'],
|
||
['LLL', '14 February, 2010 3:25 PM'],
|
||
['LLLL', 'Sunday, 14 February, 2010 3:25 PM'],
|
||
['l', '2010-2-14'],
|
||
['ll', '14 Feb, 2010'],
|
||
['lll', '14 Feb, 2010 3:25 PM'],
|
||
['llll', 'Sun, 14 Feb, 2010 3:25 PM']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1st', '1st');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2nd', '2nd');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3rd', '3rd');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4th', '4th');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5th', '5th');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6th', '6th');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7th', '7th');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8th', '8th');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9th', '9th');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10th', '10th');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11th', '11th');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12th', '12th');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13th', '13th');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14th', '14th');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15th', '15th');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16th', '16th');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17th', '17th');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18th', '18th');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19th', '19th');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20th', '20th');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21st', '21st');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22nd', '22nd');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23rd', '23rd');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24th', '24th');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25th', '25th');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26th', '26th');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27th', '27th');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28th', '28th');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29th', '29th');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30th', '30th');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31st', '31st');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var i,
|
||
expected = 'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var i,
|
||
expected = 'Sunday Sun Su_Monday Mon Mo_Tuesday Tue Tu_Wednesday Wed We_Thursday Thu Th_Friday Fri Fr_Saturday Sat Sa'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "a few seconds", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "a minute", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "a minute", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutes", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutes", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "an hour", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "an hour", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 hours", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 hours", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 hours", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "a day", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "a day", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 days", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "a day", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 days", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 days", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "a month", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "a month", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "a month", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 months", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 months", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 months", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "a month", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 months", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 months", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "a year", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "a year", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 years", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "a year", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 years", "5 years = 5 years");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "in a few seconds", "prefix");
|
||
test.equal(moment(0).from(30000), "a few seconds ago", "suffix");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.equal(moment().fromNow(), "a few seconds ago", "now from now should display as in the past");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "in a few seconds", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "in 5 days", "in 5 days");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Today at 2:00 AM", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Today at 2:25 AM", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Today at 3:00 AM", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Tomorrow at 2:00 AM", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Today at 1:00 AM", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Yesterday at 2:00 AM", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [at] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [at] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [at] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[Last] dddd [at] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[Last] dddd [at] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[Last] dddd [at] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Sunday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 2, "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 3, "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 1, "Dec 31 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 2, "Jan 7 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 3, "Jan 14 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 52, "Dec 29 2007 should be week 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 2, "Jan 6 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 3, "Jan 13 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 1, "Dec 29 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 2, "Jan 5 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 3, "Jan 12 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 28]).week(), 1, "Dec 28 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 2, "Jan 4 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 3, "Jan 11 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 27]).week(), 1, "Dec 27 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 1, "Jan 2 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 2, "Jan 3 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 2, "Jan 9 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 3, "Jan 10 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2010, 11, 26]).week(), 1, "Dec 26 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 2, "Jan 2 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 3, "Jan 9 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday format" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1st', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1st', "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2nd', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2nd', "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3rd', "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/en-ca'), 'en-ca', "module should export en-ca");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
British English
|
||
*************************************************/
|
||
|
||
exports["lang:en-gb"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('en-gb');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'Sunday, February 14th 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'Sun, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2nd 02 February Feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14th 14'],
|
||
['d do dddd ddd dd', '0 0th Sunday Sun Su'],
|
||
['DDD DDDo DDDD', '45 45th 045'],
|
||
['w wo ww', '6 6th 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45th day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 February 2010'],
|
||
['LLL', '14 February 2010 15:25'],
|
||
['LLLL', 'Sunday, 14 February 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 Feb 2010'],
|
||
['lll', '14 Feb 2010 15:25'],
|
||
['llll', 'Sun, 14 Feb 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1st', '1st');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2nd', '2nd');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3rd', '3rd');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4th', '4th');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5th', '5th');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6th', '6th');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7th', '7th');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8th', '8th');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9th', '9th');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10th', '10th');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11th', '11th');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12th', '12th');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13th', '13th');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14th', '14th');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15th', '15th');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16th', '16th');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17th', '17th');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18th', '18th');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19th', '19th');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20th', '20th');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21st', '21st');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22nd', '22nd');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23rd', '23rd');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24th', '24th');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25th', '25th');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26th', '26th');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27th', '27th');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28th', '28th');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29th', '29th');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30th', '30th');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31st', '31st');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'Sunday Sun Su_Monday Mon Mo_Tuesday Tue Tu_Wednesday Wed We_Thursday Thu Th_Friday Fri Fr_Saturday Sat Sa'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "a few seconds", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "a minute", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "a minute", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutes", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutes", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "an hour", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "an hour", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 hours", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 hours", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 hours", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "a day", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "a day", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 days", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "a day", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 days", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 days", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "a month", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "a month", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "a month", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 months", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 months", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 months", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "a month", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 months", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 months", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "a year", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "a year", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 years", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "a year", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 years", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "in a few seconds", "prefix");
|
||
test.equal(moment(0).from(30000), "a few seconds ago", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "a few seconds ago", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "in a few seconds", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "in 5 days", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Today at 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Today at 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Today at 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Tomorrow at 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Today at 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Yesterday at 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [at] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [at] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [at] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[Last] dddd [at] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[Last] dddd [at] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[Last] dddd [at] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52nd', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1st', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1st', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2nd', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2nd', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/en-gb'), 'en-gb', "module should export en-gb");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
English
|
||
*************************************************/
|
||
|
||
exports["lang:en"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('en');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var i,
|
||
tests = 'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split("_");
|
||
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'Sunday, February 14th 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'Sun, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2nd 02 February Feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14th 14'],
|
||
['d do dddd ddd dd', '0 0th Sunday Sun Su'],
|
||
['DDD DDDo DDDD', '45 45th 045'],
|
||
['w wo ww', '8 8th 08'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45th day of the year'],
|
||
['L', '02/14/2010'],
|
||
['LL', 'February 14 2010'],
|
||
['LLL', 'February 14 2010 3:25 PM'],
|
||
['LLLL', 'Sunday, February 14 2010 3:25 PM'],
|
||
['l', '2/14/2010'],
|
||
['ll', 'Feb 14 2010'],
|
||
['lll', 'Feb 14 2010 3:25 PM'],
|
||
['llll', 'Sun, Feb 14 2010 3:25 PM']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1st', '1st');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2nd', '2nd');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3rd', '3rd');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4th', '4th');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5th', '5th');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6th', '6th');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7th', '7th');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8th', '8th');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9th', '9th');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10th', '10th');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11th', '11th');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12th', '12th');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13th', '13th');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14th', '14th');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15th', '15th');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16th', '16th');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17th', '17th');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18th', '18th');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19th', '19th');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20th', '20th');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21st', '21st');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22nd', '22nd');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23rd', '23rd');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24th', '24th');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25th', '25th');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26th', '26th');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27th', '27th');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28th', '28th');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29th', '29th');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30th', '30th');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31st', '31st');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var i,
|
||
expected = 'January Jan_February Feb_March Mar_April Apr_May May_June Jun_July Jul_August Aug_September Sep_October Oct_November Nov_December Dec'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var i,
|
||
expected = 'Sunday Sun Su_Monday Mon Mo_Tuesday Tue Tu_Wednesday Wed We_Thursday Thu Th_Friday Fri Fr_Saturday Sat Sa'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "a few seconds", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "a minute", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "a minute", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutes", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutes", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "an hour", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "an hour", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 hours", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 hours", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 hours", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "a day", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "a day", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 days", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "a day", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 days", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 days", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "a month", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "a month", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "a month", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 months", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 months", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 months", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "a month", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 months", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 months", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "a year", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "a year", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 years", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "a year", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 years", "5 years = 5 years");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "in a few seconds", "prefix");
|
||
test.equal(moment(0).from(30000), "a few seconds ago", "suffix");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.equal(moment().fromNow(), "a few seconds ago", "now from now should display as in the past");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "in a few seconds", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "in 5 days", "in 5 days");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Today at 2:00 AM", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Today at 2:25 AM", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Today at 3:00 AM", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Tomorrow at 2:00 AM", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Today at 1:00 AM", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Yesterday at 2:00 AM", "yesterday at the same time");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [at] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [at] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [at] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[Last] dddd [at] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[Last] dddd [at] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[Last] dddd [at] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Sunday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 2, "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 3, "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 1, "Dec 31 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 2, "Jan 7 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 3, "Jan 14 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 52, "Dec 29 2007 should be week 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 2, "Jan 6 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 3, "Jan 13 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 1, "Dec 29 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 2, "Jan 5 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 3, "Jan 12 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 28]).week(), 1, "Dec 28 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 2, "Jan 4 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 3, "Jan 11 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 27]).week(), 1, "Dec 27 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 1, "Jan 2 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 2, "Jan 3 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 2, "Jan 9 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 3, "Jan 10 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2010, 11, 26]).week(), 1, "Dec 26 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 2, "Jan 2 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 3, "Jan 9 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday format" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1st', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1st', "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2nd', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2nd', "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3rd', "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Esperanto
|
||
*************************************************/
|
||
|
||
exports["lang:eo"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('eo');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'januaro jan_februaro feb_marto mar_aprilo apr_majo maj_junio jun_julio jul_aŭgusto aŭg_septembro sep_oktobro okt_novembro nov_decembro dec'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'Dimanĉo, februaro 14a 2010, 3:25:50 p.t.m.'],
|
||
['ddd, hA', 'Dim, 3P.T.M.'],
|
||
['M Mo MM MMMM MMM', '2 2a 02 februaro feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14a 14'],
|
||
['d do dddd ddd dd', '0 0a Dimanĉo Dim Di'],
|
||
['DDD DDDo DDDD', '45 45a 045'],
|
||
['w wo ww', '7 7a 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'p.t.m. P.T.M.'],
|
||
['[la] DDDo [tago] [de] [la] [jaro]', 'la 45a tago de la jaro'],
|
||
['L', '2010-02-14'],
|
||
['LL', '14-an de februaro, 2010'],
|
||
['LLL', '14-an de februaro, 2010 15:25'],
|
||
['LLLL', 'Dimanĉo, la 14-an de februaro, 2010 15:25'],
|
||
['l', '2010-2-14'],
|
||
['ll', '14-an de feb, 2010'],
|
||
['lll', '14-an de feb, 2010 15:25'],
|
||
['llll', 'Dim, la 14-an de feb, 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1a', '1a');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2a', '2a');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3a', '3a');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4a', '4a');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5a', '5a');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6a', '6a');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7a', '7a');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8a', '8a');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9a', '9a');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10a', '10a');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11a', '11a');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12a', '12a');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13a', '13a');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14a', '14a');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15a', '15a');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16a', '16a');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17a', '17a');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18a', '18a');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19a', '19a');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20a', '20a');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21a', '21a');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22a', '22a');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23a', '23a');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24a', '24a');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25a', '25a');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26a', '26a');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27a', '27a');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28a', '28a');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29a', '29a');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30a', '30a');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31a', '31a');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'januaro jan_februaro feb_marto mar_aprilo apr_majo maj_junio jun_julio jul_aŭgusto aŭg_septembro sep_oktobro okt_novembro nov_decembro dec'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'Dimanĉo Dim Di_Lundo Lun Lu_Mardo Mard Ma_Merkredo Merk Me_Ĵaŭdo Ĵaŭ Ĵa_Vendredo Ven Ve_Sabato Sab Sa'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "sekundoj", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "minuto", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "minuto", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutoj", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutoj", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "horo", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "horo", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 horoj", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 horoj", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 horoj", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "tago", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "tago", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 tagoj", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "tago", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 tagoj", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 tagoj", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "monato", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "monato", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "monato", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 monatoj", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 monatoj", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 monatoj", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "monato", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 monatoj", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 monatoj", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "jaro", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "jaro", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 jaroj", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "jaro", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 jaroj", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "je sekundoj", "je prefix");
|
||
test.equal(moment(0).from(30000), "antaŭ sekundoj", "antaŭ prefix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "antaŭ sekundoj", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "je sekundoj", "je sekundoj");
|
||
test.equal(moment().add({d: 5}).fromNow(), "je 5 tagoj", "je 5 tagoj");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Hodiaŭ je 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Hodiaŭ je 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Hodiaŭ je 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Morgaŭ je 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Hodiaŭ je 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Hieraŭ je 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [je] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [je] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [je] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[pasinta] dddd [je] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[pasinta] dddd [je] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[pasinta] dddd [je] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1a', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1a', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2a', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2a', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3a', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/eo'), 'eo', "module should export eo");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Spanish
|
||
*************************************************/
|
||
|
||
exports["lang:es"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('es');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'enero ene._febrero feb._marzo mar._abril abr._mayo may._junio jun._julio jul._agosto ago._septiembre sep._octubre oct._noviembre nov._diciembre dic.'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(23);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'domingo, febrero 14º 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'dom., 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2º 02 febrero feb.'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14º 14'],
|
||
['d do dddd ddd dd', '0 0º domingo dom. Do'],
|
||
['DDD DDDo DDDD', '45 45º 045'],
|
||
['w wo ww', '6 6º 06'],
|
||
['YYYY-MMM-DD', '2010-feb-14'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45º day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 de febrero del 2010'],
|
||
['LLL', '14 de febrero del 2010 15:25'],
|
||
['LLLL', 'domingo, 14 de febrero del 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 de feb. del 2010'],
|
||
['lll', '14 de feb. del 2010 15:25'],
|
||
['llll', 'dom., 14 de feb. del 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1º', '1º');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2º', '2º');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3º', '3º');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4º', '4º');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5º', '5º');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6º', '6º');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7º', '7º');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8º', '8º');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9º', '9º');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10º', '10º');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11º', '11º');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12º', '12º');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13º', '13º');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14º', '14º');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15º', '15º');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16º', '16º');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17º', '17º');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18º', '18º');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19º', '19º');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20º', '20º');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21º', '21º');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22º', '22º');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23º', '23º');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24º', '24º');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25º', '25º');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26º', '26º');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27º', '27º');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28º', '28º');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29º', '29º');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30º', '30º');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31º', '31º');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'enero ene._febrero feb._marzo mar._abril abr._mayo may._junio jun._julio jul._agosto ago._septiembre sep._octubre oct._noviembre nov._diciembre dic.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'domingo dom. Do_lunes lun. Lu_martes mar. Ma_miércoles mié. Mi_jueves jue. Ju_viernes vie. Vi_sábado sáb. Sá'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "unos segundos", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "un minuto", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "un minuto", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutos", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutos", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "una hora", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "una hora", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 horas", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 horas", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 horas", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "un día", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "un día", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 días", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "un día", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 días", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 días", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "un mes", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "un mes", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "un mes", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 meses", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 meses", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 meses", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "un mes", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 meses", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 meses", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "un año", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "un año", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 años", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "un año", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 años", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "en unos segundos", "prefix");
|
||
test.equal(moment(0).from(30000), "hace unos segundos", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "hace unos segundos", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "en unos segundos", "en unos segundos");
|
||
test.equal(moment().add({d: 5}).fromNow(), "en 5 días", "en 5 días");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(7);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "hoy a las 2:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "hoy a las 2:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "hoy a las 3:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "mañana a las 2:00", "tomorrow at the same time");
|
||
test.equal(moment(a).add({ d: 1, h : -1 }).calendar(), "mañana a la 1:00", "tomorrow minus 1 hour");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "hoy a la 1:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "ayer a las 2:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [a la' + ((m.hours() !== 1) ? 's' : '') + '] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [a la' + ((m.hours() !== 1) ? 's' : '') + '] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [a la' + ((m.hours() !== 1) ? 's' : '') + '] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[el] dddd [pasado a la' + ((m.hours() !== 1) ? 's' : '') + '] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[el] dddd [pasado a la' + ((m.hours() !== 1) ? 's' : '') + '] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[el] dddd [pasado a la' + ((m.hours() !== 1) ? 's' : '') + '] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52º', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1º', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1º', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2º', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2º', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/es'), 'es', "module should export es");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Estonian
|
||
**************************************************/
|
||
|
||
exports["lang:et"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('et');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'jaanuar jaan_veebruar veebr_märts märts_aprill apr_mai mai_juuni juuni_juuli juuli_august aug_september sept_oktoober okt_november nov_detsember dets'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' peaks olema kuu ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, H:mm:ss', 'pühapäev, 14. veebruar 2010, 15:25:50'],
|
||
['ddd, h', 'P, 3'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 veebruar veebr'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. pühapäev P P'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '6 6. 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[aasta] DDDo [päev]', 'aasta 45. päev'],
|
||
['L', '14.02.2010'],
|
||
['LL', '14. veebruar 2010'],
|
||
['LLL', '14. veebruar 2010 15:25'],
|
||
['LLLL', 'pühapäev, 14. veebruar 2010 15:25'],
|
||
['l', '14.2.2010'],
|
||
['ll', '14. veebr 2010'],
|
||
['lll', '14. veebr 2010 15:25'],
|
||
['llll', 'P, 14. veebr 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'jaanuar jaan_veebruar veebr_märts märts_aprill apr_mai mai_juuni juuni_juuli juuli_august aug_september sept_oktoober okt_november nov_detsember dets'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'pühapäev P P_esmaspäev E E_teisipäev T T_kolmapäev K K_neljapäev N N_reede R R_laupäev L L'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "paar sekundit", "44 seconds = paar sekundit");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "üks minut", "45 seconds = üks minut");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "üks minut", "89 seconds = üks minut");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutit", "90 seconds = 2 minutit");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutit", "44 minutes = 44 minutit");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "üks tund", "45 minutes = tund aega");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "üks tund", "89 minutes = üks tund");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 tundi", "90 minutes = 2 tundi");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 tundi", "5 hours = 5 tundi");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 tundi", "21 hours = 21 tundi");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "üks päev", "22 hours = üks päev");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "üks päev", "35 hours = üks päev");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 päeva", "36 hours = 2 päeva");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "üks päev", "1 day = üks päev");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 päeva", "5 days = 5 päeva");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 päeva", "25 days = 25 päeva");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "üks kuu", "26 days = üks kuu");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "üks kuu", "30 days = üks kuu");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "üks kuu", "45 days = üks kuu");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 kuud", "46 days = 2 kuud");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 kuud", "75 days = 2 kuud");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 kuud", "76 days = 3 kuud");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "üks kuu", "1 month = üks kuu");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 kuud", "5 months = 5 kuud");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 kuud", "344 days = 11 kuud");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "üks aasta", "345 days = üks aasta");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "üks aasta", "547 days = üks aasta");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 aastat", "548 days = 2 aastat");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "üks aasta", "1 year = üks aasta");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 aastat", "5 years = 5 aastat");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "mõne sekundi pärast", "prefix");
|
||
test.equal(moment(0).from(30000), "mõni sekund tagasi", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.equal(moment().fromNow(), "mõni sekund tagasi", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(18);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "mõne sekundi pärast", "in a few seconds");
|
||
test.equal(moment().subtract({s: 30}).fromNow(), "mõni sekund tagasi", "a few seconds ago");
|
||
|
||
test.equal(moment().add({m: 1}).fromNow(), "ühe minuti pärast", "in a minute");
|
||
test.equal(moment().subtract({m: 1}).fromNow(), "üks minut tagasi", "a minute ago");
|
||
|
||
test.equal(moment().add({m: 5}).fromNow(), "5 minuti pärast", "in 5 minutes");
|
||
test.equal(moment().subtract({m: 5}).fromNow(), "5 minutit tagasi", "5 minutes ago");
|
||
|
||
test.equal(moment().add({d: 1}).fromNow(), "ühe päeva pärast", "in one day");
|
||
test.equal(moment().subtract({d: 1}).fromNow(), "üks päev tagasi", "one day ago");
|
||
|
||
test.equal(moment().add({d: 5}).fromNow(), "5 päeva pärast", "in 5 days");
|
||
test.equal(moment().subtract({d: 5}).fromNow(), "5 päeva tagasi", "5 days ago");
|
||
|
||
test.equal(moment().add({M: 1}).fromNow(), "kuu aja pärast", "in a month");
|
||
test.equal(moment().subtract({M: 1}).fromNow(), "kuu aega tagasi", "a month ago");
|
||
|
||
test.equal(moment().add({M: 5}).fromNow(), "5 kuu pärast", "in 5 months");
|
||
test.equal(moment().subtract({M: 5}).fromNow(), "5 kuud tagasi", "5 months ago");
|
||
|
||
test.equal(moment().add({y: 1}).fromNow(), "ühe aasta pärast", "in a year");
|
||
test.equal(moment().subtract({y: 1}).fromNow(), "aasta tagasi", "a year ago");
|
||
|
||
test.equal(moment().add({y: 5}).fromNow(), "5 aasta pärast", "in 5 years");
|
||
test.equal(moment().subtract({y: 5}).fromNow(), "5 aastat tagasi", "5 years ago");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Täna, 2:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Täna, 2:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Täna, 3:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Homme, 2:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Täna, 1:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Eile, 2:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('[Järgmine] dddd LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[Järgmine] dddd LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[Järgmine] dddd LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[Eelmine] dddd LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[Eelmine] dddd LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[Eelmine] dddd LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 nädal tagasi");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "1 nädala pärast");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 nädalat tagasi");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "2 nädala pärast");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/et'), 'et', "module should export et");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Euskara
|
||
*************************************************/
|
||
|
||
exports["lang:eu"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('eu');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'urtarrila urt._otsaila ots._martxoa mar._apirila api._maiatza mai._ekaina eka._uztaila uzt._abuztua abu._iraila ira._urria urr._azaroa aza._abendua abe.'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'igandea, otsaila 14. 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'ig., 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 otsaila ots.'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. igandea ig. ig'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '7 7. 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45. day of the year'],
|
||
['L', '2010-02-14'],
|
||
['LL', '2010ko otsailaren 14a'],
|
||
['LLL', '2010ko otsailaren 14a 15:25'],
|
||
['LLLL', 'igandea, 2010ko otsailaren 14a 15:25'],
|
||
['l', '2010-2-14'],
|
||
['ll', '2010ko ots. 14a'],
|
||
['lll', '2010ko ots. 14a 15:25'],
|
||
['llll', 'ig., 2010ko ots. 14a 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'urtarrila urt._otsaila ots._martxoa mar._apirila api._maiatza mai._ekaina eka._uztaila uzt._abuztua abu._iraila ira._urria urr._azaroa aza._abendua abe.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'igandea ig. ig_astelehena al. al_asteartea ar. ar_asteazkena az. az_osteguna og. og_ostirala ol. ol_larunbata lr. lr'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "segundo batzuk", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "minutu bat", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "minutu bat", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutu", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutu", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "ordu bat", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "ordu bat", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 ordu", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 ordu", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 ordu", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "egun bat", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "egun bat", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 egun", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "egun bat", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 egun", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 egun", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "hilabete bat", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "hilabete bat", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "hilabete bat", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 hilabete", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 hilabete", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 hilabete", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "hilabete bat", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 hilabete", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 hilabete", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "urte bat", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "urte bat", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 urte", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "urte bat", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 urte", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "segundo batzuk barru", "prefix");
|
||
test.equal(moment(0).from(30000), "duela segundo batzuk", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "duela segundo batzuk", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "segundo batzuk barru", "in seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "5 egun barru", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "gaur 02:00etan", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "gaur 02:25etan", "now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "gaur 03:00etan", "now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "bihar 02:00etan", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "gaur 01:00etan", "now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "atzo 02:00etan", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd LT[etan]'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd LT[etan]'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd LT[etan]'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[aurreko] dddd LT[etan]'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[aurreko] dddd LT[etan]'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[aurreko] dddd LT[etan]'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2.', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2.', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/eu'), 'eu', "module should export eu");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
// moment.js Persian (fa) tests
|
||
// author: Ebrahim Byagowi : https://github.com/ebraminio
|
||
var moment = require("../../moment");
|
||
|
||
exports["lang:fa"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('fa');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(24);
|
||
var tests = 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1) + ' instead is month ' + moment(input, mmm).month());
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
equalTest(tests[i], 'MMM', i);
|
||
equalTest(tests[i], 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'یک\u200cشنبه، فوریه ۱۴م ۲۰۱۰، ۳:۲۵:۵۰ بعد از ظهر'],
|
||
['ddd, hA', 'یک\u200cشنبه، ۳بعد از ظهر'],
|
||
['M Mo MM MMMM MMM', '۲ ۲م ۰۲ فوریه فوریه'],
|
||
['YYYY YY', '۲۰۱۰ ۱۰'],
|
||
['D Do DD', '۱۴ ۱۴م ۱۴'],
|
||
['d do dddd ddd dd', '۰ ۰م یک\u200cشنبه یک\u200cشنبه ی'],
|
||
['DDD DDDo DDDD', '۴۵ ۴۵م ۰۴۵'],
|
||
['w wo ww', '۸ ۸م ۰۸'],
|
||
['h hh', '۳ ۰۳'],
|
||
['H HH', '۱۵ ۱۵'],
|
||
['m mm', '۲۵ ۲۵'],
|
||
['s ss', '۵۰ ۵۰'],
|
||
['a A', 'بعد از ظهر بعد از ظهر'],
|
||
['DDDo [روز سال]', '۴۵م روز سال'],
|
||
['L', '۱۴/۰۲/۲۰۱۰'],
|
||
['LL', '۱۴ فوریه ۲۰۱۰'],
|
||
['LLL', '۱۴ فوریه ۲۰۱۰ ۱۵:۲۵'],
|
||
['LLLL', 'یک\u200cشنبه، ۱۴ فوریه ۲۰۱۰ ۱۵:۲۵'],
|
||
['l', '۱۴/۲/۲۰۱۰'],
|
||
['ll', '۱۴ فوریه ۲۰۱۰'],
|
||
['lll', '۱۴ فوریه ۲۰۱۰ ۱۵:۲۵'],
|
||
['llll', 'یک\u200cشنبه، ۱۴ فوریه ۲۰۱۰ ۱۵:۲۵']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '۱م', '1');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '۲م', '2');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '۳م', '3');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '۴م', '4');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '۵م', '5');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '۶م', '6');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '۷م', '7');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '۸م', '8');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '۹م', '9');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '۱۰م', '10');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '۱۱م', '11');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '۱۲م', '12');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '۱۳م', '13');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '۱۴م', '14');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '۱۵م', '15');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '۱۶م', '16');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '۱۷م', '17');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '۱۸م', '18');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '۱۹م', '19');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '۲۰م', '20');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '۲۱م', '21');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '۲۲م', '22');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '۲۳م', '23');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '۲۴م', '24');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '۲۵م', '25');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '۲۶م', '26');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '۲۷م', '27');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '۲۸م', '28');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '۲۹م', '29');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '۳۰م', '30');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '۳۱م', '31');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'ژانویه ژانویه_فوریه فوریه_مارس مارس_آوریل آوریل_مه مه_ژوئن ژوئن_ژوئیه ژوئیه_اوت اوت_سپتامبر سپتامبر_اکتبر اکتبر_نوامبر نوامبر_دسامبر دسامبر'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'یک\u200cشنبه یک\u200cشنبه ی_دوشنبه دوشنبه د_سه\u200cشنبه سه\u200cشنبه س_چهارشنبه چهارشنبه چ_پنج\u200cشنبه پنج\u200cشنبه پ_جمعه جمعه ج_شنبه شنبه ش'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "چندین ثانیه", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "یک دقیقه", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "یک دقیقه", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "۲ دقیقه", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "۴۴ دقیقه", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "یک ساعت", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "یک ساعت", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "۲ ساعت", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "۵ ساعت", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "۲۱ ساعت", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "یک روز", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "یک روز", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "۲ روز", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "یک روز", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "۵ روز", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "۲۵ روز", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "یک ماه", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "یک ماه", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "یک ماه", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "۲ ماه", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "۲ ماه", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "۳ ماه", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "یک ماه", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "۵ ماه", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "۱۱ ماه", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "یک سال", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "یک سال", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "۲ سال", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "یک سال", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "۵ سال", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "در چندین ثانیه", "prefix");
|
||
test.equal(moment(0).from(30000), "چندین ثانیه پیش", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "چندین ثانیه پیش", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "در چندین ثانیه", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "در ۵ روز", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "امروز ساعت ۰۲:۰۰", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "امروز ساعت ۰۲:۲۵", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "امروز ساعت ۰۳:۰۰", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "فردا ساعت ۰۲:۰۰", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "امروز ساعت ۰۱:۰۰", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "دیروز ساعت ۰۲:۰۰", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [ساعت] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [ساعت] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [ساعت] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [پیش ساعت] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [پیش ساعت] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [پیش ساعت] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
|
||
// Saturday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 31]).week(), 1, "Dec 31 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 6]).week(), 1, "Jan 6 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 2, "Jan 7 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 13]).week(), 2, "Jan 13 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 3, "Jan 14 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2006, 11, 30]).week(), 1, "Dec 30 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 5]).week(), 1, "Jan 5 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 2, "Jan 6 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 12]).week(), 2, "Jan 12 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 3, "Jan 13 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 1, "Dec 29 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 4]).week(), 1, "Jan 4 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 2, "Jan 5 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 11]).week(), 2, "Jan 11 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 3, "Jan 12 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 28]).week(), 1, "Dec 28 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 3]).week(), 1, "Jan 3 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 2, "Jan 4 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 10]).week(), 2, "Jan 10 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 3, "Jan 11 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 27]).week(), 1, "Dec 27 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 2]).week(), 1, "Jan 2 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 2, "Jan 3 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 9]).week(), 2, "Jan 9 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 3, "Jan 10 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2009, 11, 26]).week(), 1, "Dec 26 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 2, "Jan 2 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 8]).week(), 2, "Jan 8 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 3, "Jan 9 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 7]).week(), 1, "Jan 7 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 14]).week(), 2, "Jan 14 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 15]).week(), 3, "Jan 15 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 31]).format('w ww wo'), '۱ ۰۱ ۱م', "Dec 31 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 6]).format('w ww wo'), '۱ ۰۱ ۱م', "Jan 6 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '۲ ۰۲ ۲م', "Jan 7 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 13]).format('w ww wo'), '۲ ۰۲ ۲م', "Jan 13 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '۳ ۰۳ ۳م', "Jan 14 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/fa'), 'fa', "module should export fa");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Finnish
|
||
*************************************************/
|
||
|
||
exports["lang:fi"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('fi');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'tammikuu tammi_helmikuu helmi_maaliskuu maalis_huhtikuu huhti_toukokuu touko_kesäkuu kesä_heinäkuu heinä_elokuu elo_syyskuu syys_lokakuu loka_marraskuu marras_joulukuu joulu'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'sunnuntai, helmikuu 14. 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'su, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 helmikuu helmi'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. sunnuntai su su'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '6 6. 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[vuoden] DDDo [päivä]', 'vuoden 45. päivä'],
|
||
['L', '14.02.2010'],
|
||
['LL', '14. helmikuuta 2010'],
|
||
['LLL', '14. helmikuuta 2010, klo 15.25'],
|
||
['LLLL', 'sunnuntai, 14. helmikuuta 2010, klo 15.25'],
|
||
['l', '14.2.2010'],
|
||
['ll', '14. helmi 2010'],
|
||
['lll', '14. helmi 2010, klo 15.25'],
|
||
['llll', 'su, 14. helmi 2010, klo 15.25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1st');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2nd');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3rd');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4th');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5th');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6th');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7th');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8th');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9th');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10th');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11th');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12th');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13th');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14th');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15th');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16th');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17th');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18th');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19th');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20th');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21st');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22nd');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23rd');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24th');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25th');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26th');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27th');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28th');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29th');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30th');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31st');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'tammikuu tammi_helmikuu helmi_maaliskuu maalis_huhtikuu huhti_toukokuu touko_kesäkuu kesä_heinäkuu heinä_elokuu elo_syyskuu syys_lokakuu loka_marraskuu marras_joulukuu joulu'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'sunnuntai su su_maanantai ma ma_tiistai ti ti_keskiviikko ke ke_torstai to to_perjantai pe pe_lauantai la la'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "muutama sekunti", "44 seconds = few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "minuutti", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "minuutti", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "kaksi minuuttia", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minuuttia", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "tunti", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "tunti", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "kaksi tuntia", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "viisi tuntia", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 tuntia", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "päivä", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "päivä", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "kaksi päivää", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "päivä", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "viisi päivää", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 päivää", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "kuukausi", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "kuukausi", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "kuukausi", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "kaksi kuukautta", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "kaksi kuukautta", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "kolme kuukautta", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "kuukausi", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "viisi kuukautta", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 kuukautta", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "vuosi", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "vuosi", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "kaksi vuotta", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "vuosi", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "viisi vuotta", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "muutaman sekunnin päästä", "prefix");
|
||
test.equal(moment(0).from(30000), "muutama sekunti sitten", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "muutama sekunti sitten", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "muutaman sekunnin päästä", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "viiden päivän päästä", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "tänään klo 02.00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "tänään klo 02.25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "tänään klo 03.00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "huomenna klo 02.00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "tänään klo 01.00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "eilen klo 02.00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [klo] LT'), "today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [klo] LT'), "today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [klo] LT'), "today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[viime] dddd[na] [klo] LT'), "today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[viime] dddd[na] [klo] LT'), "today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[viime] dddd[na] [klo] LT'), "today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "yksi viikko sitten");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "yhden viikon päästä");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "kaksi viikkoa sitten");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "kaden viikon päästä");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/fi'), 'fi', "module should export fi");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Danish
|
||
*************************************************/
|
||
|
||
exports["lang:fo"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('fo');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'januar jan_februar feb_mars mar_apríl apr_mai mai_juni jun_juli jul_august aug_september sep_oktober okt_november nov_desember des'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd [tann] Do MMMM YYYY, h:mm:ss a', 'sunnudagur tann 14. februar 2010, 3:25:50 pm'],
|
||
['ddd hA', 'sun 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 februar feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. sunnudagur sun su'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '6 6. 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[tann] DDDo [dagin á árinum]', 'tann 45. dagin á árinum'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 februar 2010'],
|
||
['LLL', '14 februar 2010 15:25'],
|
||
['LLLL', 'sunnudagur 14. februar, 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 feb 2010'],
|
||
['lll', '14 feb 2010 15:25'],
|
||
['llll', 'sun 14. feb, 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'januar jan_februar feb_mars mar_apríl apr_mai mai_juni jun_juli jul_august aug_september sep_oktober okt_november nov_desember des'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'sunnudagur sun su_mánadagur mán má_týsdagur týs tý_mikudagur mik mi_hósdagur hós hó_fríggjadagur frí fr_leygardagur ley le'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "fá sekund", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "ein minutt", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "ein minutt", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minuttir", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minuttir", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "ein tími", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "ein tími", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 tímar", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 tímar", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 tímar", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "ein dagur", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "ein dagur", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dagar", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "ein dagur", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dagar", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dagar", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "ein mánaði", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "ein mánaði", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "ein mánaði", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 mánaðir", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 mánaðir", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 mánaðir", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "ein mánaði", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 mánaðir", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 mánaðir", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "eitt ár", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "eitt ár", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 ár", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "eitt ár", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 ár", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "um fá sekund", "prefix");
|
||
test.equal(moment(0).from(30000), "fá sekund síðani", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "fá sekund síðani", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "um fá sekund", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "um 5 dagar", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/fo'), 'fo', "module should export fo");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
/**************************************************
|
||
French (Canadian)
|
||
*************************************************/
|
||
|
||
exports["lang:fr-ca"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('fr-ca');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var i,
|
||
tests = 'janvier janv._février févr._mars mars_avril avr._mai mai_juin juin_juillet juil._août août_septembre sept._octobre oct._novembre nov._décembre déc.'.split("_");
|
||
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'dimanche, février 14 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'dim., 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2 02 février févr.'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 dimanche dim. Di'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '8 8 08'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45 day of the year'],
|
||
['L', '2010-02-14'],
|
||
['LL', '14 février 2010'],
|
||
['LLL', '14 février 2010 15:25'],
|
||
['LLLL', 'dimanche 14 février 2010 15:25'],
|
||
['l', '2010-2-14'],
|
||
['ll', '14 févr. 2010'],
|
||
['lll', '14 févr. 2010 15:25'],
|
||
['llll', 'dim. 14 févr. 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1er', '1er');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var i,
|
||
expected = 'janvier janv._février févr._mars mars_avril avr._mai mai_juin juin_juillet juil._août août_septembre sept._octobre oct._novembre nov._décembre déc.'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var i,
|
||
expected = 'dimanche dim. Di_lundi lun. Lu_mardi mar. Ma_mercredi mer. Me_jeudi jeu. Je_vendredi ven. Ve_samedi sam. Sa'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "quelques secondes", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "une minute", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "une minute", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutes", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutes", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "une heure", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "une heure", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 heures", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 heures", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 heures", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "un jour", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "un jour", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 jours", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "un jour", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 jours", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 jours", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "un mois", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "un mois", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "un mois", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 mois", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 mois", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 mois", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "un mois", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 mois", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 mois", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "un an", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "un an", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 ans", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "un an", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 ans", "5 years = 5 years");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "dans quelques secondes", "prefix");
|
||
test.equal(moment(0).from(30000), "il y a quelques secondes", "suffix");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "dans quelques secondes", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "dans 5 jours", "in 5 days");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"same day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Aujourd'hui à 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Aujourd'hui à 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Aujourd'hui à 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Demain à 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Aujourd'hui à 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Hier à 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"same next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [à] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [à] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [à] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"same last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [dernier à] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [dernier à] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [dernier à] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"same all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Sunday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 2, "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 3, "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 1, "Dec 31 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 2, "Jan 7 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 3, "Jan 14 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 52, "Dec 29 2007 should be week 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 2, "Jan 6 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 3, "Jan 13 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 1, "Dec 29 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 2, "Jan 5 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 3, "Jan 12 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 28]).week(), 1, "Dec 28 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 2, "Jan 4 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 3, "Jan 11 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 27]).week(), 1, "Dec 27 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 1, "Jan 2 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 2, "Jan 3 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 2, "Jan 9 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 3, "Jan 10 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2010, 11, 26]).week(), 1, "Dec 26 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 2, "Jan 2 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 3, "Jan 9 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday format" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1er', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1er', "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2', "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/fr-ca'), 'fr-ca', "module should export fr-ca");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
French
|
||
*************************************************/
|
||
|
||
exports["lang:fr"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('fr');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'janvier janv._février févr._mars mars_avril avr._mai mai_juin juin_juillet juil._août août_septembre sept._octobre oct._novembre nov._décembre déc.'.split("_"),
|
||
i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'dimanche, février 14 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'dim., 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2 02 février févr.'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 dimanche dim. Di'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '6 6 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45 day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 février 2010'],
|
||
['LLL', '14 février 2010 15:25'],
|
||
['LLLL', 'dimanche 14 février 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 févr. 2010'],
|
||
['lll', '14 févr. 2010 15:25'],
|
||
['llll', 'dim. 14 févr. 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1er', '1er');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'janvier janv._février févr._mars mars_avril avr._mai mai_juin juin_juillet juil._août août_septembre sept._octobre oct._novembre nov._décembre déc.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'dimanche dim. Di_lundi lun. Lu_mardi mar. Ma_mercredi mer. Me_jeudi jeu. Je_vendredi ven. Ve_samedi sam. Sa'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "quelques secondes", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "une minute", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "une minute", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutes", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutes", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "une heure", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "une heure", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 heures", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 heures", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 heures", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "un jour", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "un jour", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 jours", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "un jour", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 jours", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 jours", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "un mois", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "un mois", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "un mois", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 mois", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 mois", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 mois", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "un mois", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 mois", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 mois", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "un an", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "un an", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 ans", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "un an", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 ans", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "dans quelques secondes", "prefix");
|
||
test.equal(moment(0).from(30000), "il y a quelques secondes", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "dans quelques secondes", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "dans 5 jours", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"same day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Aujourd'hui à 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Aujourd'hui à 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Aujourd'hui à 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Demain à 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Aujourd'hui à 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Hier à 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"same next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [à] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [à] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [à] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"same last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [dernier à] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [dernier à] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [dernier à] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"same all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1er', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1er', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/fr'), 'fr', "module should export fr");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Galego
|
||
*************************************************/
|
||
|
||
exports["lang:gl"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('gl');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = "Xaneiro Xan._Febreiro Feb._Marzo Mar._Abril Abr._Maio Mai._Xuño Xuñ._Xullo Xul._Agosto Ago._Setembro Set._Outubro Out._Novembro Nov._Decembro Dec.".split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1º', '1º');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2º', '2º');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3º', '3º');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4º', '4º');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5º', '5º');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6º', '6º');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7º', '7º');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8º', '8º');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9º', '9º');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10º', '10º');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11º', '11º');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12º', '12º');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13º', '13º');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14º', '14º');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15º', '15º');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16º', '16º');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17º', '17º');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18º', '18º');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19º', '19º');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20º', '20º');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21º', '21º');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22º', '22º');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23º', '23º');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24º', '24º');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25º', '25º');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26º', '26º');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27º', '27º');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28º', '28º');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29º', '29º');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30º', '30º');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31º', '31º');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = "Xaneiro Xan._Febreiro Feb._Marzo Mar._Abril Abr._Maio Mai._Xuño Xuñ._Xullo Xul._Agosto Ago._Setembro Set._Outubro Out._Novembro Nov._Decembro Dec.".split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = "Domingo Dom. Do_Luns Lun. Lu_Martes Mar. Ma_Mércores Mér. Mé_Xoves Xov. Xo_Venres Ven. Ve_Sábado Sáb. Sá".split("_"),
|
||
i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "uns segundos", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "un minuto", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "un minuto", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutos", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutos", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "unha hora", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "unha hora", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 horas", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 horas", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 horas", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "un día", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "un día", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 días", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "un día", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 días", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 días", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "un mes", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "un mes", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "un mes", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 meses", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 meses", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 meses", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "un mes", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 meses", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 meses", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "un ano", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "un ano", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 anos", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "un ano", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 anos", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "nuns segundos", "prefix");
|
||
test.equal(moment(0).from(30000), "hai uns segundos", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "hai uns segundos", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "nuns segundos", "en unos segundos");
|
||
test.equal(moment().add({d: 5}).fromNow(), "en 5 días", "en 5 días");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(7);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "hoxe ás 2:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "hoxe ás 2:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "hoxe ás 3:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "mañá ás 2:00", "tomorrow at the same time");
|
||
test.equal(moment(a).add({ d: 1, h : -1 }).calendar(), "mañá á 1:00", "tomorrow minus 1 hour");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "hoxe á 1:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "onte á 2:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [' + ((m.hours() !== 1) ? 'ás' : 'a') + '] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [' + ((m.hours() !== 1) ? 'ás' : 'a') + '] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [' + ((m.hours() !== 1) ? 'ás' : 'a') + '] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[o] dddd [pasado ' + ((m.hours() !== 1) ? 'ás' : 'a') + '] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[o] dddd [pasado ' + ((m.hours() !== 1) ? 'ás' : 'a') + '] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[o] dddd [pasado ' + ((m.hours() !== 1) ? 'ás' : 'a') + '] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
"regression tests" : function (test) {
|
||
test.expect(1);
|
||
|
||
var lastWeek = moment().subtract({ d: 4 }).hours(1);
|
||
test.equal(lastWeek.calendar(), lastWeek.format('[o] dddd [pasado a] LT'), "1 o'clock bug");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1º', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1º', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2º', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2º', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3º', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/gl'), 'gl', "module should export gl");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Hebrew
|
||
**************************************************/
|
||
|
||
exports["lang:he"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('he');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'ינואר ינו׳_פברואר פבר׳_מרץ מרץ_אפריל אפר׳_מאי מאי_יוני יוני_יולי יולי_אוגוסט אוג׳_ספטמבר ספט׳_אוקטובר אוק׳_נובמבר נוב׳_דצמבר דצמ׳'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'ראשון, פברואר 14 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'א׳, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2 02 פברואר פבר׳'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 ראשון א׳ א'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '8 8 08'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45 day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 בפברואר 2010'],
|
||
['LLL', '14 בפברואר 2010 15:25'],
|
||
['LLLL', 'ראשון, 14 בפברואר 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 פבר׳ 2010'],
|
||
['lll', '14 פבר׳ 2010 15:25'],
|
||
['llll', 'א׳, 14 פבר׳ 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'ינואר ינו׳_פברואר פבר׳_מרץ מרץ_אפריל אפר׳_מאי מאי_יוני יוני_יולי יולי_אוגוסט אוג׳_ספטמבר ספט׳_אוקטובר אוק׳_נובמבר נוב׳_דצמבר דצמ׳'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'ראשון א׳ א|שני ב׳ ב|שלישי ג׳ ג|רביעי ד׳ ד|חמישי ה׳ ה|שישי ו׳ ו|שבת ש׳ ש'.split("|"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "מספר שניות", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "דקה", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "דקה", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 דקות", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 דקות", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "שעה", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "שעה", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "שעתיים", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 שעות", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 שעות", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "יום", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "יום", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "יומיים", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "יום", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 ימים", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 ימים", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "חודש", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "חודש", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "חודש", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "חודשיים", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "חודשיים", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 חודשים", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "חודש", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 חודשים", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 חודשים", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "שנה", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "שנה", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "שנתיים", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "שנה", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 שנים", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "בעוד מספר שניות", "prefix");
|
||
test.equal(moment(0).from(30000), "לפני מספר שניות", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "לפני מספר שניות", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "בעוד מספר שניות", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "בעוד 5 ימים", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "היום ב־02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "היום ב־02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "היום ב־03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "מחר ב־02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "היום ב־01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "אתמול ב־02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [בשעה] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [בשעה] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [בשעה] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[ביום] dddd [האחרון בשעה] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[ביום] dddd [האחרון בשעה] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[ביום] dddd [האחרון בשעה] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Sunday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 2, "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 3, "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 1, "Dec 31 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 2, "Jan 7 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 3, "Jan 14 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 52, "Dec 29 2007 should be week 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 2, "Jan 6 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 3, "Jan 13 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 1, "Dec 29 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 2, "Jan 5 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 3, "Jan 12 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 28]).week(), 1, "Dec 28 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 2, "Jan 4 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 3, "Jan 11 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 27]).week(), 1, "Dec 27 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 1, "Jan 2 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 2, "Jan 3 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 2, "Jan 9 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 3, "Jan 10 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2010, 11, 26]).week(), 1, "Dec 26 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 2, "Jan 2 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 3, "Jan 9 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday format" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1', "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2', "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/he'), 'he', "module should export he");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Hindi
|
||
*************************************************/
|
||
|
||
exports["lang:hi"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('hi');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'जनवरी जन._फ़रवरी फ़र._मार्च मार्च_अप्रैल अप्रै._मई मई_जून जून_जुलाई जुल._अगस्त अग._सितम्बर सित._अक्टूबर अक्टू._नवम्बर नव._दिसम्बर दिस.'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(21);
|
||
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, a h:mm:ss बजे', 'रविवार, १४ फ़रवरी २०१०, दोपहर ३:२५:५० बजे'],
|
||
['ddd, a h बजे', 'रवि, दोपहर ३ बजे'],
|
||
['M Mo MM MMMM MMM', '२ २ ०२ फ़रवरी फ़र.'],
|
||
['YYYY YY', '२०१० १०'],
|
||
['D Do DD', '१४ १४ १४'],
|
||
['d do dddd ddd dd', '० ० रविवार रवि र'],
|
||
['DDD DDDo DDDD', '४५ ४५ ०४५'],
|
||
['w wo ww', '८ ८ ०८'],
|
||
['h hh', '३ ०३'],
|
||
['H HH', '१५ १५'],
|
||
['m mm', '२५ २५'],
|
||
['s ss', '५० ५०'],
|
||
['a A', 'दोपहर दोपहर'],
|
||
['L', '१४/०२/२०१०'],
|
||
['LL', '१४ फ़रवरी २०१०'],
|
||
['LLL', '१४ फ़रवरी २०१०, दोपहर ३:२५ बजे'],
|
||
['LLLL', 'रविवार, १४ फ़रवरी २०१०, दोपहर ३:२५ बजे'],
|
||
['l', '१४/२/२०१०'],
|
||
['ll', '१४ फ़र. २०१०'],
|
||
['lll', '१४ फ़र. २०१०, दोपहर ३:२५ बजे'],
|
||
['llll', 'रवि, १४ फ़र. २०१०, दोपहर ३:२५ बजे']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '१', '१');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '२', '२');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '३', '३');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '४', '४');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '५', '५');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '६', '६');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '७', '७');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '८', '८');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '९', '९');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '१०', '१०');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '११', '११');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '१२', '१२');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '१३', '१३');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '१४', '१४');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '१५', '१५');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '१६', '१६');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '१७', '१७');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '१८', '१८');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '१९', '१९');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '२०', '२०');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '२१', '२१');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '२२', '२२');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '२३', '२३');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '२४', '२४');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '२५', '२५');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '२६', '२६');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '२७', '२७');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '२८', '२८');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '२९', '२९');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '३०', '३०');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '३१', '३१');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'जनवरी जन._फ़रवरी फ़र._मार्च मार्च_अप्रैल अप्रै._मई मई_जून जून_जुलाई जुल._अगस्त अग._सितम्बर सित._अक्टूबर अक्टू._नवम्बर नव._दिसम्बर दिस.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'रविवार रवि र_सोमवार सोम सो_मंगलवार मंगल मं_बुधवार बुध बु_गुरूवार गुरू गु_शुक्रवार शुक्र शु_शनिवार शनि श'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "कुछ ही क्षण", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "एक मिनट", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "एक मिनट", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "२ मिनट", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "४४ मिनट", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "एक घंटा", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "एक घंटा", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "२ घंटे", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "५ घंटे", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "२१ घंटे", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "एक दिन", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "एक दिन", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "२ दिन", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "एक दिन", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "५ दिन", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "२५ दिन", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "एक महीने", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "एक महीने", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "एक महीने", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "२ महीने", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "२ महीने", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "३ महीने", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "एक महीने", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "५ महीने", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "११ महीने", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "एक वर्ष", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "एक वर्ष", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "२ वर्ष", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "एक वर्ष", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "५ वर्ष", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "कुछ ही क्षण में", "prefix");
|
||
test.equal(moment(0).from(30000), "कुछ ही क्षण पहले", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "कुछ ही क्षण पहले", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "कुछ ही क्षण में", "कुछ ही क्षण में");
|
||
test.equal(moment().add({d: 5}).fromNow(), "५ दिन में", "५ दिन में");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "आज रात २:०० बजे", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "आज रात २:२५ बजे", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 3 }).calendar(), "आज सुबह ५:०० बजे", "Now plus 3 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "कल रात २:०० बजे", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "आज रात १:०० बजे", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "कल रात २:०० बजे", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd[,] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd[,] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd[,] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[पिछले] dddd[,] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[पिछले] dddd[,] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[पिछले] dddd[,] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"meridiem" : function (test) {
|
||
test.expect(12);
|
||
|
||
test.equal(moment([2011, 2, 23, 2, 30]).format('a'), "रात", "before dawn");
|
||
test.equal(moment([2011, 2, 23, 9, 30]).format('a'), "सुबह", "morning");
|
||
test.equal(moment([2011, 2, 23, 14, 30]).format('a'), "दोपहर", "during day");
|
||
test.equal(moment([2011, 2, 23, 17, 30]).format('a'), "शाम", "evening");
|
||
test.equal(moment([2011, 2, 23, 19, 30]).format('a'), "शाम", "late evening");
|
||
test.equal(moment([2011, 2, 23, 21, 20]).format('a'), "रात", "night");
|
||
|
||
test.equal(moment([2011, 2, 23, 2, 30]).format('A'), "रात", "before dawn");
|
||
test.equal(moment([2011, 2, 23, 9, 30]).format('A'), "सुबह", "morning");
|
||
test.equal(moment([2011, 2, 23, 14, 30]).format('A'), "दोपहर", " during day");
|
||
test.equal(moment([2011, 2, 23, 17, 30]).format('A'), "शाम", "evening");
|
||
test.equal(moment([2011, 2, 23, 19, 30]).format('A'), "शाम", "late evening");
|
||
test.equal(moment([2011, 2, 23, 21, 20]).format('A'), "रात", "night");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 2, "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 3, "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 1, "Dec 31 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 2, "Jan 7 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 3, "Jan 14 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 52, "Dec 29 2007 should be week 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 2, "Jan 6 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 3, "Jan 13 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 1, "Dec 29 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 2, "Jan 5 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 3, "Jan 12 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 28]).week(), 1, "Dec 28 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 2, "Jan 4 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 3, "Jan 11 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 27]).week(), 1, "Dec 27 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 1, "Jan 2 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 2, "Jan 3 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 2, "Jan 9 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 3, "Jan 10 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2010, 11, 26]).week(), 1, "Dec 26 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 2, "Jan 2 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 3, "Jan 9 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '१ ०१ १', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '१ ०१ १', "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '२ ०२ २', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '२ ०२ २', "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '३ ०३ ३', "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/hi'), 'hi', "module should export hi");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Croatian
|
||
*************************************************/
|
||
|
||
exports["lang:hr"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('hr');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'sječanj sje._veljača vel._ožujak ožu._travanj tra._svibanj svi._lipanj lip._srpanj srp._kolovoz kol._rujan ruj._listopad lis._studeni stu._prosinac pro.'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, h:mm:ss a', 'nedjelja, 14. veljača 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'ned., 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 veljača vel.'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. nedjelja ned. ne'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '7 7. 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45. day of the year'],
|
||
['L', '14. 02. 2010'],
|
||
['LL', '14. veljača 2010'],
|
||
['LLL', '14. veljača 2010 15:25'],
|
||
['LLLL', 'nedjelja, 14. veljača 2010 15:25'],
|
||
['l', '14. 2. 2010'],
|
||
['ll', '14. vel. 2010'],
|
||
['lll', '14. vel. 2010 15:25'],
|
||
['llll', 'ned., 14. vel. 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'sječanj sje._veljača vel._ožujak ožu._travanj tra._svibanj svi._lipanj lip._srpanj srp._kolovoz kol._rujan ruj._listopad lis._studeni stu._prosinac pro.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'nedjelja ned. ne_ponedjeljak pon. po_utorak uto. ut_srijeda sri. sr_četvrtak čet. če_petak pet. pe_subota sub. su'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "par sekundi", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "jedna minuta", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "jedna minuta", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minute", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minuta", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "jedan sat", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "jedan sat", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 sata", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 sati", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 sati", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "dan", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "dan", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dana", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "dan", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dana", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dana", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "mjesec", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "mjesec", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "mjesec", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 mjeseca", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 mjeseca", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 mjeseca", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "mjesec", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 mjeseci", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 mjeseci", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "godinu", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "godinu", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 godine", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "godinu", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 godina", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "za par sekundi", "prefix");
|
||
test.equal(moment(0).from(30000), "prije par sekundi", "prefix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "prije par sekundi", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "za par sekundi", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "za 5 dana", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "danas u 2:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "danas u 2:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "danas u 3:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "sutra u 2:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "danas u 1:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "jučer u 2:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
switch (d.day()) {
|
||
case 0:
|
||
return '[u] [nedjelju] [u] LT';
|
||
case 3:
|
||
return '[u] [srijedu] [u] LT';
|
||
case 6:
|
||
return '[u] [subotu] [u] LT';
|
||
case 1:
|
||
case 2:
|
||
case 4:
|
||
case 5:
|
||
return '[u] dddd [u] LT';
|
||
}
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
switch (d.day()) {
|
||
case 0:
|
||
case 3:
|
||
return '[prošlu] dddd [u] LT';
|
||
case 6:
|
||
return '[prošle] [subote] [u] LT';
|
||
case 1:
|
||
case 2:
|
||
case 4:
|
||
case 5:
|
||
return '[prošli] dddd [u] LT';
|
||
}
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2.', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2.', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/hr'), 'hr', "module should export hr");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
/**************************************************
|
||
Hungarian
|
||
*************************************************/
|
||
|
||
exports["lang:hu"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('hu');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'január jan_február feb_március márc_április ápr_május máj_június jún_július júl_augusztus aug_szeptember szept_október okt_november nov_december dec'.split("_"),
|
||
i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(20);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, HH:mm:ss', 'vasárnap, február 14. 2010, 15:25:50'],
|
||
['ddd, HH', 'vas, 15'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 február feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. vasárnap vas v'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '7 7. 07'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['[az év] DDDo [napja]', 'az év 45. napja'],
|
||
['L', '2010.02.14.'],
|
||
['LL', '2010. február 14.'],
|
||
['LLL', '2010. február 14., 15:25'],
|
||
['LLLL', '2010. február 14., vasárnap 15:25'],
|
||
['l', '2010.2.14.'],
|
||
['ll', '2010. feb 14.'],
|
||
['lll', '2010. feb 14., 15:25'],
|
||
['llll', '2010. feb 14., vas 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"meridiem" : function (test) {
|
||
test.expect(8);
|
||
|
||
test.equal(moment([2011, 2, 23, 0, 0]).format('a'), "de", "am");
|
||
test.equal(moment([2011, 2, 23, 11, 59]).format('a'), "de", "am");
|
||
test.equal(moment([2011, 2, 23, 12, 0]).format('a'), "du", "pm");
|
||
test.equal(moment([2011, 2, 23, 23, 59]).format('a'), "du", "pm");
|
||
|
||
test.equal(moment([2011, 2, 23, 0, 0]).format('A'), "DE", "AM");
|
||
test.equal(moment([2011, 2, 23, 11, 59]).format('A'), "DE", "AM");
|
||
test.equal(moment([2011, 2, 23, 12, 0]).format('A'), "DU", "PM");
|
||
test.equal(moment([2011, 2, 23, 23, 59]).format('A'), "DU", "PM");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'január jan_február feb_március márc_április ápr_május máj_június jún_július júl_augusztus aug_szeptember szept_október okt_november nov_december dec'.split("_"),
|
||
i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'vasárnap vas_hétfő hét_kedd kedd_szerda sze_csütörtök csüt_péntek pén_szombat szo'.split("_"),
|
||
i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "néhány másodperc", "44 másodperc = néhány másodperc");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "egy perc", "45 másodperc = egy perc");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "egy perc", "89 másodperc = egy perc");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 perc", "90 másodperc = 2 perc");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 perc", "44 perc = 44 perc");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "egy óra", "45 perc = egy óra");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "egy óra", "89 perc = egy óra");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 óra", "90 perc = 2 óra");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 óra", "5 óra = 5 óra");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 óra", "21 óra = 21 óra");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "egy nap", "22 óra = egy nap");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "egy nap", "35 óra = egy nap");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 nap", "36 óra = 2 nap");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "egy nap", "1 nap = egy nap");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 nap", "5 nap = 5 nap");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 nap", "25 nap = 25 nap");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "egy hónap", "26 nap = egy hónap");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "egy hónap", "30 nap = egy hónap");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "egy hónap", "45 nap = egy hónap");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 hónap", "46 nap = 2 hónap");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 hónap", "75 nap = 2 hónap");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 hónap", "76 nap = 3 hónap");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "egy hónap", "1 hónap = egy hónap");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 hónap", "5 hónap = 5 hónap");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 hónap", "344 nap = 11 hónap");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "egy év", "345 nap = egy év");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "egy év", "547 nap = egy év");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 év", "548 nap = 2 év");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "egy év", "1 év = egy év");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 év", "5 év = 5 év");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "néhány másodperc múlva", "prefix");
|
||
test.equal(moment(0).from(30000), "néhány másodperce", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "néhány másodperce", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "néhány másodperc múlva", "néhány másodperc múlva");
|
||
test.equal(moment().add({d: 5}).fromNow(), "5 nap múlva", "5 nap múlva");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "ma 2:00-kor", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "ma 2:25-kor", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "ma 3:00-kor", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "holnap 2:00-kor", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "ma 1:00-kor", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "tegnap 2:00-kor", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m, days = 'vasárnap_hétfőn_kedden_szerdán_csütörtökön_pénteken_szombaton'.split('_');
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('[' + days[m.day()] + '] LT[-kor]'), "today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[' + days[m.day()] + '] LT[-kor]'), "today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[' + days[m.day()] + '] LT[-kor]'), "today + " + i + " days end of day");
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m, days = 'vasárnap_hétfőn_kedden_szerdán_csütörtökön_pénteken_szombaton'.split('_');
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[múlt ' + days[m.day()] + '] LT[-kor]'), "today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[múlt ' + days[m.day()] + '] LT[-kor]'), "today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[múlt ' + days[m.day()] + '] LT[-kor]'), "today - " + i + " days end of day");
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "egy héte");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "egy hét múlva");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 hete");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "2 hét múlva");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2.', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2.', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/hu'), 'hu', "module should export hu");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Armenian
|
||
*************************************************/
|
||
|
||
exports["lang:hy-am"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('hy-am');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'հունվար հնվ_փետրվար փտր_մարտ մրտ_ապրիլ ապր_մայիս մյս_հունիս հնս_հուլիս հլս_օգոստոս օգս_սեպտեմբեր սպտ_հոկտեմբեր հկտ_նոյեմբեր նմբ_դեկտեմբեր դկտ'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"parse exceptional case" : function (test) {
|
||
test.equal(moment('11 մայիսի 1989', ['DD MMMM YYYY']).format('DD-MM-YYYY'), '11-05-1989');
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, HH:mm:ss', 'կիրակի, 14 փետրվարի 2010, 15:25:50'],
|
||
['ddd, h A', 'կրկ, 3 ցերեկվա'],
|
||
['M Mo MM MMMM MMM', '2 2 02 փետրվար փտր'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 կիրակի կրկ կրկ'],
|
||
['DDD DDDo DDDD', '45 45-րդ 045'],
|
||
['w wo ww', '7 7-րդ 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'ցերեկվա ցերեկվա'],
|
||
['[տարվա] DDDo [օրը]', 'տարվա 45-րդ օրը'],
|
||
['L', '14.02.2010'],
|
||
['LL', '14 փետրվարի 2010 թ.'],
|
||
['LLL', '14 փետրվարի 2010 թ., 15:25'],
|
||
['LLLL', 'կիրակի, 14 փետրվարի 2010 թ., 15:25'],
|
||
['l', '14.2.2010'],
|
||
['ll', '14 փտր 2010 թ.'],
|
||
['lll', '14 փտր 2010 թ., 15:25'],
|
||
['llll', 'կրկ, 14 փտր 2010 թ., 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format meridiem" : function (test) {
|
||
test.expect(8);
|
||
|
||
test.equal(moment([2012, 11, 28, 0, 0]).format("A"), "գիշերվա", "night");
|
||
test.equal(moment([2012, 11, 28, 3, 59]).format("A"), "գիշերվա", "night");
|
||
test.equal(moment([2012, 11, 28, 4, 0]).format("A"), "առավոտվա", "morning");
|
||
test.equal(moment([2012, 11, 28, 11, 59]).format("A"), "առավոտվա", "morning");
|
||
test.equal(moment([2012, 11, 28, 12, 0]).format("A"), "ցերեկվա", "afternoon");
|
||
test.equal(moment([2012, 11, 28, 16, 59]).format("A"), "ցերեկվա", "afternoon");
|
||
test.equal(moment([2012, 11, 28, 17, 0]).format("A"), "երեկոյան", "evening");
|
||
test.equal(moment([2012, 11, 28, 23, 59]).format("A"), "երեկոյան", "evening");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1-ին', '1-ին');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2-րդ', '2-րդ');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3-րդ', '3-րդ');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4-րդ', '4-րդ');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5-րդ', '5-րդ');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6-րդ', '6-րդ');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7-րդ', '7-րդ');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8-րդ', '8-րդ');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9-րդ', '9-րդ');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10-րդ', '10-րդ');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11-րդ', '11-րդ');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12-րդ', '12-րդ');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13-րդ', '13-րդ');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14-րդ', '14-րդ');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15-րդ', '15-րդ');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16-րդ', '16-րդ');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17-րդ', '17-րդ');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18-րդ', '18-րդ');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19-րդ', '19-րդ');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20-րդ', '20-րդ');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21-րդ', '21-րդ');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22-րդ', '22-րդ');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23-րդ', '23-րդ');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24-րդ', '24-րդ');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25-րդ', '25-րդ');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26-րդ', '26-րդ');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27-րդ', '27-րդ');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28-րդ', '28-րդ');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29-րդ', '29-րդ');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30-րդ', '30-րդ');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31-րդ', '31-րդ');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'հունվար հնվ_փետրվար փտր_մարտ մրտ_ապրիլ ապր_մայիս մյս_հունիս հնս_հուլիս հլս_օգոստոս օգս_սեպտեմբեր սպտ_հոկտեմբեր հկտ_նոյեմբեր նմբ_դեկտեմբեր դկտ'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format month case" : function (test) {
|
||
test.expect(24);
|
||
|
||
var months = {
|
||
'nominative': 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_'),
|
||
'accusative': 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_')
|
||
}, i;
|
||
for (i = 0; i < 12; i++) {
|
||
test.equal(moment([2011, i, 1]).format('D MMMM'), '1 ' + months.accusative[i], '1 ' + months.accusative[i]);
|
||
test.equal(moment([2011, i, 1]).format('MMMM'), months.nominative[i], '1 ' + months.nominative[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format month short case" : function (test) {
|
||
test.expect(24);
|
||
|
||
var monthsShort = {
|
||
'nominative': 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),
|
||
'accusative': 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_')
|
||
}, i;
|
||
for (i = 0; i < 12; i++) {
|
||
test.equal(moment([2011, i, 1]).format('D MMM'), '1 ' + monthsShort.accusative[i], '1 ' + monthsShort.accusative[i]);
|
||
test.equal(moment([2011, i, 1]).format('MMM'), monthsShort.nominative[i], '1 ' + monthsShort.nominative[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format month case with escaped symbols" : function (test) {
|
||
test.expect(48);
|
||
|
||
var months = {
|
||
'nominative': 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_'),
|
||
'accusative': 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_')
|
||
}, i;
|
||
for (i = 0; i < 12; i++) {
|
||
test.equal(moment([2013, i, 1]).format('D[] MMMM'), '1 ' + months.accusative[i], '1 ' + months.accusative[i]);
|
||
test.equal(moment([2013, i, 1]).format('[<i>]D[</i>] [<b>]MMMM[</b>]'), '<i>1</i> <b>' + months.accusative[i] + '</b>', '1 <b>' + months.accusative[i] + '</b>');
|
||
test.equal(moment([2013, i, 1]).format('D[-ին օրը] MMMM'), '1-ին օրը ' + months.accusative[i], '1-ին օրը ' + months.accusative[i]);
|
||
test.equal(moment([2013, i, 1]).format('D, MMMM'), '1, ' + months.nominative[i], '1, ' + months.nominative[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format month short case with escaped symbols" : function (test) {
|
||
test.expect(48);
|
||
|
||
var monthsShort = {
|
||
'nominative': 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),
|
||
'accusative': 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_')
|
||
}, i;
|
||
for (i = 0; i < 12; i++) {
|
||
test.equal(moment([2013, i, 1]).format('D[] MMM'), '1 ' + monthsShort.accusative[i], '1 ' + monthsShort.accusative[i]);
|
||
test.equal(moment([2013, i, 1]).format('[<i>]D[</i>] [<b>]MMM[</b>]'), '<i>1</i> <b>' + monthsShort.accusative[i] + '</b>', '1 <b>' + monthsShort.accusative[i] + '</b>');
|
||
test.equal(moment([2013, i, 1]).format('D[-ին օրը] MMM'), '1-ին օրը ' + monthsShort.accusative[i], '1-ին օրը ' + monthsShort.accusative[i]);
|
||
test.equal(moment([2013, i, 1]).format('D, MMM'), '1, ' + monthsShort.nominative[i], '1, ' + monthsShort.nominative[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'կիրակի կրկ կրկ_երկուշաբթի երկ երկ_երեքշաբթի երք երք_չորեքշաբթի չրք չրք_հինգշաբթի հնգ հնգ_ուրբաթ ուրբ ուրբ_շաբաթ շբթ շբթ'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(32);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "մի քանի վայրկյան", "44 seconds = seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "րոպե", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "րոպե", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 րոպե", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 րոպե", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "ժամ", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "ժամ", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 ժամ", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 ժամ", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 ժամ", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "օր", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "օր", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 օր", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "օր", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 օր", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 11}), true), "11 օր", "11 days = 11 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 21}), true), "21 օր", "21 days = 21 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 օր", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "ամիս", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "ամիս", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "ամիս", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 ամիս", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 ամիս", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 ամիս", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "ամիս", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 ամիս", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 ամիս", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "տարի", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "տարի", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 տարի", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "տարի", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 տարի", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "մի քանի վայրկյան հետո", "prefix");
|
||
test.equal(moment(0).from(30000), "մի քանի վայրկյան առաջ", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "մի քանի վայրկյան հետո", "in seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "5 օր հետո", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "այսօր 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "այսօր 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "այսօր 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "վաղը 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "այսօր 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "երեկ 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
function makeFormat(d) {
|
||
return 'dddd [օրը ժամը] LT';
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
return '[անցած] dddd [օրը ժամը] LT';
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-ին', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-ին', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2-րդ', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2-րդ', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-րդ', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/hy-am'), 'hy-am', "module should export hy");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Indonesian
|
||
*************************************************/
|
||
|
||
exports["lang:id"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('id');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'Januari Jan_Februari Feb_Maret Mar_April Apr_Mei Mei_Juni Jun_Juli Jul_Agustus Ags_September Sep_Oktober Okt_November Nov_Desember Des'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'Minggu, Februari 14 2010, 3:25:50 sore'],
|
||
['ddd, hA', 'Min, 3sore'],
|
||
['M Mo MM MMMM MMM', '2 2 02 Februari Feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 Minggu Min Mg'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '7 7 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'sore sore'],
|
||
['[the] DDDo [day of the year]', 'the 45 day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 Februari 2010'],
|
||
['LLL', '14 Februari 2010 pukul 15.25'],
|
||
['LLLL', 'Minggu, 14 Februari 2010 pukul 15.25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 Feb 2010'],
|
||
['lll', '14 Feb 2010 pukul 15.25'],
|
||
['llll', 'Min, 14 Feb 2010 pukul 15.25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'Januari Jan_Februari Feb_Maret Mar_April Apr_Mei Mei_Juni Jun_Juli Jul_Agustus Ags_September Sep_Oktober Okt_November Nov_Desember Des'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'Minggu Min Mg_Senin Sen Sn_Selasa Sel Sl_Rabu Rab Rb_Kamis Kam Km_Jumat Jum Jm_Sabtu Sab Sb'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "beberapa detik", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "semenit", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "semenit", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 menit", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 menit", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "sejam", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "sejam", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 jam", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 jam", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 jam", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "sehari", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "sehari", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 hari", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "sehari", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 hari", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 hari", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "sebulan", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "sebulan", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "sebulan", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 bulan", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 bulan", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 bulan", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "sebulan", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 bulan", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 bulan", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "setahun", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "setahun", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 tahun", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "setahun", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 tahun", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "dalam beberapa detik", "prefix");
|
||
test.equal(moment(0).from(30000), "beberapa detik yang lalu", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "beberapa detik yang lalu", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "dalam beberapa detik", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "dalam 5 hari", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Hari ini pukul 02.00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Hari ini pukul 02.25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Hari ini pukul 03.00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Besok pukul 02.00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Hari ini pukul 01.00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Kemarin pukul 02.00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [pukul] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [pukul] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [pukul] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [lalu pukul] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [lalu pukul] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [lalu pukul] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/id'), 'id', "module should export id");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Icelandic
|
||
*************************************************/
|
||
|
||
exports["lang:is"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('is');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'janúar jan_febrúar feb_mars mar_apríl apr_maí maí_júní jún_júlí júl_ágúst ágú_september sep_október okt_nóvember nóv_desember des'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, h:mm:ss a', 'sunnudagur, 14. febrúar 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'sun, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 febrúar feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. sunnudagur sun Su'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '6 6. 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45. day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14. febrúar 2010'],
|
||
['LLL', '14. febrúar 2010 kl. 15:25'],
|
||
['LLLL', 'sunnudagur, 14. febrúar 2010 kl. 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14. feb 2010'],
|
||
['lll', '14. feb 2010 kl. 15:25'],
|
||
['llll', 'sun, 14. feb 2010 kl. 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'janúar jan_febrúar feb_mars mar_apríl apr_maí maí_júní jún_júlí júl_ágúst ágú_september sep_október okt_nóvember nóv_desember des'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'sunnudagur sun Su_mánudagur mán Má_þriðjudagur þri Þr_miðvikudagur mið Mi_fimmtudagur fim Fi_föstudagur fös Fö_laugardagur lau La'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(34);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "nokkrar sekúndur", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "mínúta", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "mínúta", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 mínútur", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 mínútur", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 21}), true), "21 mínúta", "21 minutes = 21 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "klukkustund", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "klukkustund", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 klukkustundir", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 klukkustundir", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 klukkustund", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "dagur", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "dagur", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dagar", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "dagur", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dagar", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dagar", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 11}), true), "11 dagar", "11 days = 11 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 21}), true), "21 dagur", "21 days = 21 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "mánuður", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "mánuður", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "mánuður", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 mánuðir", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 mánuðir", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 mánuðir", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "mánuður", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 mánuðir", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 mánuðir", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "ár", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "ár", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 ár", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "ár", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 ár", "5 years = 5 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 21}), true), "21 ár", "21 years = 21 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(3);
|
||
test.equal(moment(30000).from(0), "eftir nokkrar sekúndur", "prefix");
|
||
test.equal(moment(0).from(30000), "fyrir nokkrum sekúndum síðan", "suffix");
|
||
test.equal(moment().subtract({m: 1}).fromNow(), "fyrir mínútu síðan", "a minute ago");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "fyrir nokkrum sekúndum síðan", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(3);
|
||
test.equal(moment().add({s: 30}).fromNow(), "eftir nokkrar sekúndur", "in a few seconds");
|
||
test.equal(moment().add({m: 1}).fromNow(), "eftir mínútu", "in a minute");
|
||
test.equal(moment().add({d: 5}).fromNow(), "eftir 5 daga", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "í dag kl. 2:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "í dag kl. 2:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "í dag kl. 3:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "á morgun kl. 2:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "í dag kl. 1:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "í gær kl. 2:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [kl.] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [kl.] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [kl.] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[síðasta] dddd [kl.] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[síðasta] dddd [kl.] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[síðasta] dddd [kl.] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
|
||
test.equal(require('../../lang/is'), 'is', "module should export is");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Italian
|
||
*************************************************/
|
||
|
||
exports["lang:it"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('it');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'Gennaio Gen_Febbraio Feb_Marzo Mar_Aprile Apr_Maggio Mag_Giugno Giu_Luglio Lug_Agosto Ago_Settembre Set_Ottobre Ott_Novembre Nov_Dicembre Dic'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'Domenica, Febbraio 14º 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'Dom, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2º 02 Febbraio Feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14º 14'],
|
||
['d do dddd ddd dd', '0 0º Domenica Dom D'],
|
||
['DDD DDDo DDDD', '45 45º 045'],
|
||
['w wo ww', '6 6º 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45º day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 Febbraio 2010'],
|
||
['LLL', '14 Febbraio 2010 15:25'],
|
||
['LLLL', 'Domenica, 14 Febbraio 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 Feb 2010'],
|
||
['lll', '14 Feb 2010 15:25'],
|
||
['llll', 'Dom, 14 Feb 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1º', '1º');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2º', '2º');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3º', '3º');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4º', '4º');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5º', '5º');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6º', '6º');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7º', '7º');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8º', '8º');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9º', '9º');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10º', '10º');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11º', '11º');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12º', '12º');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13º', '13º');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14º', '14º');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15º', '15º');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16º', '16º');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17º', '17º');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18º', '18º');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19º', '19º');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20º', '20º');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21º', '21º');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22º', '22º');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23º', '23º');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24º', '24º');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25º', '25º');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26º', '26º');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27º', '27º');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28º', '28º');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29º', '29º');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30º', '30º');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31º', '31º');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'Gennaio Gen_Febbraio Feb_Marzo Mar_Aprile Apr_Maggio Mag_Giugno Giu_Luglio Lug_Agosto Ago_Settembre Set_Ottobre Ott_Novembre Nov_Dicembre Dic'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'Domenica Dom D_Lunedì Lun L_Martedì Mar Ma_Mercoledì Mer Me_Giovedì Gio G_Venerdì Ven V_Sabato Sab S'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "alcuni secondi", "44 seconds = seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "un minuto", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "un minuto", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minuti", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minuti", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "un'ora", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "un'ora", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 ore", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 ore", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 ore", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "un giorno", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "un giorno", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 giorni", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "un giorno", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 giorni", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 giorni", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "un mese", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "un mese", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "un mese", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 mesi", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 mesi", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 mesi", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "un mese", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 mesi", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 mesi", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "un anno", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "un anno", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 anni", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "un anno", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 anni", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "in alcuni secondi", "prefix");
|
||
test.equal(moment(0).from(30000), "alcuni secondi fa", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "in alcuni secondi", "in seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "tra 5 giorni", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Oggi alle 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Oggi alle 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Oggi alle 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Domani alle 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Oggi alle 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Ieri alle 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [alle] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [alle] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [alle] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[lo scorso] dddd [alle] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[lo scorso] dddd [alle] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[lo scorso] dddd [alle] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52º', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1º', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1º', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2º', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2º', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/it'), 'it', "module should export it");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Japanese
|
||
*************************************************/
|
||
|
||
exports["lang:ja"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('ja');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = '1月 1月_2月 2月_3月 3月_4月 4月_5月 5月_6月 6月_7月 7月_8月 8月_9月 9月_10月 10月_11月 11月_12月 12月'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, a h:mm:ss', '日曜日, 2月 14 2010, 午後 3:25:50'],
|
||
['ddd, Ah', '日, 午後3'],
|
||
['M Mo MM MMMM MMM', '2 2 02 2月 2月'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 日曜日 日 日'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '8 8 08'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', '午後 午後'],
|
||
['[the] DDDo [day of the year]', 'the 45 day of the year'],
|
||
['L', '2010/02/14'],
|
||
['LL', '2010年2月14日'],
|
||
['LLL', '2010年2月14日午後3時25分'],
|
||
['LLLL', '2010年2月14日午後3時25分 日曜日'],
|
||
['l', '2010/2/14'],
|
||
['ll', '2010年2月14日'],
|
||
['lll', '2010年2月14日午後3時25分'],
|
||
['llll', '2010年2月14日午後3時25分 日']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = '1月 1月_2月 2月_3月 3月_4月 4月_5月 5月_6月 6月_7月 7月_8月 8月_9月 9月_10月 10月_11月 11月_12月 12月'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = '日曜日 日 日_月曜日 月 月_火曜日 火 火_水曜日 水 水_木曜日 木 木_金曜日 金 金_土曜日 土 土'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "数秒", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "1分", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "1分", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2分", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44分", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "1時間", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "1時間", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2時間", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5時間", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21時間", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "1日", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "1日", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2日", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "1日", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5日", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25日", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "1ヶ月", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "1ヶ月", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "1ヶ月", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2ヶ月", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2ヶ月", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3ヶ月", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "1ヶ月", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5ヶ月", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11ヶ月", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "1年", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "1年", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2年", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "1年", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5年", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "数秒後", "prefix");
|
||
test.equal(moment(0).from(30000), "数秒前", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "数秒前", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "数秒後", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "5日後", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "今日 午前2時0分", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "今日 午前2時25分", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "今日 午前3時0分", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "明日 午前2時0分", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "今日 午前1時0分", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "昨日 午前2時0分", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('[来週]dddd LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[来週]dddd LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[来週]dddd LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[前週]dddd LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[前週]dddd LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[前週]dddd LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Sunday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 2, "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 3, "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 1, "Dec 31 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 2, "Jan 7 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 3, "Jan 14 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 52, "Dec 29 2007 should be week 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 2, "Jan 6 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 3, "Jan 13 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 1, "Dec 29 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 2, "Jan 5 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 3, "Jan 12 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 28]).week(), 1, "Dec 28 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 2, "Jan 4 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 3, "Jan 11 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 27]).week(), 1, "Dec 27 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 1, "Jan 2 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 2, "Jan 3 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 2, "Jan 9 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 3, "Jan 10 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2010, 11, 26]).week(), 1, "Dec 26 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 2, "Jan 2 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 3, "Jan 9 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday format" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1', "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2', "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/ja'), 'ja', "module should export ja");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
// moment.js language configuration
|
||
// language : Georgian (ka)
|
||
// author : Irakli Janiashvili : https://github.com/irakli-janiashvili
|
||
|
||
var moment = require("../../moment");
|
||
|
||
exports["lang:ka"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('ka');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('ka');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var i,
|
||
tests = 'იანვარი იან_თებერვალი თებ_მარტი მარ_აპრილი აპრ_მაისი მაი_ივნისი ივნ_ივლისი ივლ_აგვისტო აგვ_სექტემბერი სექ_ოქტომბერი ოქტ_ნოემბერი ნოე_დეკემბერი დეკ'.split("_");
|
||
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' უნდა იყოს თვე ' + (i + 1));
|
||
}
|
||
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'კვირა, თებერვალი მე-14 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'კვი, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 მე-2 02 თებერვალი თებ'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 მე-14 14'],
|
||
['d do dddd ddd dd', '0 0 კვირა კვი კვ'],
|
||
['DDD DDDo DDDD', '45 45-ე 045'],
|
||
['w wo ww', '7 მე-7 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['წლის DDDo დღე', 'წლის 45-ე დღე'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 თებერვალი 2010'],
|
||
['LLL', '14 თებერვალი 2010 3:25 PM'],
|
||
['LLLL', 'კვირა, 14 თებერვალი 2010 3:25 PM'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 თებ 2010'],
|
||
['lll', '14 თებ 2010 3:25 PM'],
|
||
['llll', 'კვი, 14 თებ 2010 3:25 PM']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(35);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1-ლი', '1-ლი');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), 'მე-2', 'მე-2');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), 'მე-3', 'მე-3');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), 'მე-4', 'მე-4');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), 'მე-5', 'მე-5');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), 'მე-6', 'მე-6');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), 'მე-7', 'მე-7');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), 'მე-8', 'მე-8');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), 'მე-9', 'მე-9');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), 'მე-10', 'მე-10');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), 'მე-11', 'მე-11');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), 'მე-12', 'მე-12');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), 'მე-13', 'მე-13');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), 'მე-14', 'მე-14');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), 'მე-15', 'მე-15');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), 'მე-16', 'მე-16');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), 'მე-17', 'მე-17');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), 'მე-18', 'მე-18');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), 'მე-19', 'მე-19');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), 'მე-20', 'მე-20');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21-ე', '21-ე');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22-ე', '22-ე');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23-ე', '23-ე');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24-ე', '24-ე');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25-ე', '25-ე');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26-ე', '26-ე');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27-ე', '27-ე');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28-ე', '28-ე');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29-ე', '29-ე');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30-ე', '30-ე');
|
||
|
||
test.equal(moment("2011 40", "YYYY DDD").format('DDDo'), 'მე-40', 'მე-40');
|
||
test.equal(moment("2011 50", "YYYY DDD").format('DDDo'), '50-ე', '50-ე');
|
||
test.equal(moment("2011 60", "YYYY DDD").format('DDDo'), 'მე-60', 'მე-60');
|
||
test.equal(moment("2011 100", "YYYY DDD").format('DDDo'), 'მე-100', 'მე-100');
|
||
test.equal(moment("2011 101", "YYYY DDD").format('DDDo'), '101-ე', '101-ე');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var i,
|
||
expected = 'იანვარი იან_თებერვალი თებ_მარტი მარ_აპრილი აპრ_მაისი მაი_ივნისი ივნ_ივლისი ივლ_აგვისტო აგვ_სექტემბერი სექ_ოქტომბერი ოქტ_ნოემბერი ნოე_დეკემბერი დეკ'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var i,
|
||
expected = 'კვირა კვი კვ_ორშაბათი ორშ ორ_სამშაბათი სამ სა_ოთხშაბათი ოთხ ოთ_ხუთშაბათი ხუთ ხუ_პარასკევი პარ პა_შაბათი შაბ შა'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "რამდენიმე წამი", "44 წამი = რამდენიმე წამი");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "წუთი", "45 წამი = წუთი");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "წუთი", "89 წამი = წუთი");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 წუთი", "90 წამი = 2 წუთი");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 წუთი", "44 წამი = 44 წუთი");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "საათი", "45 წამი = საათი");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "საათი", "89 წამი = საათი");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 საათი", "90 წამი = 2 საათი");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 საათი", "5 საათი = 5 საათი");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 საათი", "21 საათი = 21 საათი");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "დღე", "22 საათი = დღე");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "დღე", "35 საათი = დღე");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 დღე", "36 საათი = 2 დღე");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "დღე", "1 დღე = დღე");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 დღე", "5 დღე = 5 დღე");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 დღე", "25 დღე = 25 დღე");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "თვე", "26 დღე = თვე");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "თვე", "30 დღე = თვე");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "თვე", "45 დღე = თვე");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 თვე", "46 დღე = 2 თვე");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 თვე", "75 დღე = 2 თვე");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 თვე", "76 დღე = 3 თვე");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "თვე", "1 თვე = თვე");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 თვე", "5 თვე = 5 თვე");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 თვე", "344 დღე = 11 თვე");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "წელი", "345 დღე = წელი");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "წელი", "547 დღე = წელი");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 წელი", "548 დღე = 2 წელი");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "წელი", "1 წელი = წელი");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 წელი", "5 წელი = 5 წელი");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "რამდენიმე წამში", "ში სუფიქსი");
|
||
test.equal(moment(0).from(30000), "რამდენიმე წამის წინ", "წინ სუფიქსი");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.equal(moment().fromNow(), "რამდენიმე წამის წინ", "უნდა აჩვენოს როგორც წარსული");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "რამდენიმე წამში", "რამდენიმე წამში");
|
||
test.equal(moment().add({d: 5}).fromNow(), "5 დღეში", "5 დღეში");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "დღეს 2:00 AM-ზე", "დღეს ამავე დროს");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "დღეს 2:25 AM-ზე", "ახლანდელ დროს დამატებული 25 წუთი");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "დღეს 3:00 AM-ზე", "ახლანდელ დროს დამატებული 1 საათი");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "ხვალ 2:00 AM-ზე", "ხვალ ამავე დროს");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "დღეს 1:00 AM-ზე", "ახლანდელ დროს გამოკლებული 1 საათი");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "გუშინ 2:00 AM-ზე", "გუშინ ამავე დროს");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('[შემდეგ] dddd LT[-ზე]'), "დღეს + " + i + " დღე ახლანდელ დროს");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[შემდეგ] dddd LT[-ზე]'), "დღეს + " + i + " დღე დღის დასაწყისში");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[შემდეგ] dddd LT[-ზე]'), "დღეს + " + i + " დღე დღის დასასრულს");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[წინა] dddd LT[-ზე]'), "დღეს - " + i + " დღე ახლანდელ დროს");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[წინა] dddd LT[-ზე]'), "დღეს - " + i + " დღე დღის დასაწყისში");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[წინა] dddd LT[-ზე]'), "დღეს - " + i + " დღე დღის დასასრულს");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 კვირის წინ");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "1 კვირაში");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 კვირის წინ");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "2 კვირაში");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "დეკ 26 2011 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "იან 1 2012 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "იან 2 2012 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "იან 8 2012 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "იან 9 2012 უნდა იყოს კვირა 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "იან 1 2007 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "იან 7 2007 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "იან 8 2007 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "იან 14 2007 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "იან 15 2007 უნდა იყოს კვირა 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "დეკ 31 2007 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "იან 1 2008 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "იან 6 2008 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "იან 7 2008 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "იან 13 2008 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "იან 14 2008 უნდა იყოს კვირა 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "დეკ 30 2002 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "იან 1 2003 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "იან 5 2003 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "იან 6 2003 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "იან 12 2003 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "იან 13 2003 უნდა იყოს კვირა 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "დეკ 29 2008 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "იან 1 2009 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "იან 4 2009 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "იან 5 2009 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "იან 11 2009 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "იან 12 2009 უნდა იყოს კვირა 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "დეკ 28 2009 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "იან 1 2010 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "იან 3 2010 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "იან 4 2010 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "იან 10 2010 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "იან 11 2010 უნდა იყოს კვირა 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "დეკ 27 2010 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "იან 1 2011 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "იან 2 2011 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "იან 3 2011 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "იან 9 2011 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "იან 10 2011 უნდა იყოს კვირა 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-ლი', "დეკ 26 2011 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-ლი', "იან 1 2012 უნდა იყოს კვირა 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 მე-2', "იან 2 2012 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 მე-2', "იან 8 2012 უნდა იყოს კვირა 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 მე-3', "იან 9 2012 უნდა იყოს კვირა 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/ka'), 'ka', "module should export ka");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Khmer
|
||
*************************************************/
|
||
|
||
exports["lang:km"] = {
|
||
setUp: function (cb) {
|
||
moment.lang('km');
|
||
cb();
|
||
},
|
||
|
||
tearDown: function (cb) {
|
||
moment.lang('km');
|
||
cb();
|
||
},
|
||
|
||
"parse": function (test) {
|
||
test.expect(96);
|
||
var tests = 'មករា មករា_កុម្ភៈ កុម្ភៈ_មិនា មិនា_មេសា មេសា_ឧសភា ឧសភា_មិថុនា មិថុនា_កក្កដា កក្កដា_សីហា សីហា_កញ្ញា កញ្ញា_តុលា តុលា_វិច្ឆិកា វិច្ឆិកា_ធ្នូ ធ្នូ'.split("_"),
|
||
i;
|
||
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format": function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'អាទិត្យ, កុម្ភៈ 14 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'អាទិត្យ, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2 02 កុម្ភៈ កុម្ភៈ'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 អាទិត្យ អាទិត្យ អាទិត្យ'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '6 6 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45 day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 កុម្ភៈ 2010'],
|
||
['LLL', '14 កុម្ភៈ 2010 15:25'],
|
||
['LLLL', 'អាទិត្យ, 14 កុម្ភៈ 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 កុម្ភៈ 2010'],
|
||
['lll', '14 កុម្ភៈ 2010 15:25'],
|
||
['llll', 'អាទិត្យ, 14 កុម្ភៈ 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal": function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1st');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2nd');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3rd');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4th');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5th');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6th');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7th');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8th');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9th');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10th');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11th');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12th');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13th');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14th');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15th');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16th');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17th');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18th');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19th');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20th');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21st');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22nd');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23rd');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24th');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25th');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26th');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27th');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28th');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29th');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30th');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31st');
|
||
test.done();
|
||
},
|
||
|
||
"format month": function (test) {
|
||
test.expect(12);
|
||
var expected = 'មករា មករា_កុម្ភៈ កុម្ភៈ_មិនា មិនា_មេសា មេសា_ឧសភា ឧសភា_មិថុនា មិថុនា_កក្កដា កក្កដា_សីហា សីហា_កញ្ញា កញ្ញា_តុលា តុលា_វិច្ឆិកា វិច្ឆិកា_ធ្នូ ធ្នូ'.split("_"),
|
||
i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week": function (test) {
|
||
test.expect(7);
|
||
var expected = 'អាទិត្យ អាទិត្យ អាទិត្យ_ច័ន្ទ ច័ន្ទ ច័ន្ទ_អង្គារ អង្គារ អង្គារ_ពុធ ពុធ ពុធ_ព្រហស្បតិ៍ ព្រហស្បតិ៍ ព្រហស្បតិ៍_សុក្រ សុក្រ សុក្រ_សៅរ៍ សៅរ៍ សៅរ៍'.split("_"),
|
||
i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from": function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
s: 44
|
||
}), true), "ប៉ុន្មានវិនាទី", "44 seconds = ប៉ុន្មានវិនាទី");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
s: 45
|
||
}), true), "មួយនាទី", "45 seconds = មួយនាទី");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
s: 89
|
||
}), true), "មួយនាទី", "89 seconds = មួយនាទី");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
s: 90
|
||
}), true), "2 នាទី", "90 seconds = 2 នាទី");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
m: 44
|
||
}), true), "44 នាទី", "44 minutes = 44 នាទី");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
m: 45
|
||
}), true), "មួយម៉ោង", "45 minutes = មួយម៉ោង");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
m: 89
|
||
}), true), "មួយម៉ោង", "89 minutes = មួយម៉ោង");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
m: 90
|
||
}), true), "2 ម៉ោង", "90 minutes = 2 ម៉ោង");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
h: 5
|
||
}), true), "5 ម៉ោង", "5 hours = 5 ម៉ោង");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
h: 21
|
||
}), true), "21 ម៉ោង", "21 hours = 21 ម៉ោង");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
h: 22
|
||
}), true), "មួយថ្ងៃ", "22 hours = មួយថ្ងៃ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
h: 35
|
||
}), true), "មួយថ្ងៃ", "35 hours = មួយថ្ងៃ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
h: 36
|
||
}), true), "2 ថ្ងៃ", "36 hours = 2 ថ្ងៃ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
d: 1
|
||
}), true), "មួយថ្ងៃ", "1 day = មួយថ្ងៃ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
d: 5
|
||
}), true), "5 ថ្ងៃ", "5 days = 5 ថ្ងៃ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
d: 25
|
||
}), true), "25 ថ្ងៃ", "25 days = 25 ថ្ងៃ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
d: 26
|
||
}), true), "មួយខែ", "26 days = មួយខែ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
d: 30
|
||
}), true), "មួយខែ", "30 days = មួយខែ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
d: 45
|
||
}), true), "មួយខែ", "45 days = មួយខែ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
d: 46
|
||
}), true), "2 ខែ", "46 days = 2 ខែ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
d: 74
|
||
}), true), "2 ខែ", "75 days = 2 ខែ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
d: 76
|
||
}), true), "3 ខែ", "76 days = 3 ខែ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
M: 1
|
||
}), true), "មួយខែ", "1 month = មួយខែ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
M: 5
|
||
}), true), "5 ខែ", "5 months = 5 ខែ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
d: 344
|
||
}), true), "11 ខែ", "344 days = 11 ខែ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
d: 345
|
||
}), true), "មួយឆ្នាំ", "345 days = មួយឆ្នាំ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
d: 547
|
||
}), true), "មួយឆ្នាំ", "547 days = មួយឆ្នាំ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
d: 548
|
||
}), true), "2 ឆ្នាំ", "548 days = 2 ឆ្នាំ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
y: 1
|
||
}), true), "មួយឆ្នាំ", "1 year = មួយឆ្នាំ");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({
|
||
y: 5
|
||
}), true), "5 ឆ្នាំ", "5 years = 5 ឆ្នាំ");
|
||
test.done();
|
||
},
|
||
|
||
"suffix": function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "ប៉ុន្មានវិនាទីទៀត", "prefix");
|
||
test.equal(moment(0).from(30000), "ប៉ុន្មានវិនាទីមុន", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now": function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "ប៉ុន្មានវិនាទីមុន", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow": function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({
|
||
s: 30
|
||
}).fromNow(), "ប៉ុន្មានវិនាទីទៀត", "in a few seconds");
|
||
test.equal(moment().add({
|
||
d: 5
|
||
}).fromNow(), "5 ថ្ងៃទៀត", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day": function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "ថ្ងៃនៈ ម៉ោង 02:00", "today at the same time");
|
||
test.equal(moment(a).add({
|
||
m: 25
|
||
}).calendar(), "ថ្ងៃនៈ ម៉ោង 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({
|
||
h: 1
|
||
}).calendar(), "ថ្ងៃនៈ ម៉ោង 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({
|
||
d: 1
|
||
}).calendar(), "ស្អែក ម៉ោង 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({
|
||
h: 1
|
||
}).calendar(), "ថ្ងៃនៈ ម៉ោង 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({
|
||
d: 1
|
||
}).calendar(), "ម្សិលមិញ ម៉ោង 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week": function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({
|
||
d: i
|
||
});
|
||
test.equal(m.calendar(), m.format('dddd [ម៉ោង] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [ម៉ោង] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [ម៉ោង] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week": function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({
|
||
d: i
|
||
});
|
||
test.equal(m.calendar(), m.format('dddd [សប្តាហ៍មុន] [ម៉ោង] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [សប្តាហ៍មុន] [ម៉ោង] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [សប្តាហ៍មុន] [ម៉ោង] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else": function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({
|
||
w: 1
|
||
}),
|
||
weeksFromNow = moment().add({
|
||
w: 1
|
||
});
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({
|
||
w: 2
|
||
});
|
||
weeksFromNow = moment().add({
|
||
w: 2
|
||
});
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday": function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday": function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday": function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday": function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday": function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday": function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday": function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted": function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language": function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/km'), 'km', "module should export km");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Korean
|
||
*************************************************/
|
||
|
||
exports["lang:kr"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('ko');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = '1월 1월_2월 2월_3월 3월_4월 4월_5월 5월_6월 6월_7월 7월_8월 8월_9월 9월_10월 10월_11월 11월_12월 12월'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"parse meridiem" : function (test) {
|
||
var elements = [{
|
||
expression : "1981년 9월 8일 오후 2시 30분",
|
||
inputFormat : "YYYY[년] M[월] D[일] A h[시] m[분]",
|
||
outputFormat : "A",
|
||
expected : "오후"
|
||
}, {
|
||
expression : "1981년 9월 8일 오전 2시 30분",
|
||
inputFormat : "YYYY[년] M[월] D[일] A h[시] m[분]",
|
||
outputFormat : "A h시",
|
||
expected : "오전 2시"
|
||
}, {
|
||
expression : "14시 30분",
|
||
inputFormat : "H[시] m[분]",
|
||
outputFormat : "A",
|
||
expected : "오후"
|
||
}, {
|
||
expression : "오후 4시",
|
||
inputFormat : "A h[시]",
|
||
outputFormat : "H",
|
||
expected : "16"
|
||
}], i, l, it, actual;
|
||
|
||
test.expect(elements.length);
|
||
|
||
for (i = 0, l = elements.length; i < l; ++i) {
|
||
it = elements[i];
|
||
actual = moment(it.expression, it.inputFormat).format(it.outputFormat);
|
||
|
||
test.equal(
|
||
actual,
|
||
it.expected,
|
||
"'" + it.outputFormat + "' of '" + it.expression + "' must be '" + it.expected + "' but was '" + actual + "'."
|
||
);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['YYYY년 MMMM Do dddd a h:mm:ss', '2010년 2월 14일 일요일 오후 3:25:50'],
|
||
['ddd A h', '일 오후 3'],
|
||
['M Mo MM MMMM MMM', '2 2일 02 2월 2월'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14일 14'],
|
||
['d do dddd ddd dd', '0 0일 일요일 일 일'],
|
||
['DDD DDDo DDDD', '45 45일 045'],
|
||
['w wo ww', '8 8일 08'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', '오후 오후'],
|
||
['일년 중 DDDo째 되는 날', '일년 중 45일째 되는 날'],
|
||
['L', '2010.02.14'],
|
||
['LL', '2010년 2월 14일'],
|
||
['LLL', '2010년 2월 14일 오후 3시 25분'],
|
||
['LLLL', '2010년 2월 14일 일요일 오후 3시 25분'],
|
||
['l', '2010.2.14'],
|
||
['ll', '2010년 2월 14일'],
|
||
['lll', '2010년 2월 14일 오후 3시 25분'],
|
||
['llll', '2010년 2월 14일 일 오후 3시 25분']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1일', '1일');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2일', '2일');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3일', '3일');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4일', '4일');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5일', '5일');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6일', '6일');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7일', '7일');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8일', '8일');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9일', '9일');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10일', '10일');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11일', '11일');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12일', '12일');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13일', '13일');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14일', '14일');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15일', '15일');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16일', '16일');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17일', '17일');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18일', '18일');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19일', '19일');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20일', '20일');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21일', '21일');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22일', '22일');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23일', '23일');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24일', '24일');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25일', '25일');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26일', '26일');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27일', '27일');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28일', '28일');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29일', '29일');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30일', '30일');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31일', '31일');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = '1월 1월_2월 2월_3월 3월_4월 4월_5월 5월_6월 6월_7월 7월_8월 8월_9월 9월_10월 10월_11월 11월_12월 12월'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = '일요일 일 일_월요일 월 월_화요일 화 화_수요일 수 수_목요일 목 목_금요일 금 금_토요일 토 토'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "몇초", "44초 = 몇초");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "일분", "45초 = 일분");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "일분", "89초 = 일분");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2분", "90초 = 2분");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44분", "44분 = 44분");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "한시간", "45분 = 한시간");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "한시간", "89분 = 한시간");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2시간", "90분 = 2시간");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5시간", "5시간 = 5시간");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21시간", "21시간 = 21시간");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "하루", "22시간 = 하루");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "하루", "35시간 = 하루");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2일", "36시간 = 2일");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "하루", "하루 = 하루");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5일", "5일 = 5일");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25일", "25일 = 25일");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "한달", "26일 = 한달");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "한달", "30일 = 한달");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "한달", "45일 = 한달");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2달", "46일 = 2달");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2달", "75일 = 2달");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3달", "76일 = 3달");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "한달", "1달 = 한달");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5달", "5달 = 5달");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11달", "344일 = 11달");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "일년", "345일 = 일년");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "일년", "547일 = 일년");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2년", "548일 = 2년");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "일년", "일년 = 일년");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5년", "5년 = 5년");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "몇초 후", "prefix");
|
||
test.equal(moment(0).from(30000), "몇초 전", "suffix");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.equal(moment().fromNow(), "몇초 전", "now from now should display as in the past");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "몇초 후", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "5일 후", "in 5 days");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "오늘 오전 2시 00분", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "오늘 오전 2시 25분", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "오늘 오전 3시 00분", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "내일 오전 2시 00분", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "오늘 오전 1시 00분", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "어제 오전 2시 00분", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('지난주 dddd LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('지난주 dddd LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('지난주 dddd LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Sunday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 2, "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 3, "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 1, "Dec 31 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 2, "Jan 7 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 3, "Jan 14 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 52, "Dec 29 2007 should be week 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 2, "Jan 6 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 3, "Jan 13 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 1, "Dec 29 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 2, "Jan 5 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 3, "Jan 12 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 28]).week(), 1, "Dec 28 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 2, "Jan 4 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 3, "Jan 11 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 27]).week(), 1, "Dec 27 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 1, "Jan 2 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 2, "Jan 3 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 2, "Jan 9 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 3, "Jan 10 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2010, 11, 26]).week(), 1, "Dec 26 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 2, "Jan 2 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 3, "Jan 9 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday format" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1일', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1일', "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2일', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2일', "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3일', "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/ko'), 'ko', "module should export ko");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
/**************************************************
|
||
Luxembourgish
|
||
*************************************************/
|
||
|
||
exports["lang:lb"] = {
|
||
setUp: function (cb) {
|
||
moment.lang('lb');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown: function (cb) {
|
||
moment.lang('lb');
|
||
cb();
|
||
},
|
||
|
||
"parse": function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'Januar Jan._Februar Febr._Mäerz Mrz._Abrëll Abr._Mee Mee_Juni Jun._Juli Jul._August Aug._September Sept._Oktober Okt._November Nov._Dezember Dez.'.split("_"), i;
|
||
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format": function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, HH:mm:ss', 'Sonndeg, 14. Februar 2010, 15:25:50'],
|
||
['ddd, HH:mm', 'So., 15:25'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 Februar Febr.'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. Sonndeg So. So'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '6 6. 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45. day of the year'],
|
||
['L', '14.02.2010'],
|
||
['LL', '14. Februar 2010'],
|
||
['LLL', '14. Februar 2010 15:25 Auer'],
|
||
['LLLL', 'Sonndeg, 14. Februar 2010 15:25 Auer'],
|
||
['l', '14.2.2010'],
|
||
['ll', '14. Febr. 2010'],
|
||
['lll', '14. Febr. 2010 15:25 Auer'],
|
||
['llll', 'So., 14. Febr. 2010 15:25 Auer']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format month": function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'Januar Jan._Februar Febr._Mäerz Mrz._Abrëll Abr._Mee Mee_Juni Jun._Juli Jul._August Aug._September Sept._Oktober Okt._November Nov._Dezember Dez.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week": function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'Sonndeg So. So_Méindeg Mé. Mé_Dënschdeg Dë. Dë_Mëttwoch Më. Më_Donneschdeg Do. Do_Freideg Fr. Fr_Samschdeg Sa. Sa'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from": function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "e puer Sekonnen", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "eng Minutt", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "eng Minutt", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 Minutten", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 Minutten", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "eng Stonn", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "eng Stonn", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 Stonnen", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 Stonnen", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 Stonnen", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "een Dag", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "een Dag", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 Deeg", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "een Dag", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 Deeg", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 Deeg", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "ee Mount", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "ee Mount", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "ee Mount", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 Méint", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 Méint", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 Méint", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "ee Mount", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 Méint", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 Méint", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "ee Joer", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "ee Joer", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 Joer", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "ee Joer", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 Joer", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix": function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "an e puer Sekonnen", "prefix");
|
||
test.equal(moment(0).from(30000), "virun e puer Sekonnen", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow": function (test) {
|
||
test.expect(13);
|
||
test.equal(moment().add({s: 30}).fromNow(), "an e puer Sekonnen", "in a few seconds");
|
||
test.equal(moment().add({d: 1}).fromNow(), "an engem Dag", "in one day");
|
||
test.equal(moment().add({d: 2}).fromNow(), "an 2 Deeg", "in 2 days");
|
||
test.equal(moment().add({d: 3}).fromNow(), "an 3 Deeg", "in 3 days");
|
||
test.equal(moment().add({d: 4}).fromNow(), "a 4 Deeg", "in 4 days");
|
||
test.equal(moment().add({d: 5}).fromNow(), "a 5 Deeg", "in 5 days");
|
||
test.equal(moment().add({d: 6}).fromNow(), "a 6 Deeg", "in 6 days");
|
||
test.equal(moment().add({d: 7}).fromNow(), "a 7 Deeg", "in 7 days");
|
||
test.equal(moment().add({d: 8}).fromNow(), "an 8 Deeg", "in 8 days");
|
||
test.equal(moment().add({d: 9}).fromNow(), "an 9 Deeg", "in 9 days");
|
||
test.equal(moment().add({d: 10}).fromNow(), "an 10 Deeg", "in 10 days");
|
||
test.equal(moment().add({y: 100}).fromNow(), "an 100 Joer", "in 100 years");
|
||
test.equal(moment().add({y: 400}).fromNow(), "a 400 Joer", "in 400 years");
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week": function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m, weekday, datestring;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
|
||
// Different date string for "Dënschdeg" (Tuesday) and "Donneschdeg" (Thursday)
|
||
weekday = parseInt(m.format('d'), 10);
|
||
datestring = (weekday === 2 || weekday === 4 ? '[Leschten] dddd [um] LT' : '[Leschte] dddd [um] LT');
|
||
|
||
test.equal(m.calendar(), m.format(datestring), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(datestring), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(datestring), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language": function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/lb'), 'lb', "module should export lb");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Lithuanian
|
||
*************************************************/
|
||
|
||
exports["lang:lt"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('lt');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'sausio sau_vasario vas_kovo kov_balandžio bal_gegužės geg_biržėlio bir_liepos lie_rugpjūčio rgp_rugsėjo rgs_spalio spa_lapkričio lap_gruodžio grd'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, h:mm:ss a', 'sekmadienis, 14-oji vasario 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'Sek, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2-oji 02 vasario vas'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14-oji 14'],
|
||
['d do dddd ddd dd', '0 0-oji sekmadienis Sek S'],
|
||
['DDD DDDo DDDD', '45 45-oji 045'],
|
||
['w wo ww', '6 6-oji 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['DDDo [metų diena]', '45-oji metų diena'],
|
||
['L', '2010-02-14'],
|
||
['LL', '2010 m. vasario 14 d.'],
|
||
['LLL', '2010 m. vasario 14 d., 15:25 val.'],
|
||
['LLLL', '2010 m. vasario 14 d., sekmadienis, 15:25 val.'],
|
||
['l', '2010-02-14'],
|
||
['ll', '2010 m. vasario 14 d.'],
|
||
['lll', '2010 m. vasario 14 d., 15:25 val.'],
|
||
['llll', '2010 m. vasario 14 d., Sek, 15:25 val.']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1-oji', '1-oji');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2-oji', '2-oji');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3-oji', '3-oji');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4-oji', '4-oji');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5-oji', '5-oji');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6-oji', '6-oji');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7-oji', '7-oji');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8-oji', '8-oji');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9-oji', '9-oji');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10-oji', '10-oji');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11-oji', '11-oji');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12-oji', '12-oji');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13-oji', '13-oji');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14-oji', '14-oji');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15-oji', '15-oji');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16-oji', '16-oji');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17-oji', '17-oji');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18-oji', '18-oji');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19-oji', '19-oji');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20-oji', '20-oji');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21-oji', '21-oji');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22-oji', '22-oji');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23-oji', '23-oji');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24-oji', '24-oji');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25-oji', '25-oji');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26-oji', '26-oji');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27-oji', '27-oji');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28-oji', '28-oji');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29-oji', '29-oji');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30-oji', '30-oji');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31-oji', '31-oji');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'sausio sau_vasario vas_kovo kov_balandžio bal_gegužės geg_biržėlio bir_liepos lie_rugpjūčio rgp_rugsėjo rgs_spalio spa_lapkričio lap_gruodžio grd'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'sekmadienis Sek S_pirmadienis Pir P_antradienis Ant A_trečiadienis Tre T_ketvirtadienis Ket K_penktadienis Pen Pn_šeštadienis Šeš Š'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(37);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "kelios sekundės", "44 seconds = seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "minutė", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "minutė", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutės", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 10}), true), "10 minučių", "10 minutes = 10 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 11}), true), "11 minučių", "11 minutes = 11 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 19}), true), "19 minučių", "19 minutes = 19 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 20}), true), "20 minučių", "20 minutes = 20 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutės", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "valanda", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "valanda", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 valandos", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 valandos", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 10}), true), "10 valandų", "10 hours = 10 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 valandos", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "diena", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "diena", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dienos", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "diena", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dienos", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 10}), true), "10 dienų", "10 days = 10 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dienos", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "mėnuo", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "mėnuo", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "mėnuo", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 mėnesiai", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 mėnesiai", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 mėnesiai", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "mėnuo", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 mėnesiai", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 10}), true), "10 mėnesių", "10 months = 10 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 mėnesių", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "metai", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "metai", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 metai", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "metai", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 metai", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "po kelių sekundžių", "prefix");
|
||
test.equal(moment(0).from(30000), "prieš kelias sekundes", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "prieš kelias sekundes", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "po kelių sekundžių", "in seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "po 5 dienų", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Šiandien 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Šiandien 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Šiandien 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Rytoj 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Šiandien 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Vakar 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[Praėjusį] dddd LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[Praėjusį] dddd LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[Praėjusį] dddd LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52-oji', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1-oji', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1-oji', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2-oji', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2-oji', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/lt'), 'lt', "module should export lt");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Latvian
|
||
*************************************************/
|
||
|
||
exports["lang:lv"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('lv');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'janvāris jan_februāris feb_marts mar_aprīlis apr_maijs mai_jūnijs jūn_jūlijs jūl_augusts aug_septembris sep_oktobris okt_novembris nov_decembris dec'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, h:mm:ss a', 'svētdiena, 14. februāris 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'Sv, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 februāris feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. svētdiena Sv Sv'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '6 6. 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45. day of the year'],
|
||
['L', '14.02.2010'],
|
||
['LL', '2010. gada 14. februāris'],
|
||
['LLL', '2010. gada 14. februāris, 15:25'],
|
||
['LLLL', '2010. gada 14. februāris, svētdiena, 15:25'],
|
||
['l', '14.2.2010'],
|
||
['ll', '2010. gada 14. feb'],
|
||
['lll', '2010. gada 14. feb, 15:25'],
|
||
['llll', '2010. gada 14. feb, Sv, 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'janvāris jan_februāris feb_marts mar_aprīlis apr_maijs mai_jūnijs jūn_jūlijs jūl_augusts aug_septembris sep_oktobris okt_novembris nov_decembris dec'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'svētdiena Sv Sv_pirmdiena P P_otrdiena O O_trešdiena T T_ceturtdiena C C_piektdiena Pk Pk_sestdiena S S'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "dažas sekundes", "44 seconds = seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "minūti", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "minūti", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minūtes", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minūtes", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "stundu", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "stundu", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 stundas", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 stundas", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 stunda", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "dienu", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "dienu", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dienas", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "dienu", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dienas", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dienas", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "mēnesi", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "mēnesi", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "mēnesi", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 mēneši", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 mēneši", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 mēneši", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "mēnesi", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 mēneši", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 mēneši", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "gadu", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "gadu", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 gadi", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "gadu", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 gadi", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "dažas sekundes vēlāk", "prefix");
|
||
test.equal(moment(0).from(30000), "dažas sekundes agrāk", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "dažas sekundes agrāk", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "dažas sekundes vēlāk", "in seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "5 dienas vēlāk", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Šodien pulksten 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Šodien pulksten 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Šodien pulksten 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Rīt pulksten 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Šodien pulksten 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Vakar pulksten 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [pulksten] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [pulksten] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [pulksten] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[Pagājušā] dddd [pulksten] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[Pagājušā] dddd [pulksten] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[Pagājušā] dddd [pulksten] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/lv'), 'lv', "module should export lv");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Macedonian
|
||
*************************************************/
|
||
|
||
exports["lang:mk"] = {
|
||
"setUp" : function (cb) {
|
||
moment.lang('mk');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
"tearDown" : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'јануари јан_февруари фев_март мар_април апр_мај мај_јуни јун_јули јул_август авг_септември сеп_октомври окт_ноември ное_декември дек'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, H:mm:ss', 'недела, февруари 14-ти 2010, 15:25:50'],
|
||
['ddd, hA', 'нед, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2-ри 02 февруари фев'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14-ти 14'],
|
||
['d do dddd ddd dd', '0 0-ев недела нед нe'],
|
||
['DDD DDDo DDDD', '45 45-ти 045'],
|
||
['w wo ww', '7 7-ми 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45-ти day of the year'],
|
||
['L', '14.02.2010'],
|
||
['LL', '14 февруари 2010'],
|
||
['LLL', '14 февруари 2010 15:25'],
|
||
['LLLL', 'недела, 14 февруари 2010 15:25'],
|
||
['l', '14.2.2010'],
|
||
['ll', '14 фев 2010'],
|
||
['lll', '14 фев 2010 15:25'],
|
||
['llll', 'нед, 14 фев 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1-ви', '1-ви');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2-ри', '2-ри');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3-ти', '3-ти');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4-ти', '4-ти');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5-ти', '5-ти');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6-ти', '6-ти');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7-ми', '7-ми');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8-ми', '8-ми');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9-ти', '9-ти');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10-ти', '10-ти');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11-ти', '11-ти');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12-ти', '12-ти');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13-ти', '13-ти');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14-ти', '14-ти');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15-ти', '15-ти');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16-ти', '16-ти');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17-ти', '17-ти');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18-ти', '18-ти');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19-ти', '19-ти');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20-ти', '20-ти');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21-ви', '21-ви');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22-ри', '22-ри');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23-ти', '23-ти');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24-ти', '24-ти');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25-ти', '25-ти');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26-ти', '26-ти');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27-ми', '27-ми');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28-ми', '28-ми');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29-ти', '29-ти');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30-ти', '30-ти');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31-ви', '31-ви');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'јануари јан_февруари фев_март мар_април апр_мај мај_јуни јун_јули јул_август авг_септември сеп_октомври окт_ноември ное_декември дек'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'недела нед нe_понеделник пон пo_вторник вто вт_среда сре ср_четврток чет че_петок пет пе_сабота саб сa'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "неколку секунди", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "минута", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "минута", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 минути", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 минути", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "час", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "час", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 часа", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 часа", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 часа", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "ден", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "ден", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 дена", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "ден", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 дена", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 дена", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "месец", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "месец", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "месец", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 месеци", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 месеци", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 месеци", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "месец", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 месеци", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 месеци", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "година", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "година", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 години", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "година", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 години", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "после неколку секунди", "prefix");
|
||
test.equal(moment(0).from(30000), "пред неколку секунди", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "пред неколку секунди", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "после неколку секунди", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "после 5 дена", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Денес во 2:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Денес во 2:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Денес во 3:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Утре во 2:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Денес во 1:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Вчера во 2:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [во] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [во] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [во] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
switch (d.day()) {
|
||
case 0:
|
||
case 3:
|
||
case 6:
|
||
return '[Во изминатата] dddd [во] LT';
|
||
case 1:
|
||
case 2:
|
||
case 4:
|
||
case 5:
|
||
return '[Во изминатиот] dddd [во] LT';
|
||
}
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-ви', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-ви', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2-ри', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2-ри', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-ти', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/mk'), 'mk', "module should export mk");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Malayalam
|
||
*************************************************/
|
||
|
||
exports["lang:ml"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('ml');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'ജനുവരി ജനു._ഫെബ്രുവരി ഫെബ്രു._മാർച്ച് മാർ._ഏപ്രിൽ ഏപ്രി._മേയ് മേയ്_ജൂൺ ജൂൺ_ജൂലൈ ജൂലൈ._ഓഗസ്റ്റ് ഓഗ._സെപ്റ്റംബർ സെപ്റ്റ._ഒക്ടോബർ ഒക്ടോ._നവംബർ നവം._ഡിസംബർ ഡിസം.'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(21);
|
||
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, a h:mm:ss -നു', 'ഞായറാഴ്ച, 14 ഫെബ്രുവരി 2010, ഉച്ച കഴിഞ്ഞ് 3:25:50 -നു'],
|
||
['ddd, a h -നു', 'ഞായർ, ഉച്ച കഴിഞ്ഞ് 3 -നു'],
|
||
['M Mo MM MMMM MMM', '2 2 02 ഫെബ്രുവരി ഫെബ്രു.'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 ഞായറാഴ്ച ഞായർ ഞാ'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '8 8 08'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'ഉച്ച കഴിഞ്ഞ് ഉച്ച കഴിഞ്ഞ്'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 ഫെബ്രുവരി 2010'],
|
||
['LLL', '14 ഫെബ്രുവരി 2010, ഉച്ച കഴിഞ്ഞ് 3:25 -നു'],
|
||
['LLLL', 'ഞായറാഴ്ച, 14 ഫെബ്രുവരി 2010, ഉച്ച കഴിഞ്ഞ് 3:25 -നു'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 ഫെബ്രു. 2010'],
|
||
['lll', '14 ഫെബ്രു. 2010, ഉച്ച കഴിഞ്ഞ് 3:25 -നു'],
|
||
['llll', 'ഞായർ, 14 ഫെബ്രു. 2010, ഉച്ച കഴിഞ്ഞ് 3:25 -നു']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'ജനുവരി ജനു._ഫെബ്രുവരി ഫെബ്രു._മാർച്ച് മാർ._ഏപ്രിൽ ഏപ്രി._മേയ് മേയ്_ജൂൺ ജൂൺ_ജൂലൈ ജൂലൈ._ഓഗസ്റ്റ് ഓഗ._സെപ്റ്റംബർ സെപ്റ്റ._ഒക്ടോബർ ഒക്ടോ._നവംബർ നവം._ഡിസംബർ ഡിസം.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'ഞായറാഴ്ച ഞായർ ഞാ_തിങ്കളാഴ്ച തിങ്കൾ തി_ചൊവ്വാഴ്ച ചൊവ്വ ചൊ_ബുധനാഴ്ച ബുധൻ ബു_വ്യാഴാഴ്ച വ്യാഴം വ്യാ_വെള്ളിയാഴ്ച വെള്ളി വെ_ശനിയാഴ്ച ശനി ശ'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "അൽപ നിമിഷങ്ങൾ", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "ഒരു മിനിറ്റ്", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "ഒരു മിനിറ്റ്", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 മിനിറ്റ്", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 മിനിറ്റ്", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "ഒരു മണിക്കൂർ", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "ഒരു മണിക്കൂർ", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 മണിക്കൂർ", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 മണിക്കൂർ", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 മണിക്കൂർ", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "ഒരു ദിവസം", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "ഒരു ദിവസം", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 ദിവസം", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "ഒരു ദിവസം", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 ദിവസം", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 ദിവസം", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "ഒരു മാസം", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "ഒരു മാസം", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "ഒരു മാസം", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 മാസം", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 മാസം", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 മാസം", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "ഒരു മാസം", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 മാസം", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 മാസം", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "ഒരു വർഷം", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "ഒരു വർഷം", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 വർഷം", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "ഒരു വർഷം", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 വർഷം", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "അൽപ നിമിഷങ്ങൾ കഴിഞ്ഞ്", "prefix");
|
||
test.equal(moment(0).from(30000), "അൽപ നിമിഷങ്ങൾ മുൻപ്", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "അൽപ നിമിഷങ്ങൾ മുൻപ്", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "അൽപ നിമിഷങ്ങൾ കഴിഞ്ഞ്", "അൽപ നിമിഷങ്ങൾ കഴിഞ്ഞ്");
|
||
test.equal(moment().add({d: 5}).fromNow(), "5 ദിവസം കഴിഞ്ഞ്", "5 ദിവസം കഴിഞ്ഞ്");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "ഇന്ന് രാത്രി 2:00 -നു", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "ഇന്ന് രാത്രി 2:25 -നു", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 3 }).calendar(), "ഇന്ന് രാവിലെ 5:00 -നു", "Now plus 3 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "നാളെ രാത്രി 2:00 -നു", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "ഇന്ന് രാത്രി 1:00 -നു", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "ഇന്നലെ രാത്രി 2:00 -നു", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd[,] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd[,] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd[,] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[കഴിഞ്ഞ] dddd[,] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[കഴിഞ്ഞ] dddd[,] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[കഴിഞ്ഞ] dddd[,] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"meridiem" : function (test) {
|
||
test.expect(12);
|
||
|
||
test.equal(moment([2011, 2, 23, 2, 30]).format('a'), "രാത്രി", "before dawn");
|
||
test.equal(moment([2011, 2, 23, 9, 30]).format('a'), "രാവിലെ", "morning");
|
||
test.equal(moment([2011, 2, 23, 14, 30]).format('a'), "ഉച്ച കഴിഞ്ഞ്", "during day");
|
||
test.equal(moment([2011, 2, 23, 17, 30]).format('a'), "വൈകുന്നേരം", "evening");
|
||
test.equal(moment([2011, 2, 23, 19, 30]).format('a'), "വൈകുന്നേരം", "late evening");
|
||
test.equal(moment([2011, 2, 23, 21, 20]).format('a'), "രാത്രി", "night");
|
||
|
||
test.equal(moment([2011, 2, 23, 2, 30]).format('A'), "രാത്രി", "before dawn");
|
||
test.equal(moment([2011, 2, 23, 9, 30]).format('A'), "രാവിലെ", "morning");
|
||
test.equal(moment([2011, 2, 23, 14, 30]).format('A'), "ഉച്ച കഴിഞ്ഞ്", " during day");
|
||
test.equal(moment([2011, 2, 23, 17, 30]).format('A'), "വൈകുന്നേരം", "evening");
|
||
test.equal(moment([2011, 2, 23, 19, 30]).format('A'), "വൈകുന്നേരം", "late evening");
|
||
test.equal(moment([2011, 2, 23, 21, 20]).format('A'), "രാത്രി", "night");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 2, "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 3, "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 1, "Dec 31 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 2, "Jan 7 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 3, "Jan 14 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 52, "Dec 29 2007 should be week 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 2, "Jan 6 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 3, "Jan 13 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 1, "Dec 29 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 2, "Jan 5 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 3, "Jan 12 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 28]).week(), 1, "Dec 28 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 2, "Jan 4 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 3, "Jan 11 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 27]).week(), 1, "Dec 27 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 1, "Jan 2 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 2, "Jan 3 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 2, "Jan 9 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 3, "Jan 10 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2010, 11, 26]).week(), 1, "Dec 26 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 2, "Jan 2 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 3, "Jan 9 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1', "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2', "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/ml'), 'ml', "module should export ml");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Marathi
|
||
*************************************************/
|
||
|
||
exports["lang:mr"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('mr');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'जानेवारी जाने._फेब्रुवारी फेब्रु._मार्च मार्च._एप्रिल एप्रि._मे मे._जून जून._जुलै जुलै._ऑगस्ट ऑग._सप्टेंबर सप्टें._ऑक्टोबर ऑक्टो._नोव्हेंबर नोव्हें._डिसेंबर डिसें.'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(21);
|
||
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, a h:mm:ss वाजता', 'रविवार, १४ फेब्रुवारी २०१०, दुपारी ३:२५:५० वाजता'],
|
||
['ddd, a h वाजता', 'रवि, दुपारी ३ वाजता'],
|
||
['M Mo MM MMMM MMM', '२ २ ०२ फेब्रुवारी फेब्रु.'],
|
||
['YYYY YY', '२०१० १०'],
|
||
['D Do DD', '१४ १४ १४'],
|
||
['d do dddd ddd dd', '० ० रविवार रवि र'],
|
||
['DDD DDDo DDDD', '४५ ४५ ०४५'],
|
||
['w wo ww', '८ ८ ०८'],
|
||
['h hh', '३ ०३'],
|
||
['H HH', '१५ १५'],
|
||
['m mm', '२५ २५'],
|
||
['s ss', '५० ५०'],
|
||
['a A', 'दुपारी दुपारी'],
|
||
['L', '१४/०२/२०१०'],
|
||
['LL', '१४ फेब्रुवारी २०१०'],
|
||
['LLL', '१४ फेब्रुवारी २०१०, दुपारी ३:२५ वाजता'],
|
||
['LLLL', 'रविवार, १४ फेब्रुवारी २०१०, दुपारी ३:२५ वाजता'],
|
||
['l', '१४/२/२०१०'],
|
||
['ll', '१४ फेब्रु. २०१०'],
|
||
['lll', '१४ फेब्रु. २०१०, दुपारी ३:२५ वाजता'],
|
||
['llll', 'रवि, १४ फेब्रु. २०१०, दुपारी ३:२५ वाजता']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '१', '१');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '२', '२');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '३', '३');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '४', '४');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '५', '५');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '६', '६');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '७', '७');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '८', '८');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '९', '९');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '१०', '१०');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '११', '११');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '१२', '१२');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '१३', '१३');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '१४', '१४');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '१५', '१५');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '१६', '१६');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '१७', '१७');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '१८', '१८');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '१९', '१९');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '२०', '२०');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '२१', '२१');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '२२', '२२');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '२३', '२३');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '२४', '२४');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '२५', '२५');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '२६', '२६');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '२७', '२७');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '२८', '२८');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '२९', '२९');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '३०', '३०');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '३१', '३१');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'जानेवारी जाने._फेब्रुवारी फेब्रु._मार्च मार्च._एप्रिल एप्रि._मे मे._जून जून._जुलै जुलै._ऑगस्ट ऑग._सप्टेंबर सप्टें._ऑक्टोबर ऑक्टो._नोव्हेंबर नोव्हें._डिसेंबर डिसें.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'रविवार रवि र_सोमवार सोम सो_मंगळवार मंगळ मं_बुधवार बुध बु_गुरूवार गुरू गु_शुक्रवार शुक्र शु_शनिवार शनि श'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "सेकंद", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "एक मिनिट", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "एक मिनिट", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "२ मिनिटे", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({ m: 44 }), true), "४४ मिनिटे", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "एक तास", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "एक तास", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "२ तास", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "५ तास", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "२१ तास", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "एक दिवस", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "एक दिवस", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "२ दिवस", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "एक दिवस", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "५ दिवस", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "२५ दिवस", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({ d: 26 }), true), "एक महिना", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({ d: 30 }), true), "एक महिना", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({ d: 45 }), true), "एक महिना", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({ d: 46 }), true), "२ महिने", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({ d: 74 }), true), "२ महिने", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({ d: 76 }), true), "३ महिने", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({ M: 1 }), true), "एक महिना", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({ M: 5 }), true), "५ महिने", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({ d: 344 }), true), "११ महिने", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "एक वर्ष", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "एक वर्ष", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "२ वर्षे", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "एक वर्ष", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({ y: 5 }), true), "५ वर्षे", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "सेकंद नंतर", "prefix");
|
||
test.equal(moment(0).from(30000), "सेकंद पूर्वी", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "सेकंद पूर्वी", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({ s: 30 }).fromNow(), "सेकंद नंतर", "सेकंद नंतर");
|
||
test.equal(moment().add({ d: 5 }).fromNow(), "५ दिवस नंतर", "५ दिवस नंतर");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "आज रात्री २:०० वाजता", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "आज रात्री २:२५ वाजता", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 3 }).calendar(), "आज सकाळी ५:०० वाजता", "Now plus 3 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "उद्या रात्री २:०० वाजता", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "आज रात्री १:०० वाजता", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "काल रात्री २:०० वाजता", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd[,] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd[,] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd[,] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[मागील] dddd[,] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[मागील] dddd[,] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[मागील] dddd[,] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"meridiem" : function (test) {
|
||
test.expect(12);
|
||
|
||
test.equal(moment([2011, 2, 23, 2, 30]).format('a'), "रात्री", "before dawn");
|
||
test.equal(moment([2011, 2, 23, 9, 30]).format('a'), "सकाळी", "morning");
|
||
test.equal(moment([2011, 2, 23, 14, 30]).format('a'), "दुपारी", "during day");
|
||
test.equal(moment([2011, 2, 23, 17, 30]).format('a'), "सायंकाळी", "evening");
|
||
test.equal(moment([2011, 2, 23, 19, 30]).format('a'), "सायंकाळी", "late evening");
|
||
test.equal(moment([2011, 2, 23, 21, 20]).format('a'), "रात्री", "night");
|
||
|
||
test.equal(moment([2011, 2, 23, 2, 30]).format('A'), "रात्री", "before dawn");
|
||
test.equal(moment([2011, 2, 23, 9, 30]).format('A'), "सकाळी", "morning");
|
||
test.equal(moment([2011, 2, 23, 14, 30]).format('A'), "दुपारी", " during day");
|
||
test.equal(moment([2011, 2, 23, 17, 30]).format('A'), "सायंकाळी", "evening");
|
||
test.equal(moment([2011, 2, 23, 19, 30]).format('A'), "सायंकाळी", "late evening");
|
||
test.equal(moment([2011, 2, 23, 21, 20]).format('A'), "रात्री", "night");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 2, "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 3, "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 1, "Dec 31 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 2, "Jan 7 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 3, "Jan 14 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 52, "Dec 29 2007 should be week 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 2, "Jan 6 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 3, "Jan 13 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 1, "Dec 29 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 2, "Jan 5 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 3, "Jan 12 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 28]).week(), 1, "Dec 28 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 2, "Jan 4 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 3, "Jan 11 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 27]).week(), 1, "Dec 27 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 1, "Jan 2 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 2, "Jan 3 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 2, "Jan 9 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 3, "Jan 10 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2010, 11, 26]).week(), 1, "Dec 26 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 2, "Jan 2 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 3, "Jan 9 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '१ ०१ १', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '१ ०१ १', "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '२ ०२ २', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '२ ०२ २', "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '३ ०३ ३', "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/mr'), 'mr', "module should export mr");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Bahasa Melayu
|
||
*************************************************/
|
||
|
||
exports["lang:ms-my"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('ms-my');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var i,
|
||
tests = 'Januari Jan_Februari Feb_Mac Mac_April Apr_Mei Mei_Jun Jun_Julai Jul_Ogos Ogs_September Sep_Oktober Okt_November Nov_Disember Dis'.split("_");
|
||
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' sepatutnya bulan ' + (i + 1));
|
||
}
|
||
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'Ahad, Februari 14 2010, 3:25:50 petang'],
|
||
['ddd, hA', 'Ahd, 3petang'],
|
||
['M Mo MM MMMM MMM', '2 2 02 Februari Feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 Ahad Ahd Ah'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '7 7 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'petang petang'],
|
||
['[hari] [ke] DDDo [tahun] ini', 'hari ke 45 tahun ini'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 Februari 2010'],
|
||
['LLL', '14 Februari 2010 pukul 15.25'],
|
||
['LLLL', 'Ahad, 14 Februari 2010 pukul 15.25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 Feb 2010'],
|
||
['lll', '14 Feb 2010 pukul 15.25'],
|
||
['llll', 'Ahd, 14 Feb 2010 pukul 15.25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var i,
|
||
expected = 'Januari Jan_Februari Feb_Mac Mac_April Apr_Mei Mei_Jun Jun_Julai Jul_Ogos Ogs_September Sep_Oktober Okt_November Nov_Disember Dis'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var i,
|
||
expected = 'Ahad Ahd Ah_Isnin Isn Is_Selasa Sel Sl_Rabu Rab Rb_Khamis Kha Km_Jumaat Jum Jm_Sabtu Sab Sb'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "beberapa saat", "44 saat = beberapa saat");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "seminit", "45 saat = seminit");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "seminit", "89 saat = seminit");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minit", "90 saat = 2 minit");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minit", "44 minit = 44 minit");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "sejam", "45 minit = sejam");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "sejam", "89 minit = sejam");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 jam", "90 minit = 2 jam");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 jam", "5 jam = 5 jam");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 jam", "21 jam = 21 jam");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "sehari", "22 jam = sehari");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "sehari", "35 jam = sehari");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 hari", "36 jam = 2 hari");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "sehari", "1 hari = sehari");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 hari", "5 hari = 5 hari");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 hari", "25 hari = 25 hari");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "sebulan", "26 hari = sebulan");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "sebulan", "30 hari = sebulan");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "sebulan", "45 hari = sebulan");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 bulan", "46 hari = 2 bulan");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 bulan", "75 hari = 2 bulan");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 bulan", "76 hari = 3 bulan");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "sebulan", "1 bulan = sebulan");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 bulan", "5 bulan = 5 bulan");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 bulan", "344 hari = 11 bulan");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "setahun", "345 hari = setahun");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "setahun", "547 hari = setahun");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 tahun", "548 hari = 2 tahun");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "setahun", "1 tahun = setahun");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 tahun", "5 tahun = 5 tahun");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "dalam beberapa saat", "prefix");
|
||
test.equal(moment(0).from(30000), "beberapa saat yang lepas", "suffix");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.equal(moment().fromNow(), "beberapa saat yang lepas", "waktu sekarang dari sekarang sepatutnya menunjukkan sebagai telah lepas");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "dalam beberapa saat", "dalam beberapa saat");
|
||
test.equal(moment().add({d: 5}).fromNow(), "dalam 5 hari", "dalam 5 hari");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Hari ini pukul 02.00", "hari ini pada waktu yang sama");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Hari ini pukul 02.25", "Sekarang tambah 25 minit");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Hari ini pukul 03.00", "Sekarang tambah 1 jam");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Esok pukul 02.00", "esok pada waktu yang sama");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Hari ini pukul 01.00", "Sekarang tolak 1 jam");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Kelmarin pukul 02.00", "kelmarin pada waktu yang sama");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [pukul] LT'), "Hari ini + " + i + " hari waktu sekarang");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [pukul] LT'), "Hari ini + " + i + " hari permulaan hari");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [pukul] LT'), "Hari ini + " + i + " hari tamat hari");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [lepas] [pukul] LT'), "Hari ini - " + i + " hari waktu sekarang");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [lepas] [pukul] LT'), "Hari ini - " + i + " hari permulaan hari");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [lepas] [pukul] LT'), "Hari ini - " + i + " hari tamat hari");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 minggu lepas");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "dalam 1 minggu");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 minggu lepas");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "dalam 2 minggu");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Sunday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 sepatutnya minggu 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 2, "Jan 7 2012 sepatutnya minggu 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 sepatutnya minggu 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 3, "Jan 14 2012 sepatutnya minggu 3");
|
||
test.equal(moment([2012, 0, 15]).week(), 3, "Jan 15 2012 sepatutnya minggu 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 53, "Dec 31 2006 sepatutnya minggu 53");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 sepatutnya minggu 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 sepatutnya minggu 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 sepatutnya minggu 1");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 sepatutnya minggu 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 sepatutnya minggu 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 30]).week(), 52, "Dec 30 2007 sepatutnya minggu 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 sepatutnya minggu 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 sepatutnya minggu 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 sepatutnya minggu 1");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 sepatutnya minggu 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 sepatutnya minggu 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 52, "Dec 29 2002 sepatutnya minggu 52");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 sepatutnya minggu 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 sepatutnya minggu 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 sepatutnya minggu 1");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 sepatutnya minggu 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 sepatutnya minggu 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 28]).week(), 52, "Dec 28 2008 sepatutnya minggu 52");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 sepatutnya minggu 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 sepatutnya minggu 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 sepatutnya minggu 1");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 sepatutnya minggu 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 sepatutnya minggu 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 27]).week(), 52, "Dec 27 2009 sepatutnya minggu 52");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 sepatutnya minggu 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 1, "Jan 2 2010 sepatutnya minggu 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 sepatutnya minggu 1");
|
||
test.equal(moment([2010, 0, 9]).week(), 2, "Jan 9 2010 sepatutnya minggu 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 sepatutnya minggu 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2010, 11, 26]).week(), 52, "Dec 26 2010 sepatutnya minggu 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 sepatutnya minggu 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 sepatutnya minggu 1");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 sepatutnya minggu 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 sepatutnya minggu 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday format" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', "Jan 1 2012 sepatutnya minggu 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '2 02 2', "Jan 7 2012 sepatutnya minggu 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', "Jan 8 2012 sepatutnya minggu 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '3 03 3', "Jan 14 2012 sepatutnya minggu 3");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', "Jan 15 2012 sepatutnya minggu 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/ms-my'), 'ms-my', "module should export ms-my");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Norwegian bokmål
|
||
*************************************************/
|
||
|
||
exports["lang:nb"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('nb');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'januar jan_februar feb_mars mars_april april_mai mai_juni juni_juli juli_august aug_september sep_oktober okt_november nov_desember des'.split("_"),
|
||
i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'søndag, februar 14. 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'sø., 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 februar feb.'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. søndag sø. sø'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '6 6. 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[den] DDDo [dagen i året]', 'den 45. dagen i året'],
|
||
['L', '14.02.2010'],
|
||
['LL', '14. februar 2010'],
|
||
['LLL', '14. februar 2010 kl. 15.25'],
|
||
['LLLL', 'søndag 14. februar 2010 kl. 15.25'],
|
||
['l', '14.2.2010'],
|
||
['ll', '14. feb. 2010'],
|
||
['lll', '14. feb. 2010 kl. 15.25'],
|
||
['llll', 'sø. 14. feb. 2010 kl. 15.25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'januar jan._februar feb._mars mars_april april_mai mai_juni juni_juli juli_august aug._september sep._oktober okt._november nov._desember des.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'søndag sø. sø_mandag ma. ma_tirsdag ti. ti_onsdag on. on_torsdag to. to_fredag fr. fr_lørdag lø. lø'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "noen sekunder", "44 sekunder = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "ett minutt", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "ett minutt", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutter", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutter", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "en time", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "en time", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 timer", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 timer", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 timer", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "en dag", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "en dag", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dager", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "en dag", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dager", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dager", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "en måned", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "en måned", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "en måned", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 måneder", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 måneder", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 måneder", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "en måned", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 måneder", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 måneder", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "ett år", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "ett år", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 år", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "ett år", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 år", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "om noen sekunder", "prefix");
|
||
test.equal(moment(0).from(30000), "for noen sekunder siden", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "for noen sekunder siden", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "om noen sekunder", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "om 5 dager", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "i dag kl. 2.00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "i dag kl. 2.25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "i dag kl. 3.00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "i morgen kl. 2.00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "i dag kl. 1.00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "i går kl. 2.00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [kl.] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [kl.] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [kl.] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[forrige] dddd [kl.] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[forrige] dddd [kl.] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[forrige] dddd [kl.] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/nb'), 'nb', "module should export nb");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Nepali
|
||
*************************************************/
|
||
|
||
exports["lang:ne"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('ne');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'जनवरी जन._फेब्रुवरी फेब्रु._मार्च मार्च_अप्रिल अप्रि._मई मई_जुन जुन_जुलाई जुलाई._अगष्ट अग._सेप्टेम्बर सेप्ट._अक्टोबर अक्टो._नोभेम्बर नोभे._डिसेम्बर डिसे.'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(21);
|
||
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, aको h:mm:ss बजे', 'आइतबार, १४ फेब्रुवरी २०१०, बेलुकाको ३:२५:५० बजे'],
|
||
['ddd, aको h बजे', 'आइत., बेलुकाको ३ बजे'],
|
||
['M Mo MM MMMM MMM', '२ २ ०२ फेब्रुवरी फेब्रु.'],
|
||
['YYYY YY', '२०१० १०'],
|
||
['D Do DD', '१४ १४ १४'],
|
||
['d do dddd ddd dd', '० ० आइतबार आइत. आइ.'],
|
||
['DDD DDDo DDDD', '४५ ४५ ०४५'],
|
||
['w wo ww', '७ ७ ०७'],
|
||
['h hh', '३ ०३'],
|
||
['H HH', '१५ १५'],
|
||
['m mm', '२५ २५'],
|
||
['s ss', '५० ५०'],
|
||
['a A', 'बेलुका बेलुका'],
|
||
['L', '१४/०२/२०१०'],
|
||
['LL', '१४ फेब्रुवरी २०१०'],
|
||
['LLL', '१४ फेब्रुवरी २०१०, बेलुकाको ३:२५ बजे'],
|
||
['LLLL', 'आइतबार, १४ फेब्रुवरी २०१०, बेलुकाको ३:२५ बजे'],
|
||
['l', '१४/२/२०१०'],
|
||
['ll', '१४ फेब्रु. २०१०'],
|
||
['lll', '१४ फेब्रु. २०१०, बेलुकाको ३:२५ बजे'],
|
||
['llll', 'आइत., १४ फेब्रु. २०१०, बेलुकाको ३:२५ बजे']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '१', '१');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '२', '२');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '३', '३');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '४', '४');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '५', '५');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '६', '६');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '७', '७');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '८', '८');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '९', '९');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '१०', '१०');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '११', '११');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '१२', '१२');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '१३', '१३');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '१४', '१४');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '१५', '१५');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '१६', '१६');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '१७', '१७');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '१८', '१८');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '१९', '१९');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '२०', '२०');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '२१', '२१');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '२२', '२२');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '२३', '२३');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '२४', '२४');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '२५', '२५');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '२६', '२६');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '२७', '२७');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '२८', '२८');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '२९', '२९');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '३०', '३०');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '३१', '३१');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'जनवरी जन._फेब्रुवरी फेब्रु._मार्च मार्च_अप्रिल अप्रि._मई मई_जुन जुन_जुलाई जुलाई._अगष्ट अग._सेप्टेम्बर सेप्ट._अक्टोबर अक्टो._नोभेम्बर नोभे._डिसेम्बर डिसे.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'आइतबार आइत. आइ._सोमबार सोम. सो._मङ्गलबार मङ्गल. मङ्_बुधबार बुध. बु._बिहिबार बिहि. बि._शुक्रबार शुक्र. शु._शनिबार शनि. श.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "केही समय", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "एक मिनेट", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "एक मिनेट", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "२ मिनेट", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "४४ मिनेट", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "एक घण्टा", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "एक घण्टा", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "२ घण्टा", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "५ घण्टा", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "२१ घण्टा", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "एक दिन", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "एक दिन", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "२ दिन", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "एक दिन", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "५ दिन", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "२५ दिन", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "एक महिना", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "एक महिना", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "एक महिना", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "२ महिना", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "२ महिना", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "३ महिना", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "एक महिना", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "५ महिना", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "११ महिना", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "एक बर्ष", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "एक बर्ष", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "२ बर्ष", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "एक बर्ष", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "५ बर्ष", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "केही समयमा", "prefix");
|
||
test.equal(moment(0).from(30000), "केही समय अगाडी", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "केही समय अगाडी", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "केही समयमा", "केही समयमा");
|
||
test.equal(moment().add({d: 5}).fromNow(), "५ दिनमा", "५ दिनमा");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "आज रातीको २:०० बजे", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "आज रातीको २:२५ बजे", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "आज बिहानको ३:०० बजे", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "भोली रातीको २:०० बजे", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "आज रातीको १:०० बजे", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "हिजो रातीको २:०० बजे", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('[आउँदो] dddd[,] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[आउँदो] dddd[,] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[आउँदो] dddd[,] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[गएको] dddd[,] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[गएको] dddd[,] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[गएको] dddd[,] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"meridiem" : function (test) {
|
||
test.expect(12);
|
||
|
||
test.equal(moment([2011, 2, 23, 2, 30]).format('a'), "राती", "before dawn");
|
||
test.equal(moment([2011, 2, 23, 9, 30]).format('a'), "बिहान", "morning");
|
||
test.equal(moment([2011, 2, 23, 14, 30]).format('a'), "दिउँसो", "during day");
|
||
test.equal(moment([2011, 2, 23, 17, 30]).format('a'), "बेलुका", "evening");
|
||
test.equal(moment([2011, 2, 23, 19, 30]).format('a'), "साँझ", "late evening");
|
||
test.equal(moment([2011, 2, 23, 21, 20]).format('a'), "राती", "night");
|
||
|
||
test.equal(moment([2011, 2, 23, 2, 30]).format('A'), "राती", "before dawn");
|
||
test.equal(moment([2011, 2, 23, 9, 30]).format('A'), "बिहान", "morning");
|
||
test.equal(moment([2011, 2, 23, 14, 30]).format('A'), "दिउँसो", "during day");
|
||
test.equal(moment([2011, 2, 23, 17, 30]).format('A'), "बेलुका", "evening");
|
||
test.equal(moment([2011, 2, 23, 19, 30]).format('A'), "साँझ", "late evening");
|
||
test.equal(moment([2011, 2, 23, 21, 20]).format('A'), "राती", "night");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '१ ०१ १', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '१ ०१ १', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '२ ०२ २', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '२ ०२ २', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '३ ०३ ३', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/ne'), 'ne', "module should export ne");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Dutch
|
||
*************************************************/
|
||
|
||
exports["lang:nl"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('nl');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'januari jan._februari feb._maart mrt._april apr._mei mei._juni jun._juli jul._augustus aug._september sep._oktober okt._november nov._december dec.'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, HH:mm:ss', 'zondag, februari 14de 2010, 15:25:50'],
|
||
['ddd, HH', 'zo., 15'],
|
||
['M Mo MM MMMM MMM', '2 2de 02 februari feb.'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14de 14'],
|
||
['d do dddd ddd dd', '0 0de zondag zo. Zo'],
|
||
['DDD DDDo DDDD', '45 45ste 045'],
|
||
['w wo ww', '6 6de 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45ste day of the year'],
|
||
['L', '14-02-2010'],
|
||
['LL', '14 februari 2010'],
|
||
['LLL', '14 februari 2010 15:25'],
|
||
['LLLL', 'zondag 14 februari 2010 15:25'],
|
||
['l', '14-2-2010'],
|
||
['ll', '14 feb. 2010'],
|
||
['lll', '14 feb. 2010 15:25'],
|
||
['llll', 'zo. 14 feb. 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1ste', '1ste');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2de', '2de');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3de', '3de');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4de', '4de');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5de', '5de');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6de', '6de');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7de', '7de');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8ste', '8ste');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9de', '9de');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10de', '10de');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11de', '11de');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12de', '12de');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13de', '13de');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14de', '14de');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15de', '15de');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16de', '16de');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17de', '17de');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18de', '18de');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19de', '19de');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20ste', '20ste');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21ste', '21ste');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22ste', '22ste');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23ste', '23ste');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24ste', '24ste');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25ste', '25ste');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26ste', '26ste');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27ste', '27ste');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28ste', '28ste');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29ste', '29ste');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30ste', '30ste');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31ste', '31ste');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'januari jan._februari feb._maart mrt._april apr._mei mei_juni jun._juli jul._augustus aug._september sep._oktober okt._november nov._december dec.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'zondag zo. Zo_maandag ma. Ma_dinsdag di. Di_woensdag wo. Wo_donderdag do. Do_vrijdag vr. Vr_zaterdag za. Za'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "een paar seconden", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "één minuut", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "één minuut", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minuten", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minuten", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "één uur", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "één uur", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 uur", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 uur", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 uur", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "één dag", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "één dag", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dagen", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "één dag", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dagen", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dagen", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "één maand", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "één maand", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "één maand", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 maanden", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 maanden", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 maanden", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "één maand", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 maanden", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 maanden", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "één jaar", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "één jaar", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 jaar", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "één jaar", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 jaar", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "over een paar seconden", "prefix");
|
||
test.equal(moment(0).from(30000), "een paar seconden geleden", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "een paar seconden geleden", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "over een paar seconden", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "over 5 dagen", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "vandaag om 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "vandaag om 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "vandaag om 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "morgen om 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "vandaag om 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "gisteren om 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [om] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [om] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [om] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[afgelopen] dddd [om] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[afgelopen] dddd [om] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[afgelopen] dddd [om] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"month abbreviation" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment([2012, 5, 23]).format('D-MMM-YYYY'), '23-jun-2012', 'format month abbreviation surrounded by dashes should not include a dot');
|
||
test.equal(moment([2012, 5, 23]).format('D MMM YYYY'), '23 jun. 2012', 'format month abbreviation not surrounded by dashes should include a dot');
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52ste', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1ste', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1ste', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2de', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2de', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/nl'), 'nl', "module should export nl");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Norwegian nynorsk
|
||
*************************************************/
|
||
|
||
exports["lang:nn"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('nn');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'januar jan_februar feb_mars mar_april apr_mai mai_juni jun_juli jul_august aug_september sep_oktober okt_november nov_desember des'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'sundag, februar 14. 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'sun, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 februar feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. sundag sun su'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '6 6. 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45. day of the year'],
|
||
['L', '14.02.2010'],
|
||
['LL', '14 februar 2010'],
|
||
['LLL', '14 februar 2010 15:25'],
|
||
['LLLL', 'sundag 14 februar 2010 15:25'],
|
||
['l', '14.2.2010'],
|
||
['ll', '14 feb 2010'],
|
||
['lll', '14 feb 2010 15:25'],
|
||
['llll', 'sun 14 feb 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'januar jan_februar feb_mars mar_april apr_mai mai_juni jun_juli jul_august aug_september sep_oktober okt_november nov_desember des'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'sundag sun su_måndag mån må_tysdag tys ty_onsdag ons on_torsdag tor to_fredag fre fr_laurdag lau lø'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "nokre sekund", "44 sekunder = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "eit minutt", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "eit minutt", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutt", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutt", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "ein time", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "ein time", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 timar", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 timar", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 timar", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "ein dag", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "ein dag", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dagar", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "ein dag", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dagar", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dagar", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "ein månad", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "ein månad", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "ein månad", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 månader", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 månader", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 månader", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "ein månad", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 månader", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 månader", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "eit år", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "eit år", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 år", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "eit år", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 år", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "om nokre sekund", "prefix");
|
||
test.equal(moment(0).from(30000), "for nokre sekund sidan", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "for nokre sekund sidan", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "om nokre sekund", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "om 5 dagar", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "I dag klokka 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "I dag klokka 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "I dag klokka 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "I morgon klokka 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "I dag klokka 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "I går klokka 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [klokka] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [klokka] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [klokka] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[Føregåande] dddd [klokka] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[Føregåande] dddd [klokka] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[Føregåande] dddd [klokka] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/nn'), 'nn', "module should export nn");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Polish
|
||
*************************************************/
|
||
|
||
exports["lang:pl"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('pl');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'styczeń sty_luty lut_marzec mar_kwiecień kwi_maj maj_czerwiec cze_lipiec lip_sierpień sie_wrzesień wrz_październik paź_listopad lis_grudzień gru'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'niedziela, luty 14. 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'nie, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 luty lut'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. niedziela nie N'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '6 6. 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45. day of the year'],
|
||
['L', '14.02.2010'],
|
||
['LL', '14 lutego 2010'],
|
||
['LLL', '14 lutego 2010 15:25'],
|
||
['LLLL', 'niedziela, 14 lutego 2010 15:25'],
|
||
['l', '14.2.2010'],
|
||
['ll', '14 lut 2010'],
|
||
['lll', '14 lut 2010 15:25'],
|
||
['llll', 'nie, 14 lut 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'styczeń sty_luty lut_marzec mar_kwiecień kwi_maj maj_czerwiec cze_lipiec lip_sierpień sie_wrzesień wrz_październik paź_listopad lis_grudzień gru'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'niedziela nie N_poniedziałek pon Pn_wtorek wt Wt_środa śr Śr_czwartek czw Cz_piątek pt Pt_sobota sb So'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(34);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "kilka sekund", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "minuta", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "minuta", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minuty", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minuty", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "godzina", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "godzina", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 godziny", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 godzin", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 godzin", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "1 dzień", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "1 dzień", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dni", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "1 dzień", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dni", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dni", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "miesiąc", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "miesiąc", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "miesiąc", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 miesiące", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 miesiące", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 miesiące", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "miesiąc", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 miesięcy", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 miesięcy", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "rok", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "rok", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 lata", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "rok", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 lat", "5 years = 5 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 112}), true), "112 lat", "112 years = 112 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 122}), true), "122 lata", "122 years = 122 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 213}), true), "213 lat", "213 years = 213 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 223}), true), "223 lata", "223 years = 223 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "za kilka sekund", "prefix");
|
||
test.equal(moment(0).from(30000), "kilka sekund temu", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "kilka sekund temu", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(3);
|
||
test.equal(moment().add({s: 30}).fromNow(), "za kilka sekund", "in a few seconds");
|
||
test.equal(moment().add({h: 1}).fromNow(), "za godzinę", "in an hour");
|
||
test.equal(moment().add({d: 5}).fromNow(), "za 5 dni", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Dziś o 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Dziś o 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Dziś o 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Jutro o 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Dziś o 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Wczoraj o 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('[W] dddd [o] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[W] dddd [o] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[W] dddd [o] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
switch (d.day()) {
|
||
case 0:
|
||
return '[W zeszłą niedzielę o] LT';
|
||
case 3:
|
||
return '[W zeszłą środę o] LT';
|
||
case 6:
|
||
return '[W zeszłą sobotę o] LT';
|
||
default:
|
||
return '[W zeszły] dddd [o] LT';
|
||
}
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days current time");
|
||
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days beginning of day");
|
||
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/pl'), 'pl', "module should export pl");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Portuguese - Brazilian
|
||
*************************************************/
|
||
|
||
exports["lang:pt-br"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('pt-br');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'janeiro jan_fevereiro fev_março mar_abril abr_maio mai_junho jun_julho jul_agosto ago_setembro set_outubro out_novembro nov_dezembro dez'.split("_"), i;
|
||
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'domingo, fevereiro 14º 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'dom, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2º 02 fevereiro fev'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14º 14'],
|
||
['d do dddd ddd', '0 0º domingo dom'],
|
||
['DDD DDDo DDDD', '45 45º 045'],
|
||
['w wo ww', '8 8º 08'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45º day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 de fevereiro de 2010'],
|
||
['LLL', '14 de fevereiro de 2010 às 15:25'],
|
||
['LLLL', 'domingo, 14 de fevereiro de 2010 às 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 de fev de 2010'],
|
||
['lll', '14 de fev de 2010 às 15:25'],
|
||
['llll', 'dom, 14 de fev de 2010 às 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1º', '1º');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2º', '2º');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3º', '3º');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4º', '4º');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5º', '5º');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6º', '6º');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7º', '7º');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8º', '8º');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9º', '9º');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10º', '10º');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11º', '11º');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12º', '12º');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13º', '13º');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14º', '14º');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15º', '15º');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16º', '16º');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17º', '17º');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18º', '18º');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19º', '19º');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20º', '20º');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21º', '21º');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22º', '22º');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23º', '23º');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24º', '24º');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25º', '25º');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26º', '26º');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27º', '27º');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28º', '28º');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29º', '29º');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30º', '30º');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31º', '31º');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'janeiro jan_fevereiro fev_março mar_abril abr_maio mai_junho jun_julho jul_agosto ago_setembro set_outubro out_novembro nov_dezembro dez'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'domingo dom_segunda-feira seg_terça-feira ter_quarta-feira qua_quinta-feira qui_sexta-feira sex_sábado sáb'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "segundos", "44 seconds = seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "um minuto", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "um minuto", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutos", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutos", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "uma hora", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "uma hora", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 horas", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 horas", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 horas", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "um dia", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "um dia", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dias", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "um dia", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dias", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dias", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "um mês", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "um mês", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "um mês", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 meses", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 meses", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 meses", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "um mês", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 meses", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 meses", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "um ano", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "um ano", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 anos", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "um ano", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 anos", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "em segundos", "prefix");
|
||
test.equal(moment(0).from(30000), "segundos atrás", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "em segundos", "in seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "em 5 dias", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Hoje às 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Hoje às 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Hoje às 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Amanhã às 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Hoje às 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Ontem às 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [às] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [às] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [às] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format((m.day() === 0 || m.day() === 6) ? '[Último] dddd [às] LT' : '[Última] dddd [às] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format((m.day() === 0 || m.day() === 6) ? '[Último] dddd [às] LT' : '[Última] dddd [às] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format((m.day() === 0 || m.day() === 6) ? '[Último] dddd [às] LT' : '[Última] dddd [às] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Sunday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 2, "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 3, "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 1, "Dec 31 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 2, "Jan 7 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 3, "Jan 14 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 52, "Dec 29 2007 should be week 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 2, "Jan 6 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 3, "Jan 13 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 1, "Dec 29 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 2, "Jan 5 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 3, "Jan 12 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 28]).week(), 1, "Dec 28 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 2, "Jan 4 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 3, "Jan 11 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 27]).week(), 1, "Dec 27 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 1, "Jan 2 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 2, "Jan 3 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 2, "Jan 9 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 3, "Jan 10 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2010, 11, 26]).week(), 1, "Dec 26 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 2, "Jan 2 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 3, "Jan 9 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday format" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1º', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1º', "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2º', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2º', "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3º', "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/pt-br'), 'pt-br', "module should export pt-br");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Portuguese
|
||
*************************************************/
|
||
|
||
exports["lang:pt"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('pt');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'Janeiro Jan_Fevereiro Fev_Março Mar_Abril Abr_Maio Mai_Junho Jun_Julho Jul_Agosto Ago_Setembro Set_Outubro Out_Novembro Nov_Dezembro Dez'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'domingo, fevereiro 14º 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'dom, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2º 02 fevereiro fev'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14º 14'],
|
||
['d do dddd ddd dd', '0 0º domingo dom dom'],
|
||
['DDD DDDo DDDD', '45 45º 045'],
|
||
['w wo ww', '6 6º 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45º day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 de fevereiro de 2010'],
|
||
['LLL', '14 de fevereiro de 2010 15:25'],
|
||
['LLLL', 'domingo, 14 de fevereiro de 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 de fev de 2010'],
|
||
['lll', '14 de fev de 2010 15:25'],
|
||
['llll', 'dom, 14 de fev de 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1º', '1º');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2º', '2º');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3º', '3º');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4º', '4º');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5º', '5º');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6º', '6º');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7º', '7º');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8º', '8º');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9º', '9º');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10º', '10º');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11º', '11º');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12º', '12º');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13º', '13º');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14º', '14º');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15º', '15º');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16º', '16º');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17º', '17º');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18º', '18º');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19º', '19º');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20º', '20º');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21º', '21º');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22º', '22º');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23º', '23º');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24º', '24º');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25º', '25º');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26º', '26º');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27º', '27º');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28º', '28º');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29º', '29º');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30º', '30º');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31º', '31º');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'janeiro jan_fevereiro fev_março mar_abril abr_maio mai_junho jun_julho jul_agosto ago_setembro set_outubro out_novembro nov_dezembro dez'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'domingo dom dom_segunda-feira seg 2ª_terça-feira ter 3ª_quarta-feira qua 4ª_quinta-feira qui 5ª_sexta-feira sex 6ª_sábado sáb sáb'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "segundos", "44 seconds = seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "um minuto", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "um minuto", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minutos", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minutos", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "uma hora", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "uma hora", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 horas", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 horas", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 horas", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "um dia", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "um dia", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dias", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "um dia", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dias", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dias", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "um mês", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "um mês", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "um mês", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 meses", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 meses", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 meses", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "um mês", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 meses", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 meses", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "um ano", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "um ano", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 anos", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "um ano", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 anos", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "em segundos", "prefix");
|
||
test.equal(moment(0).from(30000), "segundos atrás", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "em segundos", "in seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "em 5 dias", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Hoje às 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Hoje às 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Hoje às 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Amanhã às 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Hoje às 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Ontem às 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [às] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [às] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [às] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format((m.day() === 0 || m.day() === 6) ? '[Último] dddd [às] LT' : '[Última] dddd [às] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format((m.day() === 0 || m.day() === 6) ? '[Último] dddd [às] LT' : '[Última] dddd [às] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format((m.day() === 0 || m.day() === 6) ? '[Último] dddd [às] LT' : '[Última] dddd [às] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52º', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1º', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1º', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2º', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2º', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/pt'), 'pt', "module should export pt");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Romanian
|
||
*************************************************/
|
||
|
||
exports["lang:ro"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('ro');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'ianuarie ian._februarie febr._martie mart._aprilie apr._mai mai_iunie iun._iulie iul._august aug._septembrie sept._octombrie oct._noiembrie nov._decembrie dec.'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss A', 'duminică, februarie 14 2010, 3:25:50 PM'],
|
||
['ddd, hA', 'Dum, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2 02 februarie febr.'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 duminică Dum Du'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '7 7 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[a] DDDo[a zi a anului]', 'a 45a zi a anului'],
|
||
['L', '14.02.2010'],
|
||
['LL', '14 februarie 2010'],
|
||
['LLL', '14 februarie 2010 15:25'],
|
||
['LLLL', 'duminică, 14 februarie 2010 15:25'],
|
||
['l', '14.2.2010'],
|
||
['ll', '14 febr. 2010'],
|
||
['lll', '14 febr. 2010 15:25'],
|
||
['llll', 'Dum, 14 febr. 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'ianuarie ian._februarie febr._martie mart._aprilie apr._mai mai_iunie iun._iulie iul._august aug._septembrie sept._octombrie oct._noiembrie nov._decembrie dec.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'duminică Dum Du_luni Lun Lu_marți Mar Ma_miercuri Mie Mi_joi Joi Jo_vineri Vin Vi_sâmbătă Sâm Sâ'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(38);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "câteva secunde", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "un minut", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "un minut", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minute", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 de minute", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "o oră", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "o oră", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 ore", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 ore", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 de ore", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "o zi", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "o zi", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 zile", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "o zi", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 zile", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 de zile", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "o lună", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "o lună", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "o lună", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 luni", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 luni", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 luni", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "o lună", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 luni", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 luni", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "un an", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "un an", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 ani", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "un an", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 ani", "5 years = 5 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 19}), true), "19 ani", "19 years = 19 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 20}), true), "20 de ani", "20 years = 20 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 100}), true), "100 de ani", "100 years = 100 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 101}), true), "101 ani", "101 years = 101 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 119}), true), "119 ani", "119 years = 119 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 120}), true), "120 de ani", "120 years = 120 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 219}), true), "219 ani", "219 years = 219 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 220}), true), "220 de ani", "220 years = 220 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "peste câteva secunde", "prefix");
|
||
test.equal(moment(0).from(30000), "câteva secunde în urmă", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "câteva secunde în urmă", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "peste câteva secunde", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "peste 5 zile", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "azi la 2:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "azi la 2:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "azi la 3:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "mâine la 2:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "azi la 1:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "ieri la 2:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [la] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [la] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [la] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[fosta] dddd [la] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[fosta] dddd [la] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[fosta] dddd [la] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/ro'), 'ro', "module should export ro");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Russian
|
||
*************************************************/
|
||
|
||
exports["lang:ru"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('ru');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'январь янв_февраль фев_март мар_апрель апр_май май_июнь июнь_июль июль_август авг_сентябрь сен_октябрь окт_ноябрь ноя_декабрь дек'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"parse exceptional case" : function (test) {
|
||
test.equal(moment('11 мая 1989', ['DD MMMM YYYY']).format('DD-MM-YYYY'), '11-05-1989');
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, HH:mm:ss', 'воскресенье, 14-го февраля 2010, 15:25:50'],
|
||
['ddd, h A', 'вс, 3 дня'],
|
||
['M Mo MM MMMM MMM', '2 2-й 02 февраль фев'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14-го 14'],
|
||
['d do dddd ddd dd', '0 0-й воскресенье вс вс'],
|
||
['DDD DDDo DDDD', '45 45-й 045'],
|
||
['w wo ww', '7 7-я 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'дня дня'],
|
||
['DDDo [день года]', '45-й день года'],
|
||
['L', '14.02.2010'],
|
||
['LL', '14 февраля 2010 г.'],
|
||
['LLL', '14 февраля 2010 г., 15:25'],
|
||
['LLLL', 'воскресенье, 14 февраля 2010 г., 15:25'],
|
||
['l', '14.2.2010'],
|
||
['ll', '14 фев 2010 г.'],
|
||
['lll', '14 фев 2010 г., 15:25'],
|
||
['llll', 'вс, 14 фев 2010 г., 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format meridiem" : function (test) {
|
||
test.expect(8);
|
||
|
||
test.equal(moment([2012, 11, 28, 0, 0]).format("A"), "ночи", "night");
|
||
test.equal(moment([2012, 11, 28, 3, 59]).format("A"), "ночи", "night");
|
||
test.equal(moment([2012, 11, 28, 4, 0]).format("A"), "утра", "morning");
|
||
test.equal(moment([2012, 11, 28, 11, 59]).format("A"), "утра", "morning");
|
||
test.equal(moment([2012, 11, 28, 12, 0]).format("A"), "дня", "afternoon");
|
||
test.equal(moment([2012, 11, 28, 16, 59]).format("A"), "дня", "afternoon");
|
||
test.equal(moment([2012, 11, 28, 17, 0]).format("A"), "вечера", "evening");
|
||
test.equal(moment([2012, 11, 28, 23, 59]).format("A"), "вечера", "evening");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1-й', '1-й');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2-й', '2-й');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3-й', '3-й');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4-й', '4-й');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5-й', '5-й');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6-й', '6-й');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7-й', '7-й');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8-й', '8-й');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9-й', '9-й');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10-й', '10-й');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11-й', '11-й');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12-й', '12-й');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13-й', '13-й');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14-й', '14-й');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15-й', '15-й');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16-й', '16-й');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17-й', '17-й');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18-й', '18-й');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19-й', '19-й');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20-й', '20-й');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21-й', '21-й');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22-й', '22-й');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23-й', '23-й');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24-й', '24-й');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25-й', '25-й');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26-й', '26-й');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27-й', '27-й');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28-й', '28-й');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29-й', '29-й');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30-й', '30-й');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31-й', '31-й');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'январь янв_февраль фев_март мар_апрель апр_май май_июнь июнь_июль июль_август авг_сентябрь сен_октябрь окт_ноябрь ноя_декабрь дек'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format month case" : function (test) {
|
||
test.expect(24);
|
||
|
||
var months = {
|
||
'nominative': 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),
|
||
'accusative': 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_')
|
||
}, i;
|
||
for (i = 0; i < 12; i++) {
|
||
test.equal(moment([2011, i, 1]).format('D MMMM'), '1 ' + months.accusative[i], '1 ' + months.accusative[i]);
|
||
test.equal(moment([2011, i, 1]).format('MMMM'), months.nominative[i], '1 ' + months.nominative[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format month short case" : function (test) {
|
||
test.expect(24);
|
||
|
||
var monthsShort = {
|
||
'nominative': 'янв_фев_мар_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),
|
||
'accusative': 'янв_фев_мар_апр_мая_июня_июля_авг_сен_окт_ноя_дек'.split('_')
|
||
}, i;
|
||
for (i = 0; i < 12; i++) {
|
||
test.equal(moment([2011, i, 1]).format('D MMM'), '1 ' + monthsShort.accusative[i], '1 ' + monthsShort.accusative[i]);
|
||
test.equal(moment([2011, i, 1]).format('MMM'), monthsShort.nominative[i], '1 ' + monthsShort.nominative[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format month case with escaped symbols" : function (test) {
|
||
test.expect(48);
|
||
|
||
var months = {
|
||
'nominative': 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),
|
||
'accusative': 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_')
|
||
}, i;
|
||
for (i = 0; i < 12; i++) {
|
||
test.equal(moment([2013, i, 1]).format('D[] MMMM'), '1 ' + months.accusative[i], '1 ' + months.accusative[i]);
|
||
test.equal(moment([2013, i, 1]).format('[<i>]D[</i>] [<b>]MMMM[</b>]'), '<i>1</i> <b>' + months.accusative[i] + '</b>', '1 <b>' + months.accusative[i] + '</b>');
|
||
test.equal(moment([2013, i, 1]).format('D[-й день] MMMM'), '1-й день ' + months.accusative[i], '1-й день ' + months.accusative[i]);
|
||
test.equal(moment([2013, i, 1]).format('D, MMMM'), '1, ' + months.nominative[i], '1, ' + months.nominative[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format month short case with escaped symbols" : function (test) {
|
||
test.expect(48);
|
||
|
||
var monthsShort = {
|
||
'nominative': 'янв_фев_мар_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),
|
||
'accusative': 'янв_фев_мар_апр_мая_июня_июля_авг_сен_окт_ноя_дек'.split('_')
|
||
}, i;
|
||
for (i = 0; i < 12; i++) {
|
||
test.equal(moment([2013, i, 1]).format('D[] MMM'), '1 ' + monthsShort.accusative[i], '1 ' + monthsShort.accusative[i]);
|
||
test.equal(moment([2013, i, 1]).format('[<i>]D[</i>] [<b>]MMM[</b>]'), '<i>1</i> <b>' + monthsShort.accusative[i] + '</b>', '1 <b>' + monthsShort.accusative[i] + '</b>');
|
||
test.equal(moment([2013, i, 1]).format('D[-й день] MMM'), '1-й день ' + monthsShort.accusative[i], '1-й день ' + monthsShort.accusative[i]);
|
||
test.equal(moment([2013, i, 1]).format('D, MMM'), '1, ' + monthsShort.nominative[i], '1, ' + monthsShort.nominative[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'воскресенье вс вс_понедельник пн пн_вторник вт вт_среда ср ср_четверг чт чт_пятница пт пт_суббота сб сб'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(33);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "несколько секунд", "44 seconds = seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "минута", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "минута", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 минуты", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 31}), true), "31 минута", "31 minutes = 31 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 минуты", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "час", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "час", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 часа", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 часов", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 час", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "день", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "день", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 дня", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "день", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 дней", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 11}), true), "11 дней", "11 days = 11 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 21}), true), "21 день", "21 days = 21 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 дней", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "месяц", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "месяц", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "месяц", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 месяца", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 месяца", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 месяца", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "месяц", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 месяцев", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 месяцев", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "год", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "год", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 года", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "год", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 лет", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "через несколько секунд", "prefix");
|
||
test.equal(moment(0).from(30000), "несколько секунд назад", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(4);
|
||
test.equal(moment().add({s: 30}).fromNow(), "через несколько секунд", "in seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "через 5 дней", "in 5 days");
|
||
test.equal(moment().add({m: 31}).fromNow(), "через 31 минуту", "in 31 minutes = in 31 minutes");
|
||
test.equal(moment().subtract({m: 31}).fromNow(), "31 минуту назад", "31 minutes ago = 31 minutes ago");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Сегодня в 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Сегодня в 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Сегодня в 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Завтра в 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Сегодня в 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Вчера в 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
function makeFormat(d) {
|
||
return d.day() === 2 ? '[Во] dddd [в] LT' : '[В] dddd [в] LT';
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
switch (d.day()) {
|
||
case 0:
|
||
return '[В прошлое] dddd [в] LT';
|
||
case 1:
|
||
case 2:
|
||
case 4:
|
||
return '[В прошлый] dddd [в] LT';
|
||
case 3:
|
||
case 5:
|
||
case 6:
|
||
return '[В прошлую] dddd [в] LT';
|
||
}
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-я', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-я', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2-я', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2-я', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-я', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/ru'), 'ru', "module should export ru");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Slovak
|
||
*************************************************/
|
||
|
||
exports["lang:sk"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('sk');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'január jan._február feb._marec mar._apríl apr._máj máj_jún jún._júl júl._august aug._september sep._október okt._november nov._december dec.'.split("_"), i;
|
||
function equalTest(input, mmm, monthIndex) {
|
||
test.equal(moment(input, mmm).month(), monthIndex, input + ' should be month ' + (monthIndex + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss', 'nedeľa, február 14. 2010, 3:25:50'],
|
||
['ddd, h', 'ne, 3'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 február feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. nedeľa ne ne'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '6 6. 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['DDDo [deň v roku]', '45. deň v roku'],
|
||
['L', '14.02.2010'],
|
||
['LL', '14. február 2010'],
|
||
['LLL', '14. február 2010 15:25'],
|
||
['LLLL', 'nedeľa 14. február 2010 15:25'],
|
||
['l', '14.2.2010'],
|
||
['ll', '14. feb 2010'],
|
||
['lll', '14. feb 2010 15:25'],
|
||
['llll', 'ne 14. feb 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'január jan_február feb_marec mar_apríl apr_máj máj_jún jún_júl júl_august aug_september sep_október okt_november nov_december dec'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'nedeľa ne ne_pondelok po po_utorok ut ut_streda st st_štvrtok št št_piatok pi pi_sobota so so'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "pár sekúnd", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "minúta", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "minúta", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minúty", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minút", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "hodina", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "hodina", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 hodiny", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 hodín", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 hodín", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "deň", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "deň", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dni", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "deň", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dní", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dní", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "mesiac", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "mesiac", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "mesiac", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 mesiace", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 mesiace", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 mesiace", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "mesiac", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 mesiacov", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 mesiacov", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "rok", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "rok", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 roky", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "rok", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 rokov", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "za pár sekúnd", "prefix");
|
||
test.equal(moment(0).from(30000), "pred pár sekundami", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "pred pár sekundami", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow (future)" : function (test) {
|
||
test.expect(16);
|
||
test.equal(moment().add({s: 30}).fromNow(), "za pár sekúnd", "in a few seconds");
|
||
test.equal(moment().add({m: 1}).fromNow(), "za minútu", "in a minute");
|
||
test.equal(moment().add({m: 3}).fromNow(), "za 3 minúty", "in 3 minutes");
|
||
test.equal(moment().add({m: 10}).fromNow(), "za 10 minút", "in 10 minutes");
|
||
test.equal(moment().add({h: 1}).fromNow(), "za hodinu", "in an hour");
|
||
test.equal(moment().add({h: 3}).fromNow(), "za 3 hodiny", "in 3 hours");
|
||
test.equal(moment().add({h: 10}).fromNow(), "za 10 hodín", "in 10 hours");
|
||
test.equal(moment().add({d: 1}).fromNow(), "za deň", "in a day");
|
||
test.equal(moment().add({d: 3}).fromNow(), "za 3 dni", "in 3 days");
|
||
test.equal(moment().add({d: 10}).fromNow(), "za 10 dní", "in 10 days");
|
||
test.equal(moment().add({M: 1}).fromNow(), "za mesiac", "in a month");
|
||
test.equal(moment().add({M: 3}).fromNow(), "za 3 mesiace", "in 3 months");
|
||
test.equal(moment().add({M: 10}).fromNow(), "za 10 mesiacov", "in 10 months");
|
||
test.equal(moment().add({y: 1}).fromNow(), "za rok", "in a year");
|
||
test.equal(moment().add({y: 3}).fromNow(), "za 3 roky", "in 3 years");
|
||
test.equal(moment().add({y: 10}).fromNow(), "za 10 rokov", "in 10 years");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow (past)" : function (test) {
|
||
test.expect(16);
|
||
test.equal(moment().subtract({s: 30}).fromNow(), "pred pár sekundami", "a few seconds ago");
|
||
test.equal(moment().subtract({m: 1}).fromNow(), "pred minútou", "a minute ago");
|
||
test.equal(moment().subtract({m: 3}).fromNow(), "pred 3 minútami", "3 minutes ago");
|
||
test.equal(moment().subtract({m: 10}).fromNow(), "pred 10 minútami", "10 minutes ago");
|
||
test.equal(moment().subtract({h: 1}).fromNow(), "pred hodinou", "an hour ago");
|
||
test.equal(moment().subtract({h: 3}).fromNow(), "pred 3 hodinami", "3 hours ago");
|
||
test.equal(moment().subtract({h: 10}).fromNow(), "pred 10 hodinami", "10 hours ago");
|
||
test.equal(moment().subtract({d: 1}).fromNow(), "pred dňom", "a day ago");
|
||
test.equal(moment().subtract({d: 3}).fromNow(), "pred 3 dňami", "3 days ago");
|
||
test.equal(moment().subtract({d: 10}).fromNow(), "pred 10 dňami", "10 days ago");
|
||
test.equal(moment().subtract({M: 1}).fromNow(), "pred mesiacom", "a month ago");
|
||
test.equal(moment().subtract({M: 3}).fromNow(), "pred 3 mesiacmi", "3 months ago");
|
||
test.equal(moment().subtract({M: 10}).fromNow(), "pred 10 mesiacmi", "10 months ago");
|
||
test.equal(moment().subtract({y: 1}).fromNow(), "pred rokom", "a year ago");
|
||
test.equal(moment().subtract({y: 3}).fromNow(), "pred 3 rokmi", "3 years ago");
|
||
test.equal(moment().subtract({y: 10}).fromNow(), "pred 10 rokmi", "10 years ago");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "dnes o 2:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "dnes o 2:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "dnes o 3:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "zajtra o 2:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "dnes o 1:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "včera o 2:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m, nextDay;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
nextDay = '';
|
||
switch (m.day()) {
|
||
case 0:
|
||
nextDay = 'v nedeľu';
|
||
break;
|
||
case 1:
|
||
nextDay = 'v pondelok';
|
||
break;
|
||
case 2:
|
||
nextDay = 'v utorok';
|
||
break;
|
||
case 3:
|
||
nextDay = 'v stredu';
|
||
break;
|
||
case 4:
|
||
nextDay = 'vo štvrtok';
|
||
break;
|
||
case 5:
|
||
nextDay = 'v piatok';
|
||
break;
|
||
case 6:
|
||
nextDay = 'v sobotu';
|
||
break;
|
||
}
|
||
test.equal(m.calendar(), m.format('[' + nextDay + '] [o] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[' + nextDay + '] [o] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[' + nextDay + '] [o] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m, lastDay;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
lastDay = '';
|
||
switch (m.day()) {
|
||
case 0:
|
||
lastDay = 'minulú nedeľu';
|
||
break;
|
||
case 1:
|
||
lastDay = 'minulý pondelok';
|
||
break;
|
||
case 2:
|
||
lastDay = 'minulý utorok';
|
||
break;
|
||
case 3:
|
||
lastDay = 'minulú stredu';
|
||
break;
|
||
case 4:
|
||
lastDay = 'minulý štvrtok';
|
||
break;
|
||
case 5:
|
||
lastDay = 'minulý piatok';
|
||
break;
|
||
case 6:
|
||
lastDay = 'minulú sobotu';
|
||
break;
|
||
}
|
||
test.equal(m.calendar(), m.format('[' + lastDay + '] [o] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[' + lastDay + '] [o] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[' + lastDay + '] [o] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
"humanize duration" : function (test) {
|
||
test.expect(4);
|
||
test.equal(moment.duration(1, "minutes").humanize(), "minúta", "a minute (future)");
|
||
test.equal(moment.duration(1, "minutes").humanize(true), "za minútu", "in a minute");
|
||
test.equal(moment.duration(-1, "minutes").humanize(), "minúta", "a minute (past)");
|
||
test.equal(moment.duration(-1, "minutes").humanize(true), "pred minútou", "a minute ago");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/sk'), 'sk', "module should export sk");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Slovenian
|
||
*************************************************/
|
||
|
||
exports["lang:sl"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('sl');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'januar jan._februar feb._marec mar._april apr._maj maj_junij jun._julij jul._avgust avg._september sep._oktober okt._november nov._december dec.'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, h:mm:ss a', 'nedelja, 14. februar 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'ned., 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 februar feb.'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. nedelja ned. ne'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '7 7. 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45. day of the year'],
|
||
['L', '14. 02. 2010'],
|
||
['LL', '14. februar 2010'],
|
||
['LLL', '14. februar 2010 15:25'],
|
||
['LLLL', 'nedelja, 14. februar 2010 15:25'],
|
||
['l', '14. 2. 2010'],
|
||
['ll', '14. feb. 2010'],
|
||
['lll', '14. feb. 2010 15:25'],
|
||
['llll', 'ned., 14. feb. 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'januar jan._februar feb._marec mar._april apr._maj maj._junij jun._julij jul._avgust avg._september sep._oktober okt._november nov._december dec.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'nedelja ned. ne_ponedeljek pon. po_torek tor. to_sreda sre. sr_četrtek čet. če_petek pet. pe_sobota sob. so'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "nekaj sekund", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "ena minuta", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "ena minuta", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minuti", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minut", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "ena ura", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "ena ura", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 uri", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 ur", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 ur", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "en dan", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "en dan", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dni", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "en dan", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dni", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dni", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "en mesec", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "en mesec", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "en mesec", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 meseca", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 meseca", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 mesece", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "en mesec", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 mesecev", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 mesecev", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "eno leto", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "eno leto", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 leti", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "eno leto", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 let", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "čez nekaj sekund", "prefix");
|
||
test.equal(moment(0).from(30000), "nekaj sekund nazaj", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "nekaj sekund nazaj", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "čez nekaj sekund", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "čez 5 dni", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "danes ob 2:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "danes ob 2:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "danes ob 3:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "jutri ob 2:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "danes ob 1:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "včeraj ob 2:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
switch (d.day()) {
|
||
case 0:
|
||
return '[v] [nedeljo] [ob] LT';
|
||
case 3:
|
||
return '[v] [sredo] [ob] LT';
|
||
case 6:
|
||
return '[v] [soboto] [ob] LT';
|
||
case 1:
|
||
case 2:
|
||
case 4:
|
||
case 5:
|
||
return '[v] dddd [ob] LT';
|
||
}
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
switch (d.day()) {
|
||
case 0:
|
||
case 3:
|
||
case 6:
|
||
return '[prejšnja] dddd [ob] LT';
|
||
case 1:
|
||
case 2:
|
||
case 4:
|
||
case 5:
|
||
return '[prejšnji] dddd [ob] LT';
|
||
}
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2.', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2.', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/sl'), 'sl', "module should export sl");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Albanian
|
||
*************************************************/
|
||
|
||
exports["lang:sq"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('sq');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var i,
|
||
tests = 'Janar Jan_Shkurt Shk_Mars Mar_Prill Pri_Maj Maj_Qershor Qer_Korrik Kor_Gusht Gus_Shtator Sht_Tetor Tet_Nëntor Nën_Dhjetor Dhj'.split("_");
|
||
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, HH:mm:ss', 'E Diel, Shkurt 14. 2010, 15:25:50'],
|
||
['ddd, HH', 'Die, 15'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 Shkurt Shk'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. E Diel Die D'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '6 6. 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'MD MD'],
|
||
['[the] DDDo [day of the year]', 'the 45. day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 Shkurt 2010'],
|
||
['LLL', '14 Shkurt 2010 15:25'],
|
||
['LLLL', 'E Diel, 14 Shkurt 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 Shk 2010'],
|
||
['lll', '14 Shk 2010 15:25'],
|
||
['llll', 'Die, 14 Shk 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"meridiem" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment([2011, 2, 23, 0, 0]).format('A'), "PD", "before dawn");
|
||
test.equal(moment([2011, 2, 23, 12, 0]).format('A'), "MD", "noon");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var i,
|
||
expected = 'Janar Jan_Shkurt Shk_Mars Mar_Prill Pri_Maj Maj_Qershor Qer_Korrik Kor_Gusht Gus_Shtator Sht_Tetor Tet_Nëntor Nën_Dhjetor Dhj'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var i,
|
||
expected = 'E Diel Die D_E Hënë Hën H_E Martë Mar Ma_E Mërkurë Mër Më_E Enjte Enj E_E Premte Pre P_E Shtunë Sht Sh'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "disa sekonda", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "një minutë", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "një minutë", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minuta", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minuta", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "një orë", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "një orë", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 orë", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 orë", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 orë", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "një ditë", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "një ditë", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 ditë", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "një ditë", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 ditë", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 ditë", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "një muaj", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "një muaj", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "një muaj", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 muaj", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 muaj", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 muaj", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "një muaj", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 muaj", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 muaj", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "një vit", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "një vit", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 vite", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "një vit", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 vite", "5 years = 5 years");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "në disa sekonda", "prefix");
|
||
test.equal(moment(0).from(30000), "disa sekonda më parë", "suffix");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.equal(moment().fromNow(), "disa sekonda më parë", "now from now should display as in the past");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "në disa sekonda", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "në 5 ditë", "in 5 days");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Sot në 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Sot në 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Sot në 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Nesër në 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Sot në 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Dje në 02:00", "yesterday at the same time");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [në] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [në] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [në] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [e kaluar në] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [e kaluar në] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [e kaluar në] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52.', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1.', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1.', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2.', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2.', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/sq'), 'sq', "module should export sq");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Serbian-cyrillic (sr-cyr)
|
||
*************************************************/
|
||
|
||
exports["lang:sr-cyr"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('sr-cyr');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'јануар јан._фебруар феб._март мар._април апр._мај мај_јун јун_јул јул_август авг._септембар сеп._октобар окт._новембар нов._децембар дец.'.split("_"),
|
||
i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, h:mm:ss a', 'недеља, 14. фебруар 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'нед., 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 фебруар феб.'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. недеља нед. не'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '7 7. 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45. day of the year'],
|
||
['L', '14. 02. 2010'],
|
||
['LL', '14. фебруар 2010'],
|
||
['LLL', '14. фебруар 2010 15:25'],
|
||
['LLLL', 'недеља, 14. фебруар 2010 15:25'],
|
||
['l', '14. 2. 2010'],
|
||
['ll', '14. феб. 2010'],
|
||
['lll', '14. феб. 2010 15:25'],
|
||
['llll', 'нед., 14. феб. 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'јануар јан._фебруар феб._март мар._април апр._мај мај_јун јун_јул јул_август авг._септембар сеп._октобар окт._новембар нов._децембар дец.'.split("_"),
|
||
i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'недеља нед. не_понедељак пон. по_уторак уто. ут_среда сре. ср_четвртак чет. че_петак пет. пе_субота суб. су'.split("_"),
|
||
i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "неколико секунди", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "један минут", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "један минут", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 минуте", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 минута", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "један сат", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "један сат", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 сата", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 сати", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 сати", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "дан", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "дан", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 дана", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "дан", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 дана", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 дана", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "месец", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "месец", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "месец", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 месеца", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 месеца", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 месеца", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "месец", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 месеци", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 месеци", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "годину", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "годину", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 године", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "годину", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 година", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "за неколико секунди", "prefix");
|
||
test.equal(moment(0).from(30000), "пре неколико секунди", "prefix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "пре неколико секунди", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "за неколико секунди", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "за 5 дана", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "данас у 2:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "данас у 2:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "данас у 3:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "сутра у 2:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "данас у 1:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "јуче у 2:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
switch (d.day()) {
|
||
case 0:
|
||
return '[у] [недељу] [у] LT';
|
||
case 3:
|
||
return '[у] [среду] [у] LT';
|
||
case 6:
|
||
return '[у] [суботу] [у] LT';
|
||
case 1:
|
||
case 2:
|
||
case 4:
|
||
case 5:
|
||
return '[у] dddd [у] LT';
|
||
}
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
var lastWeekDay = [
|
||
'[прошле] [недеље] [у] LT',
|
||
'[прошлог] [понедељка] [у] LT',
|
||
'[прошлог] [уторка] [у] LT',
|
||
'[прошле] [среде] [у] LT',
|
||
'[прошлог] [четвртка] [у] LT',
|
||
'[прошлог] [петка] [у] LT',
|
||
'[прошле] [суботе] [у] LT'
|
||
];
|
||
|
||
return lastWeekDay[d.day()];
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2.', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2.', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/sr-cyr'), 'sr-cyr', "module should export sr-cyr");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Serbian-latin (sr)
|
||
*************************************************/
|
||
|
||
exports["lang:sr"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('sr');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'januar jan._februar feb._mart mar._april apr._maj maj_jun jun_jul jul_avgust avg._septembar sep._oktobar okt._novembar nov._decembar dec.'.split("_"),
|
||
i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, h:mm:ss a', 'nedelja, 14. februar 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'ned., 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2. 02 februar feb.'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14. 14'],
|
||
['d do dddd ddd dd', '0 0. nedelja ned. ne'],
|
||
['DDD DDDo DDDD', '45 45. 045'],
|
||
['w wo ww', '7 7. 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45. day of the year'],
|
||
['L', '14. 02. 2010'],
|
||
['LL', '14. februar 2010'],
|
||
['LLL', '14. februar 2010 15:25'],
|
||
['LLLL', 'nedelja, 14. februar 2010 15:25'],
|
||
['l', '14. 2. 2010'],
|
||
['ll', '14. feb. 2010'],
|
||
['lll', '14. feb. 2010 15:25'],
|
||
['llll', 'ned., 14. feb. 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1.', '1.');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2.', '2.');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3.', '3.');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4.', '4.');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5.', '5.');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6.', '6.');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7.', '7.');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8.', '8.');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9.', '9.');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10.', '10.');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11.', '11.');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12.', '12.');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13.', '13.');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14.', '14.');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15.', '15.');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16.', '16.');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17.', '17.');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18.', '18.');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19.', '19.');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20.', '20.');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21.', '21.');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22.', '22.');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23.', '23.');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24.', '24.');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25.', '25.');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26.', '26.');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27.', '27.');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28.', '28.');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29.', '29.');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30.', '30.');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31.', '31.');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'januar jan._februar feb._mart mar._april apr._maj maj_jun jun_jul jul_avgust avg._septembar sep._oktobar okt._novembar nov._decembar dec.'.split("_"),
|
||
i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'nedelja ned. ne_ponedeljak pon. po_utorak uto. ut_sreda sre. sr_četvrtak čet. če_petak pet. pe_subota sub. su'.split("_"),
|
||
i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "nekoliko sekundi", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "jedan minut", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "jedan minut", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minute", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minuta", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "jedan sat", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "jedan sat", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 sata", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 sati", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 sati", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "dan", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "dan", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dana", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "dan", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dana", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dana", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "mesec", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "mesec", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "mesec", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 meseca", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 meseca", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 meseca", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "mesec", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 meseci", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 meseci", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "godinu", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "godinu", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 godine", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "godinu", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 godina", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "za nekoliko sekundi", "prefix");
|
||
test.equal(moment(0).from(30000), "pre nekoliko sekundi", "prefix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "pre nekoliko sekundi", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "za nekoliko sekundi", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "za 5 dana", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "danas u 2:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "danas u 2:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "danas u 3:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "sutra u 2:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "danas u 1:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "juče u 2:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
switch (d.day()) {
|
||
case 0:
|
||
return '[u] [nedelju] [u] LT';
|
||
case 3:
|
||
return '[u] [sredu] [u] LT';
|
||
case 6:
|
||
return '[u] [subotu] [u] LT';
|
||
case 1:
|
||
case 2:
|
||
case 4:
|
||
case 5:
|
||
return '[u] dddd [u] LT';
|
||
}
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
var lastWeekDay = [
|
||
'[prošle] [nedelje] [u] LT',
|
||
'[prošlog] [ponedeljka] [u] LT',
|
||
'[prošlog] [utorka] [u] LT',
|
||
'[prošle] [srede] [u] LT',
|
||
'[prošlog] [četvrtka] [u] LT',
|
||
'[prošlog] [petka] [u] LT',
|
||
'[prošle] [subote] [u] LT'
|
||
];
|
||
|
||
return lastWeekDay[d.day()];
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1.', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1.', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2.', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2.', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3.', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/sr'), 'sr', "module should export sr");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
/**************************************************
|
||
Swedish
|
||
*************************************************/
|
||
|
||
exports["lang:sv"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('sv');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'januari jan_februari feb_mars mar_april apr_maj maj_juni jun_juli jul_augusti aug_september sep_oktober okt_november nov_december dec'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'söndag, februari 14e 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'sön, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2a 02 februari feb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14e 14'],
|
||
['d do dddd ddd dd', '0 0e söndag sön sö'],
|
||
['DDD DDDo DDDD', '45 45e 045'],
|
||
['w wo ww', '6 6e 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45e day of the year'],
|
||
['L', '2010-02-14'],
|
||
['LL', '14 februari 2010'],
|
||
['LLL', '14 februari 2010 15:25'],
|
||
['LLLL', 'söndag 14 februari 2010 15:25'],
|
||
['l', '2010-2-14'],
|
||
['ll', '14 feb 2010'],
|
||
['lll', '14 feb 2010 15:25'],
|
||
['llll', 'sön 14 feb 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1a', '1a');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2a', '2a');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3e', '3e');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4e', '4e');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5e', '5e');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6e', '6e');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7e', '7e');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8e', '8e');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9e', '9e');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10e', '10e');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11e', '11e');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12e', '12e');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13e', '13e');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14e', '14e');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15e', '15e');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16e', '16e');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17e', '17e');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18e', '18e');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19e', '19e');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20e', '20e');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21a', '21a');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22a', '22a');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23e', '23e');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24e', '24e');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25e', '25e');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26e', '26e');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27e', '27e');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28e', '28e');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29e', '29e');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30e', '30e');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31a', '31a');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'januari jan_februari feb_mars mar_april apr_maj maj_juni jun_juli jul_augusti aug_september sep_oktober okt_november nov_december dec'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'söndag sön sö_måndag mån må_tisdag tis ti_onsdag ons on_torsdag tor to_fredag fre fr_lördag lör lö'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "några sekunder", "44 sekunder = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "en minut", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "en minut", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minuter", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minuter", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "en timme", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "en timme", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 timmar", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 timmar", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 timmar", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "en dag", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "en dag", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 dagar", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "en dag", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 dagar", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 dagar", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "en månad", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "en månad", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "en månad", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 månader", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 månader", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 månader", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "en månad", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 månader", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 månader", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "ett år", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "ett år", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 år", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "ett år", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 år", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "om några sekunder", "prefix");
|
||
test.equal(moment(0).from(30000), "för några sekunder sedan", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "för några sekunder sedan", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "om några sekunder", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "om 5 dagar", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Idag 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Idag 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Idag 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Imorgon 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Idag 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Igår 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[Förra] dddd[en] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[Förra] dddd[en] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[Förra] dddd[en] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52a', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1a', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1a', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2a', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2a', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/sv'), 'sv', "module should export sv");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Tamil - தமிழ்
|
||
*************************************************/
|
||
|
||
exports["lang:ta"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('ta');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('ta');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'ஜனவரி ஜனவரி_பிப்ரவரி பிப்ரவரி_மார்ச் மார்ச்_ஏப்ரல் ஏப்ரல்_மே மே_ஜூன் ஜூன்_ஜூலை ஜூலை_ஆகஸ்ட் ஆகஸ்ட்_செப்டெம்பர் செப்டெம்பர்_அக்டோபர் அக்டோபர்_நவம்பர் நவம்பர்_டிசம்பர் டிசம்பர்'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'ஞாயிற்றுக்கிழமை, பிப்ரவரி 14வது 2010, 3:25:50 எற்பாடு'],
|
||
['ddd, hA', 'ஞாயிறு, 3 எற்பாடு'],
|
||
['M Mo MM MMMM MMM', '2 2வது 02 பிப்ரவரி பிப்ரவரி'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14வது 14'],
|
||
['d do dddd ddd dd', '0 0வது ஞாயிற்றுக்கிழமை ஞாயிறு ஞா'],
|
||
['DDD DDDo DDDD', '45 45வது 045'],
|
||
['w wo ww', '8 8வது 08'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', ' எற்பாடு எற்பாடு'],
|
||
['[ஆண்டின்] DDDo [நாள்]', 'ஆண்டின் 45வது நாள்'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 பிப்ரவரி 2010'],
|
||
['LLL', '14 பிப்ரவரி 2010, 15:25'],
|
||
['LLLL', 'ஞாயிற்றுக்கிழமை, 14 பிப்ரவரி 2010, 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 பிப்ரவரி 2010'],
|
||
['lll', '14 பிப்ரவரி 2010, 15:25'],
|
||
['llll', 'ஞாயிறு, 14 பிப்ரவரி 2010, 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1வது', '1வது');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2வது', '2வது');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3வது', '3வது');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4வது', '4வது');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5வது', '5வது');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6வது', '6வது');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7வது', '7வது');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8வது', '8வது');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9வது', '9வது');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10வது', '10வது');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11வது', '11வது');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12வது', '12வது');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13வது', '13வது');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14வது', '14வது');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15வது', '15வது');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16வது', '16வது');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17வது', '17வது');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18வது', '18வது');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19வது', '19வது');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20வது', '20வது');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21வது', '21வது');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22வது', '22வது');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23வது', '23வது');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24வது', '24வது');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25வது', '25வது');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26வது', '26வது');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27வது', '27வது');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28வது', '28வது');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29வது', '29வது');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30வது', '30வது');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31வது', '31வது');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'ஜனவரி ஜனவரி_பிப்ரவரி பிப்ரவரி_மார்ச் மார்ச்_ஏப்ரல் ஏப்ரல்_மே மே_ஜூன் ஜூன்_ஜூலை ஜூலை_ஆகஸ்ட் ஆகஸ்ட்_செப்டெம்பர் செப்டெம்பர்_அக்டோபர் அக்டோபர்_நவம்பர் நவம்பர்_டிசம்பர் டிசம்பர்'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'ஞாயிற்றுக்கிழமை ஞாயிறு ஞா_திங்கட்கிழமை திங்கள் தி_செவ்வாய்கிழமை செவ்வாய் செ_புதன்கிழமை புதன் பு_வியாழக்கிழமை வியாழன் வி_வெள்ளிக்கிழமை வெள்ளி வெ_சனிக்கிழமை சனி ச'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "ஒரு சில விநாடிகள்", "44 விநாடிகள் = ஒரு சில விநாடிகள்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "ஒரு நிமிடம்", "45 விநாடிகள் = ஒரு நிமிடம்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "ஒரு நிமிடம்", "89 விநாடிகள் = ஒரு நிமிடம்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 நிமிடங்கள்", "90 விநாடிகள் = 2 நிமிடங்கள்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 நிமிடங்கள்", "44 நிமிடங்கள் = 44 நிமிடங்கள்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "ஒரு மணி நேரம்", "45 நிமிடங்கள் = ஒரு மணி நேரம்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "ஒரு மணி நேரம்", "89 நிமிடங்கள் = ஒரு மணி நேரம்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 மணி நேரம்", "90 நிமிடங்கள் = 2 மணி நேரம்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 மணி நேரம்", "5 மணி நேரம் = 5 மணி நேரம்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 மணி நேரம்", "21 மணி நேரம் = 21 மணி நேரம்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "ஒரு நாள்", "22 மணி நேரம் = ஒரு நாள்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "ஒரு நாள்", "35 மணி நேரம் = ஒரு நாள்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 நாட்கள்", "36 மணி நேரம் = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "ஒரு நாள்", "1 நாள் = ஒரு நாள்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 நாட்கள்", "5 நாட்கள் = 5 நாட்கள்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 நாட்கள்", "25 நாட்கள் = 25 நாட்கள்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "ஒரு மாதம்", "26 நாட்கள் = ஒரு மாதம்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "ஒரு மாதம்", "30 நாட்கள் = ஒரு மாதம்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "ஒரு மாதம்", "45 நாட்கள் = ஒரு மாதம்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 மாதங்கள்", "46 நாட்கள் = 2 மாதங்கள்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 மாதங்கள்", "75 நாட்கள் = 2 மாதங்கள்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 மாதங்கள்", "76 நாட்கள் = 3 மாதங்கள்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "ஒரு மாதம்", "1 மாதம் = ஒரு மாதம்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 மாதங்கள்", "5 மாதங்கள் = 5 மாதங்கள்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 மாதங்கள்", "344 நாட்கள் = 11 மாதங்கள்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "ஒரு வருடம்", "345 நாட்கள் = ஒரு வருடம்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "ஒரு வருடம்", "547 நாட்கள் = ஒரு வருடம்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 ஆண்டுகள்", "548 நாட்கள் = 2 ஆண்டுகள்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "ஒரு வருடம்", "1 வருடம் = ஒரு வருடம்");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 ஆண்டுகள்", "5 ஆண்டுகள் = 5 ஆண்டுகள்");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "ஒரு சில விநாடிகள் இல்", "prefix");
|
||
test.equal(moment(0).from(30000), "ஒரு சில விநாடிகள் முன்", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "ஒரு சில விநாடிகள் முன்", "இப்போது இருந்து கடந்த காலத்தில் காட்ட வேண்டும்");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "ஒரு சில விநாடிகள் இல்", "ஒரு சில விநாடிகள் இல்");
|
||
test.equal(moment().add({d: 5}).fromNow(), "5 நாட்கள் இல்", "5 நாட்கள் இல்");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "இன்று 02:00", "இன்று 02:00");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "இன்று 02:25", "இன்று 02:25");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "இன்று 03:00", "இன்று 03:00");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "நாளை 02:00", "நாளை 02:00");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "இன்று 01:00", "இன்று 01:00");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "நேற்று 02:00", "நேற்று 02:00");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd, LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd, LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd, LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[கடந்த வாரம்] dddd, LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[கடந்த வாரம்] dddd, LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[கடந்த வாரம்] dddd, LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1th is the first week of the year.
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 2, "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 3, "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 1, "Dec 31 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 2, "Jan 7 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 3, "Jan 14 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 52, "Dec 29 2007 should be week 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 2, "Jan 6 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 3, "Jan 13 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 1, "Dec 29 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 2, "Jan 5 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 3, "Jan 12 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 28]).week(), 1, "Dec 28 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 2, "Jan 4 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 3, "Jan 11 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 27]).week(), 1, "Dec 27 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 1, "Jan 2 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 2, "Jan 3 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 2, "Jan 9 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 3, "Jan 10 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2010, 11, 26]).week(), 1, "Dec 26 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 2, "Jan 2 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 3, "Jan 9 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"meridiem" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2011, 2, 23, 2, 30]).format('a'), " வைகறை", "before dawn");
|
||
test.equal(moment([2011, 2, 23, 9, 30]).format('a'), " காலை", "morning");
|
||
test.equal(moment([2011, 2, 23, 14, 30]).format('a'), " நண்பகல்", "during day");
|
||
test.equal(moment([2011, 2, 23, 17, 30]).format('a'), " எற்பாடு", "evening");
|
||
test.equal(moment([2011, 2, 23, 19, 30]).format('a'), " மாலை", "late evening");
|
||
test.equal(moment([2011, 2, 23, 21, 20]).format('a'), " இரவு", "night");
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/ta'), 'ta', "module should export ta");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Thai
|
||
*************************************************/
|
||
|
||
exports["lang:th"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('th');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'มกราคม มกรา_กุมภาพันธ์ กุมภา_มีนาคม มีนา_เมษายน เมษา_พฤษภาคม พฤษภา_มิถุนายน มิถุนา_กรกฎาคม กรกฎา_สิงหาคม สิงหา_กันยายน กันยา_ตุลาคม ตุลา_พฤศจิกายน พฤศจิกา_ธันวาคม ธันวา'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, h:mm:ss a', 'อาทิตย์, 14 กุมภาพันธ์ 2010, 3:25:50 หลังเที่ยง'],
|
||
['ddd, h A', 'อาทิตย์, 3 หลังเที่ยง'],
|
||
['M Mo MM MMMM MMM', '2 2 02 กุมภาพันธ์ กุมภา'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 อาทิตย์ อาทิตย์ อา.'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '8 8 08'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'หลังเที่ยง หลังเที่ยง'],
|
||
['[the] DDDo [day of the year]', 'the 45 day of the year'],
|
||
['L', '2010/02/14'],
|
||
['LL', '14 กุมภาพันธ์ 2010'],
|
||
['LLL', '14 กุมภาพันธ์ 2010 เวลา 15 นาฬิกา 25 นาที'],
|
||
['LLLL', 'วันอาทิตย์ที่ 14 กุมภาพันธ์ 2010 เวลา 15 นาฬิกา 25 นาที'],
|
||
['l', '2010/2/14'],
|
||
['ll', '14 กุมภา 2010'],
|
||
['lll', '14 กุมภา 2010 เวลา 15 นาฬิกา 25 นาที'],
|
||
['llll', 'วันอาทิตย์ที่ 14 กุมภา 2010 เวลา 15 นาฬิกา 25 นาที']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'มกราคม มกรา_กุมภาพันธ์ กุมภา_มีนาคม มีนา_เมษายน เมษา_พฤษภาคม พฤษภา_มิถุนายน มิถุนา_กรกฎาคม กรกฎา_สิงหาคม สิงหา_กันยายน กันยา_ตุลาคม ตุลา_พฤศจิกายน พฤศจิกา_ธันวาคม ธันวา'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'อาทิตย์ อาทิตย์ อา._จันทร์ จันทร์ จ._อังคาร อังคาร อ._พุธ พุธ พ._พฤหัสบดี พฤหัส พฤ._ศุกร์ ศุกร์ ศ._เสาร์ เสาร์ ส.'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "ไม่กี่วินาที", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "1 นาที", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "1 นาที", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 นาที", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 นาที", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "1 ชั่วโมง", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "1 ชั่วโมง", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 ชั่วโมง", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 ชั่วโมง", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 ชั่วโมง", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "1 วัน", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "1 วัน", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 วัน", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "1 วัน", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 วัน", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 วัน", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "1 เดือน", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "1 เดือน", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "1 เดือน", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 เดือน", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 เดือน", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 เดือน", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "1 เดือน", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 เดือน", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 เดือน", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "1 ปี", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "1 ปี", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 ปี", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "1 ปี", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 ปี", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "อีก ไม่กี่วินาที", "prefix");
|
||
test.equal(moment(0).from(30000), "ไม่กี่วินาทีที่แล้ว", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "ไม่กี่วินาทีที่แล้ว", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "อีก ไม่กี่วินาที", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "อีก 5 วัน", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "วันนี้ เวลา 2 นาฬิกา 0 นาที", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "วันนี้ เวลา 2 นาฬิกา 25 นาที", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "วันนี้ เวลา 3 นาฬิกา 0 นาที", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "พรุ่งนี้ เวลา 2 นาฬิกา 0 นาที", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "วันนี้ เวลา 1 นาฬิกา 0 นาที", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "เมื่อวานนี้ เวลา 2 นาฬิกา 0 นาที", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd[หน้า เวลา] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd[หน้า เวลา] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd[หน้า เวลา] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[วัน]dddd[ที่แล้ว เวลา] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[วัน]dddd[ที่แล้ว เวลา] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[วัน]dddd[ที่แล้ว เวลา] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Sunday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 2, "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 3, "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 1, "Dec 31 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 2, "Jan 7 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 3, "Jan 14 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 52, "Dec 29 2007 should be week 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 2, "Jan 6 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 3, "Jan 13 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 1, "Dec 29 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 2, "Jan 5 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 3, "Jan 12 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 28]).week(), 1, "Dec 28 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 2, "Jan 4 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 3, "Jan 11 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 27]).week(), 1, "Dec 27 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 1, "Jan 2 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 2, "Jan 3 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 2, "Jan 9 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 3, "Jan 10 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2010, 11, 26]).week(), 1, "Dec 26 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 2, "Jan 2 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 3, "Jan 9 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday format" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1', "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2', "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/th'), 'th', "module should export th");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Tagalog/Filipino
|
||
*************************************************/
|
||
|
||
exports["lang:tl-ph"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('tl-ph');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'Enero Ene_Pebrero Peb_Marso Mar_Abril Abr_Mayo May_Hunyo Hun_Hulyo Hul_Agosto Ago_Setyembre Set_Oktubre Okt_Nobyembre Nob_Disyembre Dis'.split("_"),
|
||
i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'Linggo, Pebrero 14 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'Lin, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2 02 Pebrero Peb'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 Linggo Lin Li'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '6 6 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45 day of the year'],
|
||
['L', '02/14/2010'],
|
||
['LL', 'Pebrero 14, 2010'],
|
||
['LLL', 'Pebrero 14, 2010 15:25'],
|
||
['LLLL', 'Linggo, Pebrero 14, 2010 15:25'],
|
||
['l', '2/14/2010'],
|
||
['ll', 'Peb 14, 2010'],
|
||
['lll', 'Peb 14, 2010 15:25'],
|
||
['llll', 'Lin, Peb 14, 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'Enero Ene_Pebrero Peb_Marso Mar_Abril Abr_Mayo May_Hunyo Hun_Hulyo Hul_Agosto Ago_Setyembre Set_Oktubre Okt_Nobyembre Nob_Disyembre Dis'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'Linggo Lin Li_Lunes Lun Lu_Martes Mar Ma_Miyerkules Miy Mi_Huwebes Huw Hu_Biyernes Biy Bi_Sabado Sab Sab'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "ilang segundo", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "isang minuto", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "isang minuto", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minuto", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minuto", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "isang oras", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "isang oras", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 oras", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 oras", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 oras", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "isang araw", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "isang araw", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 araw", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "isang araw", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 araw", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 araw", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "isang buwan", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "isang buwan", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "isang buwan", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 buwan", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 buwan", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 buwan", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "isang buwan", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 buwan", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 buwan", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "isang taon", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "isang taon", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 taon", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "isang taon", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 taon", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "sa loob ng ilang segundo", "prefix");
|
||
test.equal(moment(0).from(30000), "ilang segundo ang nakalipas", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "sa loob ng ilang segundo", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "sa loob ng 5 araw", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"same day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Ngayon sa 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Ngayon sa 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Ngayon sa 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Bukas sa 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Ngayon sa 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Kahapon sa 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"same next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [sa] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [sa] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [sa] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"same last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [huling linggo] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [huling linggo] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [huling linggo] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"same all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/tl-ph'), 'tl-ph', "module should export tl-ph");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Turkish
|
||
*************************************************/
|
||
|
||
exports["lang:tr"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('tr');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'Ocak Oca_Şubat Şub_Mart Mar_Nisan Nis_Mayıs May_Haziran Haz_Temmuz Tem_Ağustos Ağu_Eylül Eyl_Ekim Eki_Kasım Kas_Aralık Ara'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'Pazar, Şubat 14\'üncü 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'Paz, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2\'nci 02 Şubat Şub'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14\'üncü 14'],
|
||
['d do dddd ddd dd', '0 0\'ıncı Pazar Paz Pz'],
|
||
['DDD DDDo DDDD', '45 45\'inci 045'],
|
||
['w wo ww', "7 7'nci 07"],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[yılın] DDDo [günü]', 'yılın 45\'inci günü'],
|
||
['L', '14.02.2010'],
|
||
['LL', '14 Şubat 2010'],
|
||
['LLL', '14 Şubat 2010 15:25'],
|
||
['LLLL', 'Pazar, 14 Şubat 2010 15:25'],
|
||
['l', '14.2.2010'],
|
||
['ll', '14 Şub 2010'],
|
||
['lll', '14 Şub 2010 15:25'],
|
||
['llll', 'Paz, 14 Şub 2010 15:25']
|
||
],
|
||
DDDo = [
|
||
[359, '360\'ıncı'],
|
||
[199, '200\'üncü'],
|
||
[149, '150\'nci']
|
||
],
|
||
dt = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
DDDoDt,
|
||
i;
|
||
test.expect(a.length + DDDo.length);
|
||
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(dt.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
for (i = 0; i < DDDo.length; i++) {
|
||
DDDoDt = moment([2010]);
|
||
test.equal(DDDoDt.add('days', DDDo[i][0]).format('DDDo'), DDDo[i][1], DDDo[i][0] + ' ---> ' + DDDo[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1\'inci', '1st');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2\'nci', '2nd');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3\'üncü', '3rd');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4\'üncü', '4th');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5\'inci', '5th');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6\'ncı', '6th');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7\'nci', '7th');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8\'inci', '8th');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9\'uncu', '9th');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10\'uncu', '10th');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11\'inci', '11th');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12\'nci', '12th');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13\'üncü', '13th');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14\'üncü', '14th');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15\'inci', '15th');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16\'ncı', '16th');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17\'nci', '17th');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18\'inci', '18th');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19\'uncu', '19th');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20\'nci', '20th');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21\'inci', '21th');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22\'nci', '22th');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23\'üncü', '23th');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24\'üncü', '24th');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25\'inci', '25th');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26\'ncı', '26th');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27\'nci', '27th');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28\'inci', '28th');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29\'uncu', '29th');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30\'uncu', '30th');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31\'inci', '31st');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'Ocak Oca_Şubat Şub_Mart Mar_Nisan Nis_Mayıs May_Haziran Haz_Temmuz Tem_Ağustos Ağu_Eylül Eyl_Ekim Eki_Kasım Kas_Aralık Ara'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'Pazar Paz Pz_Pazartesi Pts Pt_Salı Sal Sa_Çarşamba Çar Ça_Perşembe Per Pe_Cuma Cum Cu_Cumartesi Cts Ct'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "birkaç saniye", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "bir dakika", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "bir dakika", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 dakika", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 dakika", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "bir saat", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "bir saat", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 saat", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 saat", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 saat", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "bir gün", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "bir gün", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 gün", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "bir gün", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 gün", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 gün", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "bir ay", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "bir ay", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "bir ay", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 ay", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 ay", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 ay", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "bir ay", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 ay", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 ay", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "bir yıl", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "bir yıl", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 yıl", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "bir yıl", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 yıl", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "birkaç saniye sonra", "prefix");
|
||
test.equal(moment(0).from(30000), "birkaç saniye önce", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "birkaç saniye önce", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "birkaç saniye sonra", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "5 gün sonra", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "bugün saat 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "bugün saat 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "bugün saat 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "yarın saat 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "bugün saat 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "dün 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('[haftaya] dddd [saat] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[haftaya] dddd [saat] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[haftaya] dddd [saat] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[geçen hafta] dddd [saat] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[geçen hafta] dddd [saat] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[geçen hafta] dddd [saat] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), "1 01 1'inci", "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), "1 01 1'inci", "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), "2 02 2'nci", "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), "2 02 2'nci", "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), "3 03 3'üncü", "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/tr'), 'tr', "module should export tr");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
// moment.js Morocco Central Atlas Tamaziɣt in Latin (tzm-la) tests
|
||
// author : Abdel Said : https://github.com/abdelsaid
|
||
var moment = require("../../moment");
|
||
|
||
|
||
exports["lang:tzm-la"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('tzm-la');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'innayr innayr_brˤayrˤ brˤayrˤ_marˤsˤ marˤsˤ_ibrir ibrir_mayyw mayyw_ywnyw ywnyw_ywlywz ywlywz_ɣwšt ɣwšt_šwtanbir šwtanbir_ktˤwbrˤ ktˤwbrˤ_nwwanbir nwwanbir_dwjnbir dwjnbir'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'asamas, brˤayrˤ 14 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'asamas, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2 02 brˤayrˤ brˤayrˤ'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 asamas asamas asamas'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '8 8 08'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45 day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 brˤayrˤ 2010'],
|
||
['LLL', '14 brˤayrˤ 2010 15:25'],
|
||
['LLLL', 'asamas 14 brˤayrˤ 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 brˤayrˤ 2010'],
|
||
['lll', '14 brˤayrˤ 2010 15:25'],
|
||
['llll', 'asamas 14 brˤayrˤ 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = 'innayr innayr_brˤayrˤ brˤayrˤ_marˤsˤ marˤsˤ_ibrir ibrir_mayyw mayyw_ywnyw ywnyw_ywlywz ywlywz_ɣwšt ɣwšt_šwtanbir šwtanbir_ktˤwbrˤ ktˤwbrˤ_nwwanbir nwwanbir_dwjnbir dwjnbir'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = 'asamas asamas asamas_aynas aynas aynas_asinas asinas asinas_akras akras akras_akwas akwas akwas_asimwas asimwas asimwas_asiḍyas asiḍyas asiḍyas'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "imik", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "minuḍ", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "minuḍ", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 minuḍ", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 minuḍ", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "saɛa", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "saɛa", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 tassaɛin", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 tassaɛin", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 tassaɛin", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "ass", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "ass", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 ossan", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "ass", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 ossan", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 ossan", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "ayowr", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "ayowr", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "ayowr", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 iyyirn", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 iyyirn", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 iyyirn", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "ayowr", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 iyyirn", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 iyyirn", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "asgas", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "asgas", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 isgasn", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "asgas", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 isgasn", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "dadkh s yan imik", "prefix");
|
||
test.equal(moment(0).from(30000), "yan imik", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.equal(moment().fromNow(), "yan imik", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "dadkh s yan imik", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "dadkh s yan 5 ossan", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "asdkh g 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "asdkh g 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "asdkh g 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "aska g 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "asdkh g 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "assant g 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [g] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [g] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [g] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [g] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [g] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [g] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
|
||
// Saturday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 31]).week(), 1, "Dec 31 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 6]).week(), 1, "Jan 6 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 2, "Jan 7 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 13]).week(), 2, "Jan 13 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 3, "Jan 14 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2006, 11, 30]).week(), 1, "Dec 30 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 5]).week(), 1, "Jan 5 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 2, "Jan 6 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 12]).week(), 2, "Jan 12 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 3, "Jan 13 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 1, "Dec 29 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 4]).week(), 1, "Jan 4 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 2, "Jan 5 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 11]).week(), 2, "Jan 11 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 3, "Jan 12 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 28]).week(), 1, "Dec 28 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 3]).week(), 1, "Jan 3 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 2, "Jan 4 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 10]).week(), 2, "Jan 10 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 3, "Jan 11 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 27]).week(), 1, "Dec 27 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 2]).week(), 1, "Jan 2 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 2, "Jan 3 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 9]).week(), 2, "Jan 9 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 3, "Jan 10 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2009, 11, 26]).week(), 1, "Dec 26 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 2, "Jan 2 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 8]).week(), 2, "Jan 8 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 3, "Jan 9 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 7]).week(), 1, "Jan 7 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 14]).week(), 2, "Jan 14 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 15]).week(), 3, "Jan 15 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 31]).format('w ww wo'), '1 01 1', "Dec 31 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 6]).format('w ww wo'), '1 01 1', "Jan 6 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '2 02 2', "Jan 7 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 13]).format('w ww wo'), '2 02 2', "Jan 13 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '3 03 3', "Jan 14 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/tzm-la'), 'tzm-la', "module should export tzm-la");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
// moment.js Morocco Central Atlas Tamaziɣt (tzm) tests
|
||
// author : Abdel Said : https://github.com/abdelsaid
|
||
var moment = require("../../moment");
|
||
|
||
|
||
exports["lang:tzm"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('tzm');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'ⵉⵏⵏⴰⵢⵔ ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ ⴷⵓⵊⵏⴱⵉⵔ'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'ⴰⵙⴰⵎⴰⵙ, ⴱⵕⴰⵢⵕ 14 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'ⴰⵙⴰⵎⴰⵙ, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2 02 ⴱⵕⴰⵢⵕ ⴱⵕⴰⵢⵕ'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 ⴰⵙⴰⵎⴰⵙ ⴰⵙⴰⵎⴰⵙ ⴰⵙⴰⵎⴰⵙ'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '8 8 08'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[the] DDDo [day of the year]', 'the 45 day of the year'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 ⴱⵕⴰⵢⵕ 2010'],
|
||
['LLL', '14 ⴱⵕⴰⵢⵕ 2010 15:25'],
|
||
['LLLL', 'ⴰⵙⴰⵎⴰⵙ 14 ⴱⵕⴰⵢⵕ 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 ⴱⵕⴰⵢⵕ 2010'],
|
||
['lll', '14 ⴱⵕⴰⵢⵕ 2010 15:25'],
|
||
['llll', 'ⴰⵙⴰⵎⴰⵙ 14 ⴱⵕⴰⵢⵕ 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'ⵉⵏⵏⴰⵢⵔ ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ ⴷⵓⵊⵏⴱⵉⵔ'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'ⴰⵙⴰⵎⴰⵙ ⴰⵙⴰⵎⴰⵙ ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ ⴰⵢⵏⴰⵙ ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ ⴰⵙⵉⵏⴰⵙ ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ ⴰⴽⵔⴰⵙ ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ ⴰⴽⵡⴰⵙ ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ ⴰⵙⵉⵎⵡⴰⵙ ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ ⴰⵙⵉⴹⵢⴰⵙ ⴰⵙⵉⴹⵢⴰⵙ'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "ⵉⵎⵉⴽ", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "ⵎⵉⵏⵓⴺ", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "ⵎⵉⵏⵓⴺ", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 ⵎⵉⵏⵓⴺ", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 ⵎⵉⵏⵓⴺ", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "ⵙⴰⵄⴰ", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "ⵙⴰⵄⴰ", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 ⵜⴰⵙⵙⴰⵄⵉⵏ", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 ⵜⴰⵙⵙⴰⵄⵉⵏ", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 ⵜⴰⵙⵙⴰⵄⵉⵏ", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "ⴰⵙⵙ", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "ⴰⵙⵙ", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 oⵙⵙⴰⵏ", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "ⴰⵙⵙ", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 oⵙⵙⴰⵏ", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 oⵙⵙⴰⵏ", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "ⴰⵢoⵓⵔ", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "ⴰⵢoⵓⵔ", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "ⴰⵢoⵓⵔ", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 ⵉⵢⵢⵉⵔⵏ", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 ⵉⵢⵢⵉⵔⵏ", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 ⵉⵢⵢⵉⵔⵏ", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "ⴰⵢoⵓⵔ", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 ⵉⵢⵢⵉⵔⵏ", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 ⵉⵢⵢⵉⵔⵏ", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "ⴰⵙⴳⴰⵙ", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "ⴰⵙⴳⴰⵙ", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 ⵉⵙⴳⴰⵙⵏ", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "ⴰⵙⴳⴰⵙ", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 ⵉⵙⴳⴰⵙⵏ", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ ⵉⵎⵉⴽ", "prefix");
|
||
test.equal(moment(0).from(30000), "ⵢⴰⵏ ⵉⵎⵉⴽ", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "ⵢⴰⵏ ⵉⵎⵉⴽ", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ ⵉⵎⵉⴽ", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ 5 oⵙⵙⴰⵏ", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "ⴰⵙⴷⵅ ⴴ 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "ⴰⵙⴷⵅ ⴴ 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "ⴰⵙⴷⵅ ⴴ 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "ⴰⵙⴽⴰ ⴴ 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "ⴰⵙⴷⵅ ⴴ 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "ⴰⵚⴰⵏⵜ ⴴ 02:00", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [ⴴ] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [ⴴ] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [ⴴ] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [ⴴ] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [ⴴ] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [ⴴ] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
|
||
// Saturday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 31]).week(), 1, "Dec 31 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 6]).week(), 1, "Jan 6 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 2, "Jan 7 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 13]).week(), 2, "Jan 13 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 3, "Jan 14 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2006, 11, 30]).week(), 1, "Dec 30 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 5]).week(), 1, "Jan 5 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 2, "Jan 6 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 12]).week(), 2, "Jan 12 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 3, "Jan 13 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 1, "Dec 29 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 4]).week(), 1, "Jan 4 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 2, "Jan 5 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 11]).week(), 2, "Jan 11 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 3, "Jan 12 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 28]).week(), 1, "Dec 28 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 3]).week(), 1, "Jan 3 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 2, "Jan 4 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 10]).week(), 2, "Jan 10 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 3, "Jan 11 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 27]).week(), 1, "Dec 27 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 2]).week(), 1, "Jan 2 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 2, "Jan 3 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 9]).week(), 2, "Jan 9 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 3, "Jan 10 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2009, 11, 26]).week(), 1, "Dec 26 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 2, "Jan 2 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 8]).week(), 2, "Jan 8 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 3, "Jan 9 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 7]).week(), 1, "Jan 7 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 14]).week(), 2, "Jan 14 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 15]).week(), 3, "Jan 15 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 31]).format('w ww wo'), '1 01 1', "Dec 31 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 6]).format('w ww wo'), '1 01 1', "Jan 6 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '2 02 2', "Jan 7 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 13]).format('w ww wo'), '2 02 2', "Jan 13 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '3 03 3', "Jan 14 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/tzm'), 'tzm', "module should export tzm");
|
||
}
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Ukrainian
|
||
*************************************************/
|
||
|
||
exports["lang:uk"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('uk');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
var tests = 'січень січ_лютий лют_березень бер_квітень квіт_травень трав_червень черв_липень лип_серпень серп_вересень вер_жовтень жовт_листопад лист_грудень груд'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(18);
|
||
var a = [
|
||
['dddd, Do MMMM YYYY, HH:mm:ss', 'неділя, 14-го лютого 2010, 15:25:50'],
|
||
['ddd, h A', 'нд, 3 дня'],
|
||
['M Mo MM MMMM MMM', '2 2-й 02 лютий лют'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14-го 14'],
|
||
['d do dddd ddd dd', '0 0-й неділя нд нд'],
|
||
['DDD DDDo DDDD', '45 45-й 045'],
|
||
['w wo ww', '7 7-й 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'дня дня'],
|
||
['DDDo [день року]', '45-й день року'],
|
||
['L', '14.02.2010'],
|
||
['LL', '14 лютого 2010 р.'],
|
||
['LLL', '14 лютого 2010 р., 15:25'],
|
||
['LLLL', 'неділя, 14 лютого 2010 р., 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format meridiem" : function (test) {
|
||
test.expect(8);
|
||
|
||
test.equal(moment([2012, 11, 28, 0, 0]).format("A"), "ночі", "night");
|
||
test.equal(moment([2012, 11, 28, 3, 59]).format("A"), "ночі", "night");
|
||
test.equal(moment([2012, 11, 28, 4, 0]).format("A"), "ранку", "morning");
|
||
test.equal(moment([2012, 11, 28, 11, 59]).format("A"), "ранку", "morning");
|
||
test.equal(moment([2012, 11, 28, 12, 0]).format("A"), "дня", "afternoon");
|
||
test.equal(moment([2012, 11, 28, 16, 59]).format("A"), "дня", "afternoon");
|
||
test.equal(moment([2012, 11, 28, 17, 0]).format("A"), "вечора", "evening");
|
||
test.equal(moment([2012, 11, 28, 23, 59]).format("A"), "вечора", "evening");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1-й', '1-й');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2-й', '2-й');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3-й', '3-й');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4-й', '4-й');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5-й', '5-й');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6-й', '6-й');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7-й', '7-й');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8-й', '8-й');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9-й', '9-й');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10-й', '10-й');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11-й', '11-й');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12-й', '12-й');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13-й', '13-й');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14-й', '14-й');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15-й', '15-й');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16-й', '16-й');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17-й', '17-й');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18-й', '18-й');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19-й', '19-й');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20-й', '20-й');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21-й', '21-й');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22-й', '22-й');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23-й', '23-й');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24-й', '24-й');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25-й', '25-й');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26-й', '26-й');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27-й', '27-й');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28-й', '28-й');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29-й', '29-й');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30-й', '30-й');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31-й', '31-й');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'січень січ_лютий лют_березень бер_квітень квіт_травень трав_червень черв_липень лип_серпень серп_вересень вер_жовтень жовт_листопад лист_грудень груд'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format month case" : function (test) {
|
||
test.expect(24);
|
||
var months = {
|
||
'nominative': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_'),
|
||
'accusative': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_')
|
||
}, i;
|
||
for (i = 0; i < 12; i++) {
|
||
test.equal(moment([2011, i, 1]).format('D MMMM'), '1 ' + months.accusative[i], '1 ' + months.accusative[i]);
|
||
test.equal(moment([2011, i, 1]).format('MMMM'), months.nominative[i], '1 ' + months.nominative[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'неділя нд нд_понеділок пн пн_вівторок вт вт_середа ср ср_четвер чт чт_п’ятниця пт пт_субота сб сб'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(32);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "декілька секунд", "44 seconds = seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "хвилина", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "хвилина", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 хвилини", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 хвилини", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "годину", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "годину", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 години", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 годин", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 година", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "день", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "день", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 дні", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "день", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 днів", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 11}), true), "11 днів", "11 days = 11 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 21}), true), "21 день", "21 days = 21 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 днів", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "місяць", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "місяць", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "місяць", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 місяці", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 місяці", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 місяці", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "місяць", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 місяців", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 місяців", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "рік", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "рік", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 роки", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "рік", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 років", "5 years = 5 years");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "за декілька секунд", "prefix");
|
||
test.equal(moment(0).from(30000), "декілька секунд тому", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "за декілька секунд", "in seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "за 5 днів", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(7);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Сьогодні о 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Сьогодні о 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Сьогодні о 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Завтра о 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Сьогодні о 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Вчора о 02:00", "yesterday at the same time");
|
||
// A special case for Ukrainian since 11 hours have different preposition
|
||
test.equal(moment(a).add({ h: 9 }).calendar(), "Сьогодні об 11:00", "same day at 11 o'clock");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('[У] dddd [о' + (m.hours() === 11 ? 'б' : '') + '] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[У] dddd [о] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[У] dddd [о] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
function makeFormat(d) {
|
||
switch (d.day()) {
|
||
case 0:
|
||
case 3:
|
||
case 5:
|
||
case 6:
|
||
return '[Минулої] dddd [о' + (d.hours() === 11 ? 'б' : '') + '] LT';
|
||
case 1:
|
||
case 2:
|
||
case 4:
|
||
return '[Минулого] dddd [о' + (d.hours() === 11 ? 'б' : '') + '] LT';
|
||
}
|
||
}
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format(makeFormat(m)), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).week(), 1, "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 12]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2011, 11, 26]).format('w ww wo'), '1 01 1-й', "Dec 26 2011 should be week 1");
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1-й', "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2-й', "Jan 2 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2-й', "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3-й', "Jan 9 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/uk'), 'uk', "module should export uk");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Uzbek
|
||
*************************************************/
|
||
|
||
exports["lang:uz"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('uz');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = 'январь янв_февраль фев_март мар_апрель апр_май май_июнь июнь_июль июль_август авг_сентябрь сен_октябрь окт_ноябрь ноя_декабрь дек'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
var a = [
|
||
['dddd, Do-MMMM YYYY, h:mm:ss', 'Якшанба, 14-февраль 2010, 3:25:50'],
|
||
['ddd, h:mm', 'Якш, 3:25'],
|
||
['M Mo MM MMMM MMM', '2 2 02 февраль фев'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 Якшанба Якш Як'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '7 7 07'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[йилнинг] DDDo-[куни]', 'йилнинг 45-куни'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 февраль 2010'],
|
||
['LLL', '14 февраль 2010 15:25'],
|
||
['LLLL', '14 февраль 2010, Якшанба 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 фев 2010'],
|
||
['lll', '14 фев 2010 15:25'],
|
||
['llll', '14 фев 2010, Якш 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
var expected = 'январь янв_февраль фев_март мар_апрель апр_май май_июнь июн_июль июл_август авг_сентябрь сен_октябрь окт_ноябрь ноя_декабрь дек'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
var expected = 'Якшанба Якш Як_Душанба Душ Ду_Сешанба Сеш Се_Чоршанба Чор Чо_Пайшанба Пай Па_Жума Жум Жу_Шанба Шан Ша'.split("_"), i;
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "фурсат", "44 секунд = фурсат");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "бир дакика", "45 секунд = бир дакика");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "бир дакика", "89 секунд = бир дакика");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 дакика", "90 секунд = 2 дакика");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 дакика", "44 дакика = 44 дакика");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "бир соат", "45 минут = бир соат");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "бир соат", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 соат", "90 минут = 2 соат");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 соат", "5 соат = 5 соат");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 соат", "21 соат = 21 соат");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "бир кун", "22 соат = бир кун");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "бир кун", "35 соат = бир кун");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 кун", "36 соат = 2 кун");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "бир кун", "1 кун = 1 кун");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 кун", "5 кун = 5 кун");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 кун", "25 кун = 25 кун");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "бир ой", "26 кун = бир ой");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "бир ой", "30 кун = бир ой");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "бир ой", "45 кун = бир ой");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 ой", "46 кун = 2 ой");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 ой", "75 кун = 2 ой");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 ой", "76 кун = 3 ой");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "бир ой", "бир ой = бир ой");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 ой", "5 ой = 5 ой");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 ой", "344 кун = 11 ой");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "бир йил", "345 кун = бир йил");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "бир йил", "547 кун = бир йил");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 йил", "548 кун = 2 йил");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "бир йил", "1 йил = бир йил");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 йил", "5 йил = 5 йил");
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment(30000).from(0), "Якин фурсат ичида", "prefix");
|
||
test.equal(moment(0).from(30000), "Бир неча фурсат олдин", "suffix");
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
test.equal(moment().fromNow(), "Бир неча фурсат олдин", "now from now should display as in the past");
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
test.equal(moment().add({s: 30}).fromNow(), "Якин фурсат ичида", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "Якин 5 кун ичида", "in 5 days");
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Бугун соат 02:00 да", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Бугун соат 02:25 да", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Бугун соат 03:00 да", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Эртага 02:00 да", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Бугун соат 01:00 да", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Кеча соат 02:00 да", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [куни соат] LT [да]'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [куни соат] LT [да]'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [куни соат] LT [да]'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[Утган] dddd [куни соат] LT [да]'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[Утган] dddd [куни соат] LT [да]'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[Утган] dddd [куни соат] LT [да]'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 2, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 3, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 3, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 1, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 1, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 2, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 2, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 3, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 1, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 1, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 2, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 2, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 3, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '2 02 2', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '3 03 3', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/uz'), 'uz', "module should export uz");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Vietnamese
|
||
*************************************************/
|
||
|
||
exports["lang:vi"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('vi');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var i,
|
||
tests = 'tháng 1,Th01_tháng 2,Th02_tháng 3,Th03_tháng 4,Th04_tháng 5,Th05_tháng 6,Th06_tháng 7,Th07_tháng 8,Th08_tháng 9,Th09_tháng 10,Th10_tháng 11,Th11_tháng 12,Th12'.split("_");
|
||
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + i);
|
||
}
|
||
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(',');
|
||
equalTest(tests[i][0], '[tháng] M', i);
|
||
equalTest(tests[i][1], '[Th]M', i);
|
||
equalTest(tests[i][0], '[tháng] MM', i);
|
||
equalTest(tests[i][1], '[Th]MM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), '[THÁNG] M', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), '[TH]M', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), '[THÁNG] MM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), '[TH]MM', i);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, h:mm:ss a', 'chủ nhật, tháng 2 14 2010, 3:25:50 pm'],
|
||
['ddd, hA', 'CN, 3PM'],
|
||
['M Mo MM MMMM MMM', '2 2 02 tháng 2 Th02'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14 14'],
|
||
['d do dddd ddd dd', '0 0 chủ nhật CN CN'],
|
||
['DDD DDDo DDDD', '45 45 045'],
|
||
['w wo ww', '6 6 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', 'pm PM'],
|
||
['[ngày thứ] DDDo [của năm]', 'ngày thứ 45 của năm'],
|
||
['L', '14/02/2010'],
|
||
['LL', '14 tháng 2 năm 2010'],
|
||
['LLL', '14 tháng 2 năm 2010 15:25'],
|
||
['LLLL', 'chủ nhật, 14 tháng 2 năm 2010 15:25'],
|
||
['l', '14/2/2010'],
|
||
['ll', '14 Th02 2010'],
|
||
['lll', '14 Th02 2010 15:25'],
|
||
['llll', 'CN, 14 Th02 2010 15:25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format ordinal" : function (test) {
|
||
test.expect(31);
|
||
|
||
test.equal(moment([2011, 0, 1]).format('DDDo'), '1', '1');
|
||
test.equal(moment([2011, 0, 2]).format('DDDo'), '2', '2');
|
||
test.equal(moment([2011, 0, 3]).format('DDDo'), '3', '3');
|
||
test.equal(moment([2011, 0, 4]).format('DDDo'), '4', '4');
|
||
test.equal(moment([2011, 0, 5]).format('DDDo'), '5', '5');
|
||
test.equal(moment([2011, 0, 6]).format('DDDo'), '6', '6');
|
||
test.equal(moment([2011, 0, 7]).format('DDDo'), '7', '7');
|
||
test.equal(moment([2011, 0, 8]).format('DDDo'), '8', '8');
|
||
test.equal(moment([2011, 0, 9]).format('DDDo'), '9', '9');
|
||
test.equal(moment([2011, 0, 10]).format('DDDo'), '10', '10');
|
||
|
||
test.equal(moment([2011, 0, 11]).format('DDDo'), '11', '11');
|
||
test.equal(moment([2011, 0, 12]).format('DDDo'), '12', '12');
|
||
test.equal(moment([2011, 0, 13]).format('DDDo'), '13', '13');
|
||
test.equal(moment([2011, 0, 14]).format('DDDo'), '14', '14');
|
||
test.equal(moment([2011, 0, 15]).format('DDDo'), '15', '15');
|
||
test.equal(moment([2011, 0, 16]).format('DDDo'), '16', '16');
|
||
test.equal(moment([2011, 0, 17]).format('DDDo'), '17', '17');
|
||
test.equal(moment([2011, 0, 18]).format('DDDo'), '18', '18');
|
||
test.equal(moment([2011, 0, 19]).format('DDDo'), '19', '19');
|
||
test.equal(moment([2011, 0, 20]).format('DDDo'), '20', '20');
|
||
|
||
test.equal(moment([2011, 0, 21]).format('DDDo'), '21', '21');
|
||
test.equal(moment([2011, 0, 22]).format('DDDo'), '22', '22');
|
||
test.equal(moment([2011, 0, 23]).format('DDDo'), '23', '23');
|
||
test.equal(moment([2011, 0, 24]).format('DDDo'), '24', '24');
|
||
test.equal(moment([2011, 0, 25]).format('DDDo'), '25', '25');
|
||
test.equal(moment([2011, 0, 26]).format('DDDo'), '26', '26');
|
||
test.equal(moment([2011, 0, 27]).format('DDDo'), '27', '27');
|
||
test.equal(moment([2011, 0, 28]).format('DDDo'), '28', '28');
|
||
test.equal(moment([2011, 0, 29]).format('DDDo'), '29', '29');
|
||
test.equal(moment([2011, 0, 30]).format('DDDo'), '30', '30');
|
||
|
||
test.equal(moment([2011, 0, 31]).format('DDDo'), '31', '31');
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var i,
|
||
expected = 'tháng 1,Th01_tháng 2,Th02_tháng 3,Th03_tháng 4,Th04_tháng 5,Th05_tháng 6,Th06_tháng 7,Th07_tháng 8,Th08_tháng 9,Th09_tháng 10,Th10_tháng 11,Th11_tháng 12,Th12'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM,MMM'), expected[i], expected[i]);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var i,
|
||
expected = 'chủ nhật CN CN_thứ hai T2 T2_thứ ba T3 T3_thứ tư T4 T4_thứ năm T5 T5_thứ sáu T6 T6_thứ bảy T7 T7'.split("_");
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "vài giây", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "một phút", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "một phút", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2 phút", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44 phút", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "một giờ", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "một giờ", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2 giờ", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5 giờ", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21 giờ", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "một ngày", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "một ngày", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2 ngày", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "một ngày", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5 ngày", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25 ngày", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "một tháng", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "một tháng", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "một tháng", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2 tháng", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2 tháng", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3 tháng", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "một tháng", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5 tháng", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11 tháng", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "một năm", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "một năm", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2 năm", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "một năm", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5 năm", "5 years = 5 years");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "vài giây tới", "prefix");
|
||
test.equal(moment(0).from(30000), "vài giây trước", "suffix");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.equal(moment().fromNow(), "vài giây trước", "now from now should display as in the past");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "vài giây tới", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "5 ngày tới", "in 5 days");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "Hôm nay lúc 02:00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "Hôm nay lúc 02:25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "Hôm nay lúc 03:00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "Ngày mai lúc 02:00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "Hôm nay lúc 01:00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "Hôm qua lúc 02:00", "yesterday at the same time");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [tuần tới lúc] LT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [tuần tới lúc] LT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [tuần tới lúc] LT'), "Today + " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('dddd [tuần rồi lúc] LT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('dddd [tuần rồi lúc] LT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('dddd [tuần rồi lúc] LT'), "Today - " + i + " days end of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Monday is the first day of the week.
|
||
// The week that contains Jan 4th is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 1, "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).week(), 2, "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 2, "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 8]).week(), 2, "Jan 8 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 15]).week(), 3, "Jan 15 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 31]).week(), 1, "Dec 31 2007 should be week 1");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 7]).week(), 2, "Jan 7 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 14]).week(), 3, "Jan 14 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 30]).week(), 1, "Dec 30 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 6]).week(), 2, "Jan 6 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 13]).week(), 3, "Jan 13 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 29]).week(), 1, "Dec 29 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 5]).week(), 2, "Jan 5 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 13]).week(), 3, "Jan 12 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 28]).week(), 53, "Dec 28 2009 should be week 53");
|
||
test.equal(moment([2010, 0, 1]).week(), 53, "Jan 1 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 3]).week(), 53, "Jan 3 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 4]).week(), 1, "Jan 4 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 11]).week(), 2, "Jan 11 2010 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2010, 11, 27]).week(), 52, "Dec 27 2010 should be week 52");
|
||
test.equal(moment([2011, 0, 1]).week(), 52, "Jan 1 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 3]).week(), 1, "Jan 3 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 10]).week(), 2, "Jan 10 2011 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday formatted" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52', "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).format('w ww wo'), '1 01 1', "Jan 2 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '1 01 1', "Jan 8 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 9]).format('w ww wo'), '2 02 2', "Jan 9 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '2 02 2', "Jan 15 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/vi'), 'vi', "module should export vi");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Simplified Chinese
|
||
**************************************************/
|
||
|
||
exports["lang:zh-cn"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('zh-cn');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = '一月 1月_二月 2月_三月 3月_四月 4月_五月 5月_六月 6月_七月 7月_八月 8月_九月 9月_十月 10月_十一月 11月_十二月 12月'.split("_"), i;
|
||
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, a h:mm:ss', '星期日, 二月 14日 2010, 下午 3:25:50'],
|
||
['ddd, Ah', '周日, 下午3'],
|
||
['M Mo MM MMMM MMM', '2 2月 02 二月 2月'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14日 14'],
|
||
['d do dddd ddd dd', '0 0日 星期日 周日 日'],
|
||
['DDD DDDo DDDD', '45 45日 045'],
|
||
['w wo ww', '6 6周 06'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', '下午 下午'],
|
||
['[这年的第] DDDo', '这年的第 45日'],
|
||
['L', '2010-02-14'],
|
||
['LL', '2010年2月14日'],
|
||
['LLL', '2010年2月14日下午3点25'],
|
||
['LLLL', '2010年2月14日星期日下午3点25'],
|
||
['l', '2010-02-14'],
|
||
['ll', '2010年2月14日'],
|
||
['lll', '2010年2月14日下午3点25'],
|
||
['llll', '2010年2月14日星期日下午3点25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = '一月 1月_二月 2月_三月 3月_四月 4月_五月 5月_六月 6月_七月 7月_八月 8月_九月 9月_十月 10月_十一月 11月_十二月 12月'.split("_"), i;
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = '星期日 周日 日_星期一 周一 一_星期二 周二 二_星期三 周三 三_星期四 周四 四_星期五 周五 五_星期六 周六 六'.split("_"), i;
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "几秒", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "1分钟", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "1分钟", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2分钟", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44分钟", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "1小时", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "1小时", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2小时", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5小时", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21小时", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "1天", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "1天", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2天", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "1天", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5天", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25天", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "1个月", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "1个月", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "1个月", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2个月", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2个月", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3个月", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "1个月", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5个月", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11个月", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "1年", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "1年", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2年", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "1年", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5年", "5 years = 5 years");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "几秒内", "prefix");
|
||
test.equal(moment(0).from(30000), "几秒前", "suffix");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.equal(moment().fromNow(), "几秒前", "now from now should display as in the past");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "几秒内", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "5天内", "in 5 days");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "今天凌晨2点整", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "今天凌晨2点25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "今天凌晨3点整", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "明天凌晨2点整", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "今天凌晨1点整", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "昨天凌晨2点整", "yesterday at the same time");
|
||
test.done();
|
||
},
|
||
|
||
"calendar current week": function (test) {
|
||
var i, m,
|
||
today = moment().startOf('day');
|
||
|
||
for (i = 0; i < 7; i++) {
|
||
m = moment().startOf('week').add({ d: i});
|
||
if (Math.abs(m.diff(today, 'days')) <= 1) {
|
||
continue; // skip today, yesterday, tomorrow
|
||
}
|
||
test.equal(m.calendar(), m.format('[本]ddd凌晨12点整'), "Monday + " + i + " days current time");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
var i, m,
|
||
today = moment().startOf('day');
|
||
|
||
for (i = 7; i < 14; i++) {
|
||
m = moment().startOf('week').add({ d: i});
|
||
if (Math.abs(m.diff(today, 'days')) >= 7) {
|
||
continue;
|
||
}
|
||
if (Math.abs(m.diff(today, 'days')) <= 1) {
|
||
continue; // skip today, yesterday, tomorrow
|
||
}
|
||
test.equal(m.calendar(), m.format('[下]ddd凌晨12点整'), "Today + " + i + " days beginning of day");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
var i, m,
|
||
today = moment().startOf('day');
|
||
|
||
for (i = 1; i < 8; i++) {
|
||
m = moment().startOf('week').subtract({ d: i});
|
||
if ((Math.abs(m.diff(today, 'days')) >= 7) || (Math.abs(m.diff(today, 'days')) <= 1)) {
|
||
continue;
|
||
}
|
||
test.equal(m.calendar(), m.format('[上]ddd凌晨12点整'), "Monday - " + i + " days next week");
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('LL'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('LL'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('LL'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('LL'), "in 2 weeks");
|
||
test.done();
|
||
},
|
||
|
||
"meridiem" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2011, 2, 23, 0, 0]).format('A'), "凌晨", "before dawn");
|
||
test.equal(moment([2011, 2, 23, 6, 0]).format('A'), "早上", "morning");
|
||
test.equal(moment([2011, 2, 23, 9, 0]).format('A'), "上午", "before noon");
|
||
test.equal(moment([2011, 2, 23, 12, 0]).format('A'), "中午", "noon");
|
||
test.equal(moment([2011, 2, 23, 13, 0]).format('A'), "下午", "afternoon");
|
||
test.equal(moment([2011, 2, 23, 18, 0]).format('A'), "晚上", "night");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Sunday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(4);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 52, "Jan 1 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 2]).week(), 1, "Jan 2 2012 should be week 52");
|
||
test.equal(moment([2012, 0, 7]).week(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 14]).week(), 2, "Jan 14 2012 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 52, "Dec 31 2006 should be week 52");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 1, "Jan 7 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 2, "Jan 14 2007 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 52, "Dec 29 2007 should be week 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 1, "Jan 6 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 2, "Jan 13 2008 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 52, "Dec 29 2002 should be week 52");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 1, "Jan 5 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 2, "Jan 12 2003 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 1, "Jan 4 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 2, "Jan 11 2009 should be week 2");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment([2010, 0, 2]).week(), 53, "Jan 2 2010 should be week 53");
|
||
test.equal(moment([2010, 0, 10]).week(), 1, "Jan 10 2010 should be week 1");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(3);
|
||
|
||
test.equal(moment([2011, 0, 2]).week(), 52, "Jan 2 2011 should be week 52");
|
||
test.equal(moment([2011, 0, 8]).week(), 1, "Jan 8 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 9]).week(), 1, "Jan 9 2011 should be week 1");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday format" : function (test) {
|
||
test.expect(3);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '52 52 52周', "Jan 1 2012 应该是第52周");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1周', "Jan 7 2012 应该是第 1周");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2周', "Jan 14 2012 应该是第 2周");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/zh-cn'), 'zh-cn', "module should export zh-cn");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
var moment = require("../../moment");
|
||
|
||
|
||
/**************************************************
|
||
Traditional Chinese
|
||
*************************************************/
|
||
|
||
exports["lang:zh-tw"] = {
|
||
setUp : function (cb) {
|
||
moment.lang('zh-tw');
|
||
moment.createFromInputFallback = function () {
|
||
throw new Error("input not handled by moment");
|
||
};
|
||
cb();
|
||
},
|
||
|
||
tearDown : function (cb) {
|
||
moment.lang('en');
|
||
cb();
|
||
},
|
||
|
||
"parse" : function (test) {
|
||
test.expect(96);
|
||
|
||
var tests = '一月 1月_二月 2月_三月 3月_四月 4月_五月 5月_六月 6月_七月 7月_八月 8月_九月 9月_十月 10月_十一月 11月_十二月 12月'.split("_"), i;
|
||
function equalTest(input, mmm, i) {
|
||
test.equal(moment(input, mmm).month(), i, input + ' should be month ' + (i + 1));
|
||
}
|
||
for (i = 0; i < 12; i++) {
|
||
tests[i] = tests[i].split(' ');
|
||
equalTest(tests[i][0], 'MMM', i);
|
||
equalTest(tests[i][1], 'MMM', i);
|
||
equalTest(tests[i][0], 'MMMM', i);
|
||
equalTest(tests[i][1], 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleLowerCase(), 'MMMM', i);
|
||
equalTest(tests[i][0].toLocaleUpperCase(), 'MMMM', i);
|
||
equalTest(tests[i][1].toLocaleUpperCase(), 'MMMM', i);
|
||
}
|
||
test.done();
|
||
},
|
||
|
||
"format" : function (test) {
|
||
test.expect(22);
|
||
|
||
var a = [
|
||
['dddd, MMMM Do YYYY, a h:mm:ss', '星期日, 二月 14日 2010, 下午 3:25:50'],
|
||
['ddd, Ah', '週日, 下午3'],
|
||
['M Mo MM MMMM MMM', '2 2月 02 二月 2月'],
|
||
['YYYY YY', '2010 10'],
|
||
['D Do DD', '14 14日 14'],
|
||
['d do dddd ddd dd', '0 0日 星期日 週日 日'],
|
||
['DDD DDDo DDDD', '45 45日 045'],
|
||
['w wo ww', '8 8週 08'],
|
||
['h hh', '3 03'],
|
||
['H HH', '15 15'],
|
||
['m mm', '25 25'],
|
||
['s ss', '50 50'],
|
||
['a A', '下午 下午'],
|
||
['[這年的第] DDDo', '這年的第 45日'],
|
||
['L', '2010年2月14日'],
|
||
['LL', '2010年2月14日'],
|
||
['LLL', '2010年2月14日下午3點25'],
|
||
['LLLL', '2010年2月14日星期日下午3點25'],
|
||
['l', '2010年2月14日'],
|
||
['ll', '2010年2月14日'],
|
||
['lll', '2010年2月14日下午3點25'],
|
||
['llll', '2010年2月14日星期日下午3點25']
|
||
],
|
||
b = moment(new Date(2010, 1, 14, 15, 25, 50, 125)),
|
||
i;
|
||
|
||
for (i = 0; i < a.length; i++) {
|
||
test.equal(b.format(a[i][0]), a[i][1], a[i][0] + ' ---> ' + a[i][1]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format month" : function (test) {
|
||
test.expect(12);
|
||
|
||
var expected = '一月 1月_二月 2月_三月 3月_四月 4月_五月 5月_六月 6月_七月 7月_八月 8月_九月 9月_十月 10月_十一月 11月_十二月 12月'.split("_"), i;
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, i, 1]).format('MMMM MMM'), expected[i], expected[i]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"format week" : function (test) {
|
||
test.expect(7);
|
||
|
||
var expected = '星期日 週日 日_星期一 週一 一_星期二 週二 二_星期三 週三 三_星期四 週四 四_星期五 週五 五_星期六 週六 六'.split("_"), i;
|
||
|
||
for (i = 0; i < expected.length; i++) {
|
||
test.equal(moment([2011, 0, 2 + i]).format('dddd ddd dd'), expected[i], expected[i]);
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"from" : function (test) {
|
||
test.expect(30);
|
||
|
||
var start = moment([2007, 1, 28]);
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 44}), true), "幾秒", "44 seconds = a few seconds");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 45}), true), "一分鐘", "45 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 89}), true), "一分鐘", "89 seconds = a minute");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({s: 90}), true), "2分鐘", "90 seconds = 2 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 44}), true), "44分鐘", "44 minutes = 44 minutes");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 45}), true), "一小時", "45 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 89}), true), "一小時", "89 minutes = an hour");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({m: 90}), true), "2小時", "90 minutes = 2 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), "5小時", "5 hours = 5 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 21}), true), "21小時", "21 hours = 21 hours");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 22}), true), "一天", "22 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 35}), true), "一天", "35 hours = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({h: 36}), true), "2天", "36 hours = 2 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), "一天", "1 day = a day");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), "5天", "5 days = 5 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 25}), true), "25天", "25 days = 25 days");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 26}), true), "一個月", "26 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 30}), true), "一個月", "30 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 45}), true), "一個月", "45 days = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 46}), true), "2個月", "46 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 74}), true), "2個月", "75 days = 2 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 76}), true), "3個月", "76 days = 3 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), "一個月", "1 month = a month");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), "5個月", "5 months = 5 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 344}), true), "11個月", "344 days = 11 months");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 345}), true), "一年", "345 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 547}), true), "一年", "547 days = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), "2年", "548 days = 2 years");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), "一年", "1 year = a year");
|
||
test.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), "5年", "5 years = 5 years");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"suffix" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment(30000).from(0), "幾秒內", "prefix");
|
||
test.equal(moment(0).from(30000), "幾秒前", "suffix");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"now from now" : function (test) {
|
||
test.expect(1);
|
||
|
||
test.equal(moment().fromNow(), "幾秒前", "now from now should display as in the past");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"fromNow" : function (test) {
|
||
test.expect(2);
|
||
|
||
test.equal(moment().add({s: 30}).fromNow(), "幾秒內", "in a few seconds");
|
||
test.equal(moment().add({d: 5}).fromNow(), "5天內", "in 5 days");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar day" : function (test) {
|
||
test.expect(6);
|
||
|
||
var a = moment().hours(2).minutes(0).seconds(0);
|
||
|
||
test.equal(moment(a).calendar(), "今天早上2點00", "today at the same time");
|
||
test.equal(moment(a).add({ m: 25 }).calendar(), "今天早上2點25", "Now plus 25 min");
|
||
test.equal(moment(a).add({ h: 1 }).calendar(), "今天早上3點00", "Now plus 1 hour");
|
||
test.equal(moment(a).add({ d: 1 }).calendar(), "明天早上2點00", "tomorrow at the same time");
|
||
test.equal(moment(a).subtract({ h: 1 }).calendar(), "今天早上1點00", "Now minus 1 hour");
|
||
test.equal(moment(a).subtract({ d: 1 }).calendar(), "昨天早上2點00", "yesterday at the same time");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar next week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().add({ d: i });
|
||
test.equal(m.calendar(), m.format('[下]ddddLT'), "Today + " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[下]ddddLT'), "Today + " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[下]ddddLT'), "Today + " + i + " days end of day");
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar last week" : function (test) {
|
||
test.expect(15);
|
||
|
||
var i, m;
|
||
for (i = 2; i < 7; i++) {
|
||
m = moment().subtract({ d: i });
|
||
test.equal(m.calendar(), m.format('[上]ddddLT'), "Today - " + i + " days current time");
|
||
m.hours(0).minutes(0).seconds(0).milliseconds(0);
|
||
test.equal(m.calendar(), m.format('[上]ddddLT'), "Today - " + i + " days beginning of day");
|
||
m.hours(23).minutes(59).seconds(59).milliseconds(999);
|
||
test.equal(m.calendar(), m.format('[上]ddddLT'), "Today - " + i + " days end of day");
|
||
}
|
||
|
||
test.done();
|
||
},
|
||
|
||
"calendar all else" : function (test) {
|
||
test.expect(4);
|
||
|
||
var weeksAgo = moment().subtract({ w: 1 }),
|
||
weeksFromNow = moment().add({ w: 1 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "1 week ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 1 week");
|
||
|
||
weeksAgo = moment().subtract({ w: 2 });
|
||
weeksFromNow = moment().add({ w: 2 });
|
||
|
||
test.equal(weeksAgo.calendar(), weeksAgo.format('L'), "2 weeks ago");
|
||
test.equal(weeksFromNow.calendar(), weeksFromNow.format('L'), "in 2 weeks");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"meridiem" : function (test) {
|
||
test.expect(10);
|
||
|
||
test.equal(moment([2011, 2, 23, 0, 0]).format('a'), "早上", "morning");
|
||
test.equal(moment([2011, 2, 23, 9, 0]).format('a'), "上午", "before noon");
|
||
test.equal(moment([2011, 2, 23, 12, 0]).format('a'), "中午", "noon");
|
||
test.equal(moment([2011, 2, 23, 13, 0]).format('a'), "下午", "after noon");
|
||
test.equal(moment([2011, 2, 23, 18, 0]).format('a'), "晚上", "night");
|
||
|
||
test.equal(moment([2011, 2, 23, 0, 0]).format('A'), "早上", "morning");
|
||
test.equal(moment([2011, 2, 23, 9, 0]).format('A'), "上午", "before noon");
|
||
test.equal(moment([2011, 2, 23, 12, 0]).format('A'), "中午", "noon");
|
||
test.equal(moment([2011, 2, 23, 13, 0]).format('A'), "下午", "afternoon");
|
||
test.equal(moment([2011, 2, 23, 18, 0]).format('A'), "晚上", "night");
|
||
|
||
test.done();
|
||
},
|
||
|
||
// Sunday is the first day of the week.
|
||
// The week that contains Jan 1st is the first week of the year.
|
||
|
||
"weeks year starting sunday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).week(), 1, "Jan 1 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 7]).week(), 1, "Jan 7 2012 should be week 1");
|
||
test.equal(moment([2012, 0, 8]).week(), 2, "Jan 8 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 14]).week(), 2, "Jan 14 2012 should be week 2");
|
||
test.equal(moment([2012, 0, 15]).week(), 3, "Jan 15 2012 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting monday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2006, 11, 31]).week(), 1, "Dec 31 2006 should be week 1");
|
||
test.equal(moment([2007, 0, 1]).week(), 1, "Jan 1 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 6]).week(), 1, "Jan 6 2007 should be week 1");
|
||
test.equal(moment([2007, 0, 7]).week(), 2, "Jan 7 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 13]).week(), 2, "Jan 13 2007 should be week 2");
|
||
test.equal(moment([2007, 0, 14]).week(), 3, "Jan 14 2007 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting tuesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2007, 11, 29]).week(), 52, "Dec 29 2007 should be week 52");
|
||
test.equal(moment([2008, 0, 1]).week(), 1, "Jan 1 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 5]).week(), 1, "Jan 5 2008 should be week 1");
|
||
test.equal(moment([2008, 0, 6]).week(), 2, "Jan 6 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 12]).week(), 2, "Jan 12 2008 should be week 2");
|
||
test.equal(moment([2008, 0, 13]).week(), 3, "Jan 13 2008 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting wednesday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2002, 11, 29]).week(), 1, "Dec 29 2002 should be week 1");
|
||
test.equal(moment([2003, 0, 1]).week(), 1, "Jan 1 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 4]).week(), 1, "Jan 4 2003 should be week 1");
|
||
test.equal(moment([2003, 0, 5]).week(), 2, "Jan 5 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 11]).week(), 2, "Jan 11 2003 should be week 2");
|
||
test.equal(moment([2003, 0, 12]).week(), 3, "Jan 12 2003 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting thursday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2008, 11, 28]).week(), 1, "Dec 28 2008 should be week 1");
|
||
test.equal(moment([2009, 0, 1]).week(), 1, "Jan 1 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 3]).week(), 1, "Jan 3 2009 should be week 1");
|
||
test.equal(moment([2009, 0, 4]).week(), 2, "Jan 4 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 10]).week(), 2, "Jan 10 2009 should be week 2");
|
||
test.equal(moment([2009, 0, 11]).week(), 3, "Jan 11 2009 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting friday" : function (test) {
|
||
test.expect(6);
|
||
|
||
test.equal(moment([2009, 11, 27]).week(), 1, "Dec 27 2009 should be week 1");
|
||
test.equal(moment([2010, 0, 1]).week(), 1, "Jan 1 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 2]).week(), 1, "Jan 2 2010 should be week 1");
|
||
test.equal(moment([2010, 0, 3]).week(), 2, "Jan 3 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 9]).week(), 2, "Jan 9 2010 should be week 2");
|
||
test.equal(moment([2010, 0, 10]).week(), 3, "Jan 10 2010 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting saturday" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2010, 11, 26]).week(), 1, "Dec 26 2010 should be week 1");
|
||
test.equal(moment([2011, 0, 1]).week(), 1, "Jan 1 2011 should be week 1");
|
||
test.equal(moment([2011, 0, 2]).week(), 2, "Jan 2 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 8]).week(), 2, "Jan 8 2011 should be week 2");
|
||
test.equal(moment([2011, 0, 9]).week(), 3, "Jan 9 2011 should be week 3");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"weeks year starting sunday format" : function (test) {
|
||
test.expect(5);
|
||
|
||
test.equal(moment([2012, 0, 1]).format('w ww wo'), '1 01 1週', "Jan 1 2012 應該是第 1週");
|
||
test.equal(moment([2012, 0, 7]).format('w ww wo'), '1 01 1週', "Jan 7 2012 應該是第 1週");
|
||
test.equal(moment([2012, 0, 8]).format('w ww wo'), '2 02 2週', "Jan 8 2012 應該是第 2週");
|
||
test.equal(moment([2012, 0, 14]).format('w ww wo'), '2 02 2週', "Jan 14 2012 應該是第 2週");
|
||
test.equal(moment([2012, 0, 15]).format('w ww wo'), '3 03 3週', "Jan 15 2012 應該是第 3週");
|
||
|
||
test.done();
|
||
},
|
||
|
||
"returns the name of the language" : function (test) {
|
||
if (typeof module !== 'undefined' && module.exports) {
|
||
test.equal(require('../../lang/zh-tw'), 'zh-tw', "module should export zh-tw");
|
||
}
|
||
|
||
test.done();
|
||
}
|
||
};
|
||
|
||
}(this));
|