Completed
Push — 3.x ( 3d5935...36902d )
by Jordi Sala
02:59
created

TwigStringExtensionCompilerPassTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 5
dl 0
loc 26
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testLoadTwigStringExtension() 0 6 1
A testLoadTwigStringExtensionWithExtraBundle() 0 10 1
A registerCompilerPass() 0 5 1
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * This file is part of the Sonata Project package.
7
 *
8
 * (c) Thomas Rabaix <[email protected]>
9
 *
10
 * For the full copyright and license information, please view the LICENSE
11
 * file that was distributed with this source code.
12
 */
13
14
namespace Sonata\AdminBundle\Tests\DependencyInjection\Compiler;
15
16
use Matthias\SymfonyDependencyInjectionTest\PhpUnit\AbstractCompilerPassTestCase;
17
use Sonata\AdminBundle\DependencyInjection\Compiler\TwigStringExtensionCompilerPass;
18
use Symfony\Bundle\TwigBundle\DependencyInjection\Compiler\TwigEnvironmentPass;
19
use Symfony\Component\DependencyInjection\ContainerBuilder;
20
use Symfony\Component\DependencyInjection\Definition;
21
use Twig\Extra\String\StringExtension;
22
23
class TwigStringExtensionCompilerPassTest extends AbstractCompilerPassTestCase
24
{
25
    public function testLoadTwigStringExtension(): void
26
    {
27
        $this->compile();
28
29
        $this->assertContainerBuilderHasServiceDefinitionWithTag(StringExtension::class, 'twig.extension');
30
    }
31
32
    public function testLoadTwigStringExtensionWithExtraBundle(): void
33
    {
34
        $definition = new Definition(StringExtension::class);
35
        $definition->addTag('twig.extension');
36
        $this->container->setDefinition('twig.extension.string', $definition);
37
        $this->compile();
38
39
        $this->assertContainerBuilderHasServiceDefinitionWithTag('twig.extension.string', 'twig.extension');
40
        $this->assertContainerBuilderNotHasService(StringExtension::class);
41
    }
42
43
    protected function registerCompilerPass(ContainerBuilder $container): void
44
    {
45
        $container->addCompilerPass(new TwigEnvironmentPass());
46
        $container->addCompilerPass(new TwigStringExtensionCompilerPass());
47
    }
48
}
49