From: Iskren Chernev Date: Wed, 29 Apr 2020 15:06:15 +0000 (+0300) Subject: [bugfix] isoWeeksInYear was modifying the source object X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=refs%2Fpull%2F5474%2Fhead;p=thirdparty%2Fmoment.git [bugfix] isoWeeksInYear was modifying the source object --- diff --git a/src/lib/units/week-year.js b/src/lib/units/week-year.js index daf5af70d..7c60a3645 100644 --- a/src/lib/units/week-year.js +++ b/src/lib/units/week-year.js @@ -21,10 +21,6 @@ import toInt from '../utils/to-int'; import { hooks } from '../utils/hooks'; import { createUTCDate } from '../create/date-from-array'; -// CONSTANTS - -const THURSDAY = 4; - // FORMATTING addFormatToken(0, ['gg', 2], 0, function () { @@ -103,7 +99,7 @@ export function getSetISOWeekYear(input) { } export function getISOWeeksInYear() { - return weeksInYear(this.isoWeekday(THURSDAY).year(), 1, 4); + return weeksInYear(this.isoWeekYear(), 1, 4); } export function getWeeksInYear() { diff --git a/src/test/moment/weeks_in_year.js b/src/test/moment/weeks_in_year.js index b8bef3612..b2a50057b 100644 --- a/src/test/moment/weeks_in_year.js +++ b/src/test/moment/weeks_in_year.js @@ -177,6 +177,7 @@ test('weeksInYear doy/dow = 0/6', function (assert) { }); test('isoWeeksInYear calendar year !== ISO year', function (assert) { + var m = moment('2010-01-01'); assert.equal( moment('2019-12-31').isoWeeksInYear(), 53, @@ -187,4 +188,14 @@ test('isoWeeksInYear calendar year !== ISO year', function (assert) { 53, 'December 31, 2020 is in ISO year 2020 and ISO year 2020 has 53 weeks' ); + assert.equal( + m.isoWeeksInYear(), + 53, + '2010-01-01 is isoWeekYear 2009, which has 53 iso weeks' + ); + assert.equal( + +m, + +moment('2010-01-01'), + 'isoWeeksInYear does not modify moment object' + ); });