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

TwigExtensionSetTest::testInvalidExtension()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 6
rs 9.4285
cc 1
eloc 3
nc 1
nop 0
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