]> git.immae.eu Git - github/shaarli/Shaarli.git/commitdiff
Slim daily: minor bugfix with empty data
authorArthurHoaro <arthur@hoa.ro>
Sun, 17 May 2020 09:29:17 +0000 (11:29 +0200)
committerArthurHoaro <arthur@hoa.ro>
Thu, 23 Jul 2020 19:19:21 +0000 (21:19 +0200)
application/front/controllers/DailyController.php
tests/front/controller/DailyControllerTest.php

index c2fdaa559646d53a551d2fc754f4bca4026ec12c..271c0ee25147e80db2286e2a9714af2fc2431281 100644 (file)
@@ -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) {
index bb453d5ba0452372ce5c54e4f1e7ba5540345598..2714bfd9e1c44d37281384d4c2938a8d62eaa57d 100644 (file)
@@ -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