From 280ad6d428ecbc28f1f84c9c1dbbee78f95dfef2 Mon Sep 17 00:00:00 2001 From: kylekatarnls Date: Mon, 3 Jun 2024 15:42:02 +0200 Subject: [PATCH] Fix issue with is month check Fix #3032 --- src/Carbon/Traits/Comparison.php | 7 +++++++ tests/Carbon/IsTest.php | 3 +++ 2 files changed, 10 insertions(+) diff --git a/src/Carbon/Traits/Comparison.php b/src/Carbon/Traits/Comparison.php index de26ef56..3c28fdcb 100644 --- a/src/Carbon/Traits/Comparison.php +++ b/src/Carbon/Traits/Comparison.php @@ -881,6 +881,13 @@ public function is(string $tester): bool return $this->year === (int) $tester; } + if (preg_match('/^(?:Jan|January|Feb|February|Mar|March|Apr|April|May|Jun|June|Jul|July|Aug|August|Sep|September|Oct|October|Nov|November|Dec|December)$/i', $tester)) { + return $this->isSameMonth( + $this->transmitFactory(static fn () => static::parse($tester)), + false, + ); + } + if (preg_match('/^\d{3,}-\d{1,2}$/', $tester)) { return $this->isSameMonth( $this->transmitFactory(static fn () => static::parse($tester)), diff --git a/tests/Carbon/IsTest.php b/tests/Carbon/IsTest.php index 85b31d75..e47a514d 100644 --- a/tests/Carbon/IsTest.php +++ b/tests/Carbon/IsTest.php @@ -1032,6 +1032,9 @@ public function testIs() $this->assertTrue(Carbon::parse('2019-06-02 12:23:45')->is('Sunday')); $this->assertFalse(Carbon::parse('2019-06-02 12:23:45')->is('Monday')); $this->assertTrue(Carbon::parse('2019-06-02 12:23:45')->is('June')); + $this->assertTrue(Carbon::parse('2019-05-31 12:23:45')->is('May')); + $this->assertTrue(Carbon::parse('2019-05-31 12:23:45')->is('mAy')); + $this->assertFalse(Carbon::parse('2019-05-31 12:23:45')->is('April')); $this->assertFalse(Carbon::parse('2019-06-02 12:23:45')->is('May')); $this->assertTrue(Carbon::parse('2019-06-02 12:23:45')->is('12:23')); $this->assertFalse(Carbon::parse('2019-06-02 12:23:45')->is('12:26'));