Completed
Push — master ( d11b01...1c170b )
by Daniel
17:01 queued 13:33
created

TwigRendererTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 52
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 6

Importance

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

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 9 1
A testRender() 0 13 1
A testRenderRecursive() 0 17 1
1
<?php
2
3
namespace Psi\Bridge\ContentType\Twig\Tests\Functional;
4
5
use Psi\Bridge\ContentType\Twig\ContentTypeExtension;
6
use Psi\Bridge\ContentType\Twig\TwigRenderer;
7
use Psi\Component\ContentType\View\View;
8
9
class TwigRendererTest extends \PHPUnit_Framework_TestCase
10
{
11
    private $renderer;
12
13
    public function setUp()
14
    {
15
        $twig = new \Twig_Environment(new \Twig_Loader_Filesystem(__DIR__ . '/templates'), [
16
            'debug' => true,
17
            'strict_variables' => true,
18
        ]);
19
        $this->renderer = new TwigRenderer($twig);
20
        $twig->addExtension(new ContentTypeExtension($this->renderer));
21
    }
22
23
    /**
24
     * It should renderer a view.
25
     */
26
    public function testRender()
27
    {
28
        $view = new View('psi/test');
29
        $view['foobar'] = 'hello';
30
        $view->setValue('boo');
31
        $output = $this->renderer->render($view);
32
        $this->assertEquals(<<<'EOT'
33
hello
34
boo
35
36
EOT
37
, $output);
38
    }
39
40
    /**
41
     * It should be able to recursively render a view.
42
     */
43
    public function testRenderRecursive()
44
    {
45
        $view = new View('psi/recurse');
46
        $view['hello'] = 'goodbye';
47
        $view['foobar'] = new View('psi/test');
48
        $view['foobar']['foobar'] = 'hello';
49
        $view['foobar']->setValue('boo');
50
        $output = $this->renderer->render($view);
51
        $this->assertEquals(<<<'EOT'
52
goodbye
53
hello
54
boo
55
56
57
EOT
58
, $output);
59
    }
60
}
61