RadioGroupTest::generateTestRenderer()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 3
Bugs 0 Features 3
Metric Value
eloc 4
dl 0
loc 7
rs 10
c 3
b 0
f 3
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Nip\Form\Tests\Renderer\Elements;
4
5
use Nip\Form\Tests\AbstractTest;
6
7
/**
8
 * Class RadioGroupTest
9
 * @package Nip\Form\Tests\Renderer\Elements
10
 */
11
class RadioGroupTest extends AbstractTest
12
{
13
    public function testRenderEmptyElement()
14
    {
15
        $renderer = $this->generateTestRenderer();
16
        $html = $renderer->render();
17
18
        self::assertSame('', $html);
19
    }
20
21
    public function testRenderSimpleElement()
22
    {
23
        $renderer = $this->generateTestRenderer();
24
        $renderer->getElement()->addOption('123', 'Age');
25
        $renderer->getElement()->addOption('789', 'Height');
26
        $html = $renderer->render();
27
28
        self::assertSame(
29
            '<div class="form-check">'
30
            . '<label class="form-check-label">'
31
            . '<input  type="radio" name="" value="123" checked="checked" class="form-check-input " title="Age" />'
32
            . 'Age'
33
            . '</label>'
34
            . '</div><br />'
35
            . '<div class="form-check">'
36
            . '<label class="form-check-label">'
37
            . '<input  type="radio" name="" value="789" class="form-check-input " title="Height" />'
38
            . 'Height'
39
            . '</label>'
40
            . '</div>',
41
            $html
42
        );
43
    }
44
45
    public function testRenderAutoSelectFirstFalse()
46
    {
47
        $renderer = $this->generateTestRenderer();
48
        $renderer->getElement()->autoSelectFirst(false);
49
        $renderer->getElement()->addOption('123', 'Age');
50
        $renderer->getElement()->addOption('789', 'Height');
51
        $html = $renderer->render();
52
53
        self::assertSame(
54
            '<div class="form-check">'
55
            . '<label class="form-check-label">'
56
            . '<input  type="radio" name="" value="123" class="form-check-input " title="Age" />'
57
            . 'Age'
58
            . '</label>'
59
            . '</div><br />'
60
            . '<div class="form-check">'
61
            . '<label class="form-check-label">'
62
            . '<input  type="radio" name="" value="789" class="form-check-input " title="Height" />'
63
            . 'Height'
64
            . '</label>'
65
            . '</div>',
66
            $html
67
        );
68
        self::assertSame(null, $renderer->getElement()->getValue());
69
    }
70
71
    /**
72
     * @return \Nip_Form_Renderer_Elements_RadioGroup
73
     */
74
    protected function generateTestRenderer()
75
    {
76
        $input = new \Nip_Form_Element_RadioGroup(new \Nip\Form\Form());
77
        $render = new \Nip_Form_Renderer_Elements_RadioGroup();
78
        $render->setElement($input);
79
80
        return $render;
81
    }
82
}
83