From 6767277b84ace3180353a1e68bf8bd9815405213 Mon Sep 17 00:00:00 2001 From: Iskren Chernev Date: Sat, 23 Dec 2023 14:53:53 +0200 Subject: [PATCH] bugfix: weekyear setter handle dow Fixes #3944 --- src/lib/units/week-year.js | 2 +- src/test/moment/week_year.js | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib/units/week-year.js b/src/lib/units/week-year.js index 94e438994..585362c20 100644 --- a/src/lib/units/week-year.js +++ b/src/lib/units/week-year.js @@ -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 ); diff --git a/src/test/moment/week_year.js b/src/test/moment/week_year.js index fcc7e6323..b54d1b013 100644 --- a/src/test/moment/week_year.js +++ b/src/test/moment/week_year.js @@ -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 -- 2.47.2