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

TwigDefaultExtensionTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 3
c 0
b 0
f 0
lcom 1
cbo 2
dl 0
loc 26
rs 10
1
<?php
2
3
namespace Asmaster\EquipTwig\Tests\Configuration;
4
5
use Asmaster\EquipTwig\Configuration\TwigDefaultExtension;
6
use Asmaster\EquipTwig\Configuration\TwigExtensionSet;
7
use Asmaster\EquipTwig\Extension\SessionExtension;
8
use Asmaster\EquipTwig\Tests\Asset\EmptyInterface;
9
use Equip\Configuration\ConfigurationInterface;
10
use Equip\SessionInterface;
11
use Equip\Structure\Set;
12
use PHPUnit_Framework_TestCase as TestCase;
13
14
class TwigDefaultExtensionTest extends TestCase
15
{
16
    public function testDefaultExtension()
17
    {
18
        $this->defineInterface(SessionInterface::class);
19
20
        $defaults = [
21
            SessionExtension::class
22
        ];
23
24
        $extensions = new TwigDefaultExtension();
25
26
        $this->assertSame($defaults, $extensions->toArray());
27
        $this->assertInstanceOf(TwigDefaultExtension::class, $extensions);
28
        $this->assertInstanceOf(TwigExtensionSet::class, $extensions);
29
        $this->assertInstanceOf(Set::class, $extensions);
30
        $this->assertInstanceOf(ConfigurationInterface::class, $extensions);
31
    }
32
33
    protected function defineInterface($interface)
34
    {
35
        if (!interface_exists($interface)) {
36
            class_alias(EmptyInterface::class, $interface);
37
        }
38
    }
39
}
40