From: Gilles Doge Date: Fri, 2 Dec 2011 08:21:53 +0000 (+0100) Subject: Add tests for relativeDates X-Git-Tag: 1.3.0~33^2~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5a4bbb8d7593e926749515678644ebbaba7c3b4e;p=thirdparty%2Fmoment.git Add tests for relativeDates --- diff --git a/lang/test/en.js b/lang/test/en.js index 7e8fca27c..dba8782aa 100644 --- a/lang/test/en.js +++ b/lang/test/en.js @@ -144,3 +144,55 @@ test("fromNow", 2, function() { equal(moment().add({d:5}).fromNow(), "in 5 days", "in 5 days"); }); +test("xxx", 14, function() { + var getTodayAtTwo, prefixDay; + + getTodayAtTwo = function () { + return moment().hours(2).minutes(0).seconds(0); + }; + + prefixDay = function (moment, string, nextOrLast) { + if(typeof nextOrLast == "undefined") { + nextOrLast = ''; + } else { + switch(nextOrLast) { + case 'next': + nextOrLast = "next "; + break; + case 'last': + nextOrLast = "last "; + break; + default: + nextOrLast = ''; + } + } + + return nextOrLast + moment.format('ddd') + string; + }; + + moment.lang('en'); + equal(getTodayAtTwo().xxx(), "Today at 02:00", "today at the same time"); + equal(getTodayAtTwo().add({ m: 25 }).xxx(), "Today at 02:25", "Now plus 25 min"); + equal(getTodayAtTwo().add({ h: 1 }).xxx(), "Today at 03:00", "Now plus 1 hour"); + equal(getTodayAtTwo().add({ d: 1 }).xxx(), "Tomorrow at 02:00", "tomorrow at the same time"); + equal(getTodayAtTwo().subtract({ h: 1 }).xxx(), "Today at 01:00", "Now minus 1 hour"); + equal(getTodayAtTwo().subtract({ d: 1 }).xxx(), "Yesterday at 02:00", "yesterday at the same time"); + + var nextTomorrow = getTodayAtTwo().add({ d: 2 }); + equal(nextTomorrow.xxx(), prefixDay(nextTomorrow, " at 02:00"), "now - 2days at the same time"); + + var previousYesterday = getTodayAtTwo().subtract({ d: 2 }); + equal(previousYesterday.xxx(), prefixDay(previousYesterday, " at 02:00"), "now - 2days yesterday at the same time"); + + // Next / Last week + equal(getTodayAtTwo().add({ w: 1 }).xxx(), prefixDay(getTodayAtTwo().add({ w: 1 }), "", "next"), "next week at the same time"); + equal(getTodayAtTwo().add({ w: 1, d: 1 }).xxx(), prefixDay(getTodayAtTwo().add({ w: 1, d: 1 }), "", "next"), "next week at the same time"); + equal(getTodayAtTwo().subtract({ w: 1 }).xxx(), prefixDay(getTodayAtTwo().add({ w: 1 }), "", "last"), "next week at the same time"); + equal(getTodayAtTwo().subtract({ w: 1, d: 1 }).xxx(), prefixDay(getTodayAtTwo().add({ w: 1, d: 1 }), "", "last"), "next week at the same time"); + + + // More than 2 weeks + equal(getTodayAtTwo().add({ w: 2 }).xxx(), getTodayAtTwo().add({ w: 2 }).format('L'), "in 2 weeks at the same time"); + equal(getTodayAtTwo().subtract({ w: 2 }).xxx(), getTodayAtTwo().subtract({ w: 2 }).format('L'), "before 2 weeks at the same time"); + +})