]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Fix to Arabic week number parsing (Week starts on Saturday, 1st week is the week... 1398/head
authorGregor Rayman <gregor.rayman@cloudfarms.com>
Tue, 7 Jan 2014 00:15:54 +0000 (01:15 +0100)
committerGregor Rayman <gregor.rayman@cloudfarms.com>
Tue, 7 Jan 2014 00:19:41 +0000 (01:19 +0100)
moment.js
test/lang/ar.js

index 5292c5ad42ec7d35518709a17d65fc1fa623a200..29e3d91ee99ac95ce438139fe572b98f0cd61cde 100644 (file)
--- a/moment.js
+++ b/moment.js
         var d = makeUTCDate(year, 0, 1).getUTCDay(), daysToAdd, dayOfYear;
 
         weekday = weekday != null ? weekday : firstDayOfWeek;
-        daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0);
+        daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0) - (d < firstDayOfWeek ? 7 : 0);
         dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1;
 
         return {
index df01400bd98bbc52ed9a6ce8fa375e408cf52876..098b802e2d135b4e4c28af62ddacd5c5f8eec8b3 100644 (file)
@@ -286,7 +286,7 @@ exports["lang:ar"] = {
     },
 
     "weeks year starting wednesday" : function (test) {
-        test.expect(6);
+        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");
@@ -295,6 +295,11 @@ exports["lang:ar"] = {
         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();
     },