Completed
Push — master ( c1adf5...002a39 )
by Alex
02:26
created

TwigExtensionSetTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Importance

Changes 0
Metric Value
wmc 3
c 0
b 0
f 0
lcom 0
cbo 3
dl 0
loc 33
rs 10
1
<?php
2
3
namespace Asmaster\EquipTwig\Tests\Configuration;
4
5
use Asmaster\EquipTwig\Configuration\TwigExtensionSet;
6
use Asmaster\EquipTwig\Exception\ExtensionException;
7
use Auryn\Injector;
8
use Equip\Configuration\ConfigurationInterface;
9
use Equip\Structure\Set;
10
use PHPUnit_Framework_TestCase as TestCase;
11
use Twig_Environment as TwigEnvironment;
12
use Twig_Extension_Debug as TwigExtensionDebug;
13
14
class TwigExtensionSetTest extends TestCase
15
{
16
    public function testSet()
17
    {
18
        $defaultExtension = new TwigExtensionSet();
19
20
        $this->assertInstanceOf(TwigExtensionSet::class, $defaultExtension);
21
        $this->assertInstanceOf(Set::class, $defaultExtension);
22
        $this->assertInstanceOf(ConfigurationInterface::class, $defaultExtension);
23
    }
24
25
    public function testApply()
26
    {
27
        $injector = new Injector();
28
        $injector->define(TwigEnvironment::class, [
29
            ':options' => ['debug' => true]
30
        ]);
31
32
        $extensionSet = new TwigExtensionSet();
33
        $extensionSet->apply($injector);
34
35
        $twig = $injector->make(TwigEnvironment::class);
36
37
        $this->assertArrayHasKey('debug', $twig->getExtensions());
38
    }
39
40
    public function testInvalidExtension()
41
    {
42
        $this->expectException(ExtensionException::class);
43
44
        new TwigExtensionSet([new \stdClass]);
45
    }
46
}
47