Skip to content

Commit 0dc2ee1

Browse files
authored
Merge pull request #459 from cakephp/fix-453
Fix deprecations from internals for Date
2 parents 7d66414 + 2cbf986 commit 0dc2ee1

3 files changed

Lines changed: 26 additions & 2 deletions

File tree

src/Traits/ModifierTrait.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1051,6 +1051,9 @@ public function startOfWeek(): ChronosInterface
10511051
if ($dt->dayOfWeek !== static::$weekStartsAt) {
10521052
$dt = $dt->previous(static::$weekStartsAt);
10531053
}
1054+
if ($dt instanceof ChronosDate) {
1055+
return $dt;
1056+
}
10541057

10551058
return $dt->startOfDay();
10561059
}
@@ -1066,6 +1069,9 @@ public function endOfWeek(): ChronosInterface
10661069
if ($dt->dayOfWeek !== static::$weekEndsAt) {
10671070
$dt = $dt->next(static::$weekEndsAt);
10681071
}
1072+
if ($dt instanceof ChronosDate) {
1073+
return $dt;
1074+
}
10691075

10701076
return $dt->endOfDay();
10711077
}

tests/TestCase/Date/AddTest.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,4 +135,22 @@ public function testAddWeekdays($class)
135135
$this->assertSame(2, $class::create(1975, 5, 31)->addWeekdays(1)->day);
136136
$this->assertSame(30, $class::create(1975, 5, 31)->addWeekdays(-1)->day);
137137
}
138+
139+
/**
140+
* @dataProvider dateClassProvider
141+
* @return void
142+
*/
143+
public function testAddWeeksStartOfWeek($class)
144+
{
145+
$this->assertSame(8, (new $class('2024-7-2'))->addWeeks(1)->startOfWeek()->day);
146+
}
147+
148+
/**
149+
* @dataProvider dateClassProvider
150+
* @return void
151+
*/
152+
public function testAddWeeksEndOfWeek($class)
153+
{
154+
$this->assertSame(14, (new $class('2024-7-2'))->addWeeks(1)->endOfWeek()->day);
155+
}
138156
}

tests/TestCase/DateTime/AddTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,9 +276,9 @@ public function testAddWeek($class)
276276
*/
277277
public function testAddWeeksStartOfWeek($class)
278278
{
279-
$this->assertSame(5, (new $class(2024, 7, 2,))->addWeeks(1)->startOfWeek()->day);
279+
$this->assertSame(5, (new $class(2024, 7, 2))->addWeeks(1)->startOfWeek()->day);
280280

281-
$this->assertSame(14, $class::createFromDate(2024, 7, 2,)->addWeeks(1)->endOfWeek()->day);
281+
$this->assertSame(14, $class::createFromDate(2024, 7, 2)->addWeeks(1)->endOfWeek()->day);
282282
}
283283

284284
/**

0 commit comments

Comments
 (0)