MultiElementTest   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
wmc 3
eloc 23
dl 0
loc 44
rs 10
c 2
b 0
f 1

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testRenderEmptyElement() 0 6 1
A testRenderSimpleElement() 0 17 1
A generateTestRenderer() 0 11 1
1
<?php
2
3
namespace Nip\Form\Tests\Renderer\Elements;
4
5
use Nip\Form\Tests\AbstractTest;
6
use Nip_Form_Renderer_Elements_MultiElement as MultiElementRenderer;
7
8
/**
9
 * Class MultiElementTest
10
 * @package Nip\Form\Tests\Renderer\Elements
11
 */
12
class MultiElementTest extends AbstractTest
13
{
14
    public function testRenderEmptyElement()
15
    {
16
        $renderer = $this->generateTestRenderer();
17
        $html = $renderer->render();
18
19
        self::assertSame('', $html);
20
    }
21
22
    public function testRenderSimpleElement()
23
    {
24
        $renderer = $this->generateTestRenderer();
25
        $form = $renderer->getElement()->getForm();
26
27
        $subInput = $form->getNewElement('input');
28
        $subInput->setName('sub-input');
29
        $renderer->getElement()->addElement($subInput);
30
31
        $html = $renderer->render();
32
33
        self::assertSame(
34
            '<div style="display: flex;flex-direction: row;"><div style="display: flex;flex-direction: column;flex-basis: 100%;flex: 1;padding-right: 20px;">'
35
            . '<label class="">:</label>'
36
            . '<input  type="text" name="multi[sub-input]" class="form-control " title="" />'
37
            . '</div></div>',
38
            $html
39
        );
40
    }
41
42
    /**
43
     * @return MultiElementRenderer
44
     */
45
    protected function generateTestRenderer()
46
    {
47
        $form = new \Nip\Form\Form();
48
        $input = new \Nip_Form_Element_MultiElement($form);
49
        $input->setName('multi');
50
        $input->setLabel('Multi element');
51
52
        $render = new MultiElementRenderer();
53
        $render->setElement($input);
54
55
        return $render;
56
    }
57
}
58