From: ArthurHoaro Date: Sun, 17 May 2020 09:29:17 +0000 (+0200) Subject: Slim daily: minor bugfix with empty data X-Git-Tag: v0.12.0-beta~4^2~48 X-Git-Url: https://git.immae.eu/?p=github%2Fshaarli%2FShaarli.git;a=commitdiff_plain;h=e3d28be9673a9f8404ff907b8191209729ad690c Slim daily: minor bugfix with empty data --- diff --git a/application/front/controllers/DailyController.php b/application/front/controllers/DailyController.php index c2fdaa55..271c0ee2 100644 --- a/application/front/controllers/DailyController.php +++ b/application/front/controllers/DailyController.php @@ -30,10 +30,13 @@ class DailyController extends ShaarliController $nbAvailableDates = count($availableDates); $index = array_search($day, $availableDates); - if ($index === false && $nbAvailableDates > 0) { + if ($index === false) { // no bookmarks for day, but at least one day with bookmarks - $index = $nbAvailableDates - 1; - $day = $availableDates[$index]; + $day = $availableDates[$nbAvailableDates - 1] ?? $day; + $previousDay = $availableDates[$nbAvailableDates - 2] ?? ''; + } else { + $previousDay = $availableDates[$index - 1] ?? ''; + $nextDay = $availableDates[$index + 1] ?? ''; } if ($day === date('Ymd')) { @@ -42,15 +45,6 @@ class DailyController extends ShaarliController $this->assignView('dayDesc', t('Yesterday')); } - if ($index !== false) { - if ($index >= 1) { - $previousDay = $availableDates[$index - 1]; - } - if ($index < $nbAvailableDates - 1) { - $nextDay = $availableDates[$index + 1]; - } - } - try { $linksToDisplay = $this->container->bookmarkService->filterDay($day); } catch (\Exception $exc) { diff --git a/tests/front/controller/DailyControllerTest.php b/tests/front/controller/DailyControllerTest.php index bb453d5b..2714bfd9 100644 --- a/tests/front/controller/DailyControllerTest.php +++ b/tests/front/controller/DailyControllerTest.php @@ -112,6 +112,8 @@ class DailyControllerTest extends TestCase 'Daily - '. format_date($currentDay, false, true) .' - Shaarli', $assignedVariables['pagetitle'] ); + static::assertEquals($currentDay, $assignedVariables['dayDate']); + static::assertEquals($currentDay->getTimestamp(), $assignedVariables['day']); static::assertCount(3, $assignedVariables['linksToDisplay']); $link = $assignedVariables['linksToDisplay'][0]; @@ -358,6 +360,8 @@ class DailyControllerTest extends TestCase static::assertSame('daily', (string) $result->getBody()); static::assertCount(0, $assignedVariables['linksToDisplay']); static::assertSame('Today', $assignedVariables['dayDesc']); + static::assertEquals((new \DateTime())->setTime(0, 0)->getTimestamp(), $assignedVariables['day']); + static::assertEquals((new \DateTime())->setTime(0, 0), $assignedVariables['dayDate']); } protected function createValidContainerMockSet(): void