From 0fe27bc6193537f27e728766fde1422a7a63c706 Mon Sep 17 00:00:00 2001 From: Rogier Schouten Date: Thu, 6 May 2021 10:23:43 +0200 Subject: [PATCH] Fix for #56 --- src/lib/basics.ts | 2 +- src/test/test-basics.ts | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/basics.ts b/src/lib/basics.ts index 1d4a9f0..4f453fe 100644 --- a/src/lib/basics.ts +++ b/src/lib/basics.ts @@ -373,7 +373,7 @@ export function weekOfMonth(year: number, month: number, day: number): number { // Last week of previous month if (month > 1) { // Default case - return weekOfMonth(year, month - 1, 31); + return weekOfMonth(year, month - 1, daysInMonth(year, month - 1)); } else { // January return weekOfMonth(year - 1, 12, 31); diff --git a/src/test/test-basics.ts b/src/test/test-basics.ts index 8065c72..2cf8e6f 100644 --- a/src/test/test-basics.ts +++ b/src/test/test-basics.ts @@ -449,6 +449,10 @@ describe("weekOfMonth()", (): void => { expect(basics.weekOfMonth(2016, 1, 3)).to.equal(5); expect(basics.weekOfMonth(2016, 1, 4)).to.equal(1); }); + + it("should not have issue #56", (): void => { + expect(basics.weekOfMonth(2021, 5, 1)).to.equal(5); + }); }); describe("secondsInDay()", (): void => {