From: Iskren Ivov Chernev Date: Wed, 29 Apr 2020 15:20:04 +0000 (+0300) Subject: [bugfix] isoWeeksInYear was modifying the source object (#5474) X-Git-Tag: 2.25.0~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c78af306abccda45bc9e9dc0ae8d9958993e1426;p=thirdparty%2Fmoment.git [bugfix] isoWeeksInYear was modifying the source object (#5474) --- 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' + ); });