diff --git a/site/app/Templating/Filters.php b/site/app/Templating/Filters.php index 13ea50bb0..3f888e9bc 100644 --- a/site/app/Templating/Filters.php +++ b/site/app/Templating/Filters.php @@ -23,13 +23,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 f99325324..38148b2cb 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 Nette\Bridges\ApplicationLatte\DefaultTemplate; use Nette\Bridges\ApplicationLatte\LatteFactory; @@ -11,6 +12,7 @@ use Nette\Bridges\ApplicationLatte\Template; use Nette\InvalidArgumentException; use Spaze\NonceGenerator\Nonce; use Tester\Assert; +use Tester\FileMock; use Tester\TestCase; $runner = require __DIR__ . '/../bootstrap.php'; @@ -29,11 +31,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)); }