From c3e4dec108f03dae6c293b261b923c67a71e7de2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C5=A0pa=C4=8Dek?= Date: Wed, 23 Aug 2023 00:48:06 +0200 Subject: [PATCH] Use first class callable syntax to let Psalm know these are used --- site/app/Templating/Filters.php | 14 +++++++------- site/tests/Templating/TemplateFactoryTest.phpt | 6 ++++++ 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/site/app/Templating/Filters.php b/site/app/Templating/Filters.php index 7a56b20f2..2bac6b8bf 100644 --- a/site/app/Templating/Filters.php +++ b/site/app/Templating/Filters.php @@ -24,13 +24,13 @@ public function __construct( public function getAll(): array { return [ - 'staticUrl' => [$this, 'staticUrl'], - 'staticImageUrl' => [$this, 'staticImageUrl'], - 'format' => [$this, 'format'], - 'localeDay' => [$this->dateTimeFormatter, 'localeDay'], - 'localeMonth' => [$this->dateTimeFormatter, 'localeMonth'], - 'localeIntervalDay' => [$this->dateTimeFormatter, 'localeIntervalDay'], - 'localeIntervalMonth' => [$this->dateTimeFormatter, 'localeIntervalMonth'], + 'staticUrl' => $this->staticUrl(...), + 'staticImageUrl' => $this->staticImageUrl(...), + 'format' => $this->format(...), + 'localeDay' => $this->dateTimeFormatter->localeDay(...), + 'localeMonth' => $this->dateTimeFormatter->localeMonth(...), + 'localeIntervalDay' => $this->dateTimeFormatter->localeIntervalDay(...), + 'localeIntervalMonth' => $this->dateTimeFormatter->localeIntervalMonth(...), ]; } diff --git a/site/tests/Templating/TemplateFactoryTest.phpt b/site/tests/Templating/TemplateFactoryTest.phpt index e0aeefcaf..85452d7d8 100644 --- a/site/tests/Templating/TemplateFactoryTest.phpt +++ b/site/tests/Templating/TemplateFactoryTest.phpt @@ -4,6 +4,7 @@ declare(strict_types = 1); namespace MichalSpacekCz\Templating; +use DateTimeImmutable; use MichalSpacekCz\Templating\Exceptions\WrongTemplateClassException; use MichalSpacekCz\Test\TestCaseRunner; use Nette\Bridges\ApplicationLatte\DefaultTemplate; @@ -12,6 +13,7 @@ use Nette\Bridges\ApplicationLatte\Template; use Nette\InvalidArgumentException; use Spaze\NonceGenerator\Nonce; use Tester\Assert; +use Tester\FileMock; use Tester\TestCase; require __DIR__ . '/../bootstrap.php'; @@ -30,11 +32,15 @@ class TemplateFactoryTest extends TestCase public function testCreateTemplate(): void { + $file = FileMock::create('{="/foo.png"|staticUrl}, {="/bar.png"|staticImageUrl}, {="**baz**"|format}, {$start|localeDay}, {$start|localeMonth}, {$start|localeIntervalDay:$end}, {$start|localeIntervalMonth:$end}'); $template = $this->templateFactory->createTemplate(); + $template->start = new DateTimeImmutable('2023-08-23'); + $template->end = new DateTimeImmutable('2023-09-03'); Assert::type(DefaultTemplate::class, $template); $providers = $template->getLatte()->getProviders(); Assert::hasKey('uiNonce', $providers); Assert::same($this->nonce->getValue(), $providers['uiNonce']); + Assert::same('https://www.domain.example/foo.png, https://www.domain.example/i/images/bar.png, baz, 23. srpna 2023, srpen 2023, 23. srpna – 3. září 2023, srpen–září 2023', $template->renderToString($file)); }