]> git.ipfire.org Git - thirdparty/moment.git/commitdiff
Improve tests, implementation of weeksInWeekYear
authorIskren Chernev <iskren.chernev@gmail.com>
Wed, 29 Apr 2020 14:54:11 +0000 (17:54 +0300)
committerIskren Chernev <iskren.chernev@gmail.com>
Wed, 29 Apr 2020 14:54:11 +0000 (17:54 +0300)
src/lib/units/week-year.js
src/test/moment/weeks_in_year.js

index 243fb55bfc12f0c3f4a426b17f2282d38e094fe5..daf5af70dcdd016de7afddbaac5adb64c818b6e4 100644 (file)
@@ -106,17 +106,14 @@ export function getISOWeeksInYear() {
     return weeksInYear(this.isoWeekday(THURSDAY).year(), 1, 4);
 }
 
-export function getWeeksInYear () {
-    return getWeeksInGivenYear.call(this, this.year());
-}
-
-export function getWeeksInWeekYear () {
-    return getWeeksInGivenYear.call(this, this.weekYear());
+export function getWeeksInYear() {
+    let weekInfo = this.localeData()._week;
+    return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
 }
 
-function getWeeksInGivenYear(year) {
+export function getWeeksInWeekYear() {
     let weekInfo = this.localeData()._week;
-    return weeksInYear(year, weekInfo.dow, weekInfo.doy);
+    return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);
 }
 
 function getSetWeekYearHelper(input, week, weekday, dow, doy) {
index 10eb7efe9f9708d43af87e4b2ff2996bf50259f7..b8bef36125e2093da3d008fbe8770f48b721f53f 100644 (file)
@@ -1,4 +1,4 @@
-import {module, test} from '../qunit';
+import { module, test } from '../qunit';
 import moment from '../../moment';
 
 module('weeks in year');
@@ -94,36 +94,34 @@ test('isoWeeksInYear first day of ISO Year', function (assert) {
 test('weeksInYear doy/dow = 1/4', function (assert) {
     moment.locale('1/4', { week: { dow: 1, doy: 4 } });
 
-    assert.equal(moment([2004]).weeksInYear(), 53, '2004 has 53 weeks');
-    assert.equal(moment([2005]).weeksInYear(), 52, '2005 has 52 weeks');
-    assert.equal(moment([2006]).weeksInYear(), 52, '2006 has 52 weeks');
-    assert.equal(moment([2007]).weeksInYear(), 52, '2007 has 52 weeks');
-    assert.equal(moment([2008]).weeksInYear(), 52, '2008 has 52 weeks');
-    assert.equal(moment([2009]).weeksInYear(), 53, '2009 has 53 weeks');
-    assert.equal(moment([2010]).weeksInYear(), 52, '2010 has 52 weeks');
-    assert.equal(moment([2011]).weeksInYear(), 52, '2011 has 52 weeks');
-    assert.equal(moment([2012]).weeksInYear(), 52, '2012 has 52 weeks');
-    assert.equal(moment([2013]).weeksInYear(), 52, '2013 has 52 weeks');
-    assert.equal(moment([2014]).weeksInYear(), 52, '2014 has 52 weeks');
-    assert.equal(moment([2015]).weeksInYear(), 53, '2015 has 53 weeks');
-    assert.equal(moment([2016]).weeksInYear(), 52, '2016 has 52 weeks');
-});
-
-
-test('weeksInWeekYear doy/dow = 1/4', function (assert) {
-    assert.equal(moment([2004]).weeksInWeekYear(), 52, '2004 has 52 weeks in week year');
-    assert.equal(moment([2005]).weeksInWeekYear(), 53, '2005 has 53 weeks in week year');
-    assert.equal(moment([2006]).weeksInWeekYear(), 52, '2006 has 53 weeks in week year');
-    assert.equal(moment([2007]).weeksInWeekYear(), 52, '2007 has 52 weeks in week year');
-    assert.equal(moment([2008]).weeksInWeekYear(), 52, '2008 has 52 weeks in week year');
-    assert.equal(moment([2009]).weeksInWeekYear(), 52, '2009 has 52 weeks in week year');
-    assert.equal(moment([2010]).weeksInWeekYear(), 52, '2010 has 53 weeks in week year');
-    assert.equal(moment([2011]).weeksInWeekYear(), 53, '2011 has 53 weeks in week year');
-    assert.equal(moment([2012]).weeksInWeekYear(), 52, '2012 has 52 weeks in week year');
-    assert.equal(moment([2013]).weeksInWeekYear(), 52, '2013 has 52 weeks in week year');
-    assert.equal(moment([2014]).weeksInWeekYear(), 52, '2014 has 52 weeks in week year');
-    assert.equal(moment([2015]).weeksInWeekYear(), 52, '2015 has 52 weeks in week year');
-    assert.equal(moment([2016]).weeksInWeekYear(), 53, '2016 has 53 weeks in week year');
+    assert.equal(moment('2004-01-01').weeksInYear(), 53, '2004 has 53 weeks');
+    assert.equal(moment('2005-01-01').weeksInYear(), 52, '2005 has 52 weeks');
+    assert.equal(
+        moment('2005-01-01').weeksInWeekYear(),
+        53,
+        '2005-01-01 is weekYear 2014, which has 53 weeks'
+    );
+    assert.equal(moment('2006-01-01').weeksInYear(), 52, '2006 has 52 weeks');
+    assert.equal(moment('2007-01-01').weeksInYear(), 52, '2007 has 52 weeks');
+    assert.equal(moment('2008-01-01').weeksInYear(), 52, '2008 has 52 weeks');
+    assert.equal(moment('2009-01-01').weeksInYear(), 53, '2009 has 53 weeks');
+    assert.equal(moment('2010-01-01').weeksInYear(), 52, '2010 has 52 weeks');
+    assert.equal(
+        moment('2010-01-01').weeksInWeekYear(),
+        53,
+        '2010-01-01 is weekYear 2009, which has 53 weeks'
+    );
+    assert.equal(moment('2011-01-01').weeksInYear(), 52, '2011 has 52 weeks');
+    assert.equal(moment('2012-01-01').weeksInYear(), 52, '2012 has 52 weeks');
+    assert.equal(moment('2013-01-01').weeksInYear(), 52, '2013 has 52 weeks');
+    assert.equal(moment('2014-01-01').weeksInYear(), 52, '2014 has 52 weeks');
+    assert.equal(moment('2015-01-01').weeksInYear(), 53, '2015 has 53 weeks');
+    assert.equal(moment('2016-01-01').weeksInYear(), 52, '2016 has 52 weeks');
+    assert.equal(
+        moment('2016-01-01').weeksInWeekYear(),
+        53,
+        '2016-01-01 is weekYear 2015, which has 53 weeks'
+    );
 });
 
 test('weeksInYear doy/dow = 6/12', function (assert) {
@@ -143,7 +141,6 @@ test('weeksInYear doy/dow = 6/12', function (assert) {
     assert.equal(moment([2015]).weeksInYear(), 52, '2015 has 52 weeks');
 });
 
-
 test('weeksInYear doy/dow = 1/7', function (assert) {
     moment.locale('1/7', { week: { dow: 1, doy: 7 } });
 
@@ -162,22 +159,6 @@ test('weeksInYear doy/dow = 1/7', function (assert) {
     assert.equal(moment([2016]).weeksInYear(), 52, '2016 has 52 weeks');
 });
 
-test('weeksInWeekYear doy/dow = 1/7', function (assert) {
-    assert.equal(moment([2004]).weeksInWeekYear(), 52, '2004 has 52 weeks in week year');
-    assert.equal(moment([2005]).weeksInWeekYear(), 53, '2005 has 53 weeks in week year');
-    assert.equal(moment([2006]).weeksInWeekYear(), 52, '2006 has 52 weeks in week year');
-    assert.equal(moment([2007]).weeksInWeekYear(), 52, '2007 has 52 weeks in week year');
-    assert.equal(moment([2008]).weeksInWeekYear(), 52, '2008 has 52 weeks in week year');
-    assert.equal(moment([2009]).weeksInWeekYear(), 52, '2009 has 52 weeks in week year');
-    assert.equal(moment([2010]).weeksInWeekYear(), 52, '2010 has 52 weeks in week year');
-    assert.equal(moment([2011]).weeksInWeekYear(), 53, '2011 has 53 weeks in week year');
-    assert.equal(moment([2012]).weeksInWeekYear(), 52, '2012 has 52 weeks in week year');
-    assert.equal(moment([2013]).weeksInWeekYear(), 52, '2013 has 52 weeks in week year');
-    assert.equal(moment([2014]).weeksInWeekYear(), 52, '2014 has 52 weeks in week year');
-    assert.equal(moment([2015]).weeksInWeekYear(), 52, '2015 has 52 weeks in week year');
-    assert.equal(moment([2016]).weeksInWeekYear(), 53, '2016 has 53 weeks in week year');
-});
-
 test('weeksInYear doy/dow = 0/6', function (assert) {
     moment.locale('0/6', { week: { dow: 0, doy: 6 } });