Completed
Pull Request — 1.2 (#12)
by David
05:26
created

ChainRendererTest::testFind()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 48

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 48
rs 9.1344
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Mouf\Html\Renderer;
4
5
use Mouf\Html\Renderer\Fixtures\Foo;
6
use PHPUnit\Framework\TestCase;
7
use Simplex\Container;
8
use Symfony\Component\Cache\Simple\ArrayCache;
9
10
class ChainRendererTest extends TestCase
11
{
12
    public function testFind()
13
    {
14
        $container = new Container();
15
16
        $container->set('customRenderer1', function() use ($container) {
17
            return new FileBasedRenderer(
18
                'tests/customTemplates',
19
                new ArrayCache(),
20
                $container
21
            );
22
        });
23
        $container->set('packageRenderer1', function() use ($container) {
24
            return new FileBasedRenderer(
25
                'tests/templates',
26
                new ArrayCache(),
27
                $container
28
            );
29
        });
30
        $container->set('templateRenderer', function() use ($container) {
31
            return new FileBasedRenderer(
32
                'tests/templateTemplates',
33
                new ArrayCache(),
34
                $container
35
            );
36
        });
37
38
        $chainRenderer = new ChainRenderer($container, ['customRenderer1'], ['packageRenderer1'], new ArrayCache(), 'uniqueName');
39
40
        ob_start();
41
        $chainRenderer->render(new Foo());
42
        $html = ob_get_clean();
43
        $this->assertSame('Foo', $html);
44
45
        // Same test, for cache testing
46
        ob_start();
47
        $chainRenderer->render(new Foo());
48
        $html = ob_get_clean();
49
        $this->assertSame('Foo', $html);
50
51
        $chainRenderer->setTemplateRendererInstanceName('templateRenderer');
52
53
        ob_start();
54
        $chainRenderer->render(new Foo());
55
        $html = ob_get_clean();
56
        $this->assertSame('FooTemplate', $html);
57
58
59
    }
60
}
61