]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
bugfix: weekyear setter handle dow fix-locale-week-year 6193/head
authorIskren Chernev <me@iskren.info>
Sat, 23 Dec 2023 12:53:53 +0000 (14:53 +0200)
committerIskren Chernev <me@iskren.info>
Sat, 23 Dec 2023 12:53:53 +0000 (14:53 +0200)
Fixes #3944

src/lib/units/week-year.js
src/test/moment/week_year.js

index 94e438994d34370dca208986c705bc25e9206dfe..585362c20f298f937cfd6e5a00f67e0c9415db85 100644 (file)
@@ -69,7 +69,7 @@ export function getSetWeekYear(input) {
         this,
         input,
         this.week(),
-        this.weekday(),
+        this.weekday() + this.localeData()._week.dow,
         this.localeData()._week.dow,
         this.localeData()._week.doy
     );
index fcc7e632342d56fbe5b7a704371e99506f3f42bd..b54d1b013aab9802f04b42c6abeb8ab5c154e498 100644 (file)
@@ -62,6 +62,14 @@ test('week year', function (assert) {
     assert.equal(moment([2008, 11, 29]).weekYear(), 2009);
     assert.equal(moment([2009, 11, 27]).weekYear(), 2009);
     assert.equal(moment([2009, 11, 28]).weekYear(), 2010);
+
+    moment.locale('dow:1 doy:4', { week: { dow: 1, doy: 4 } });
+    assert.equal(moment([2015, 11, 27]).locale('dow:1 doy:4').weekYear(), 2015);
+    assert.equal(
+        moment([2015, 11, 27]).locale('dow:1 doy:4').weekYear(2015).date(),
+        27
+    );
+    moment.defineLocale('dow:1 doy:4', null);
 });
 
 // Verifies that the week number, week day computation is correct for all dow, doy combinations