Skip to content

Commit dd88ecc

Browse files
authored
Merge pull request #2 from weaverryan/fixing-twig-test
Fixing Twig test
2 parents b21595e + b220986 commit dd88ecc

File tree

3 files changed

+31
-20
lines changed

3 files changed

+31
-20
lines changed

src/LiveComponent/tests/Fixtures/Kernel.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
use Symfony\UX\TwigComponent\TwigComponentBundle;
2727
use Twig\Environment;
2828
use Zenstruck\Foundry\ZenstruckFoundryBundle;
29+
use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
2930

3031
/**
3132
* @author Kevin Bond <[email protected]>
@@ -112,6 +113,8 @@ protected function configureContainer(ContainerConfigurator $c): void
112113
->set(MoneyNormalizer::class)->autoconfigure()->autowire()
113114
->set(Entity2Normalizer::class)->autoconfigure()->autowire()
114115
->load(__NAMESPACE__.'\\Component\\', __DIR__.'/Component')
116+
->set(TestingDeterministicIdTwigExtension::class)
117+
->args([service('ux.live_component.deterministic_id_calculator')])
115118
;
116119
}
117120

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
namespace Symfony\UX\LiveComponent\Tests\Fixtures;
4+
5+
use Symfony\UX\LiveComponent\Twig\DeterministicTwigIdCalculator;
6+
use Twig\Extension\AbstractExtension;
7+
use Twig\TwigFunction;
8+
9+
class TestingDeterministicIdTwigExtension extends AbstractExtension
10+
{
11+
public function __construct(private DeterministicTwigIdCalculator $deterministicIdCalculator)
12+
{
13+
}
14+
15+
public function getFunctions(): array
16+
{
17+
return [
18+
new TwigFunction('get_id_for_test', [$this, 'getIdForTest']),
19+
];
20+
}
21+
22+
public function getIdForTest(): string
23+
{
24+
return $this->deterministicIdCalculator->calculateDeterministicId();
25+
}
26+
}

src/LiveComponent/tests/Integration/Twig/DeterministicTwigIdCalculatorTest.php

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,28 +21,10 @@ final class DeterministicTwigIdCalculatorTest extends KernelTestCase
2121
{
2222
public function testReturnsDeterministicId(): void
2323
{
24-
$deterministicIdCalculator = new DeterministicTwigIdCalculator();
25-
$twigExtension = new class($deterministicIdCalculator) extends AbstractExtension {
26-
public function __construct(private DeterministicTwigIdCalculator $deterministicIdCalculator)
27-
{
28-
}
29-
30-
public function getFunctions(): array
31-
{
32-
return [
33-
new TwigFunction('get_id_for_test', [$this, 'getIdForTest']),
34-
];
35-
}
36-
37-
public function getIdForTest(): string
38-
{
39-
return $this->deterministicIdCalculator->calculateDeterministicId();
40-
}
41-
};
42-
4324
/** @var Environment $twig */
4425
$twig = self::getContainer()->get('twig');
45-
$twig->addExtension($twigExtension);
26+
/** @var DeterministicTwigIdCalculator $deterministicIdCalculator */
27+
$deterministicIdCalculator = self::getContainer()->get('ux.live_component.deterministic_id_calculator');
4628

4729
$rendered = $twig->render('deterministic_id.html.twig');
4830
$this->assertStringContainsString('Deterministic Id Line1-1: "live-3860148629-0"', $rendered);

0 commit comments

Comments
 (0)