]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Added iso year formatting tests
authorIskren Chernev <iskren.chernev@gmail.com>
Mon, 22 Apr 2013 09:05:27 +0000 (02:05 -0700)
committerIskren Chernev <iskren.chernev@gmail.com>
Wed, 24 Apr 2013 09:10:33 +0000 (02:10 -0700)
test/moment/format.js

index a5b49e692dbbf1c24c52512f84ccdaaa7d3eca20..65725ace71ce5d75c87ab9ed4f507027c7ae7cb4 100644 (file)
@@ -181,6 +181,38 @@ exports.format = {
         test.done();
     },
 
+    "iso year formats" : function(test) {
+
+        // http://en.wikipedia.org/wiki/ISO_week
+        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"
+        };
+
+        for (var i in cases) {
+            var isoWeekYear = cases[i].split('-')[0];
+            var formatted4 = moment(i).format('GGGG');
+            test.equal(isoWeekYear, formatted4, i + ": should be " + isoWeekYear + ", but " + formatted4);
+            var formatted2 = moment(i).format('GG');
+            test.equal(isoWeekYear.slice(2, 4), formatted2, i + ": should be " + isoWeekYear + ", but " + formatted2);
+        }
+
+        test.done();
+    },
+
     "toString is just human readable format" : function(test) {
         test.expect(1);