]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Add tests for relativeDates
authorGilles Doge <gilles.doge@gmail.com>
Fri, 2 Dec 2011 08:21:53 +0000 (09:21 +0100)
committerPierre Spring <pierre@nelm.io>
Fri, 9 Dec 2011 12:52:47 +0000 (13:52 +0100)
lang/test/en.js

index 7e8fca27cb743549dc4fe8ee3865a796890b1d26..dba8782aa8c4b89b9833ae098b4491b7fdf2f843 100644 (file)
@@ -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");
+    
+})