$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')) {
$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) {
'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];
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