Completed
Push — master ( 79393d...66e031 )
by Shcherbak
03:26
created

HiddenTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 53
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Importance

Changes 2
Bugs 1 Features 0
Metric Value
wmc 4
c 2
b 1
f 0
lcom 1
cbo 4
dl 0
loc 53
rs 10
1
<?php
2
3
  namespace Tests\Fiv\Form\Element;
4
5
  use Fiv\Form\Element\Input;
6
  use Fiv\Form\Filter\CallbackFilter;
7
  use Fiv\Form\Form;
8
9
  /**
10
   * @package Tests\Form\Form
11
   */
12
  class HiddenTest extends \PHPUnit_Framework_TestCase {
13
14
    /**
15
     * @return \Fiv\Form\Element\Input
16
     */
17
    protected function getElement() {
18
      $form = new Form();
19
      return $form->hidden('test');
20
    }
21
22
23
    public function testRender() {
24
      $element = $this->getElement();
25
26
      $this->assertContains('hidden', (string) $element);
27
    }
28
29
30
    public function testAttributes() {
31
32
      $element = $this->getElement();
33
34
      $this->assertEquals('test', $element->getName());
35
      $this->assertEmpty($element->getClass());
36
37
      $element->setClass('hidden_class');
38
      $this->assertEquals('hidden_class', $element->getClass());
39
40
      $element->setAttribute('data-id', 'custom-id');
41
      $this->assertEquals('custom-id', $element->getAttribute('data-id'));
42
43
      $element->removeAttribute('data-id');
44
      $this->assertEquals(null, $element->getAttribute('data-id'));
45
46
    }
47
48
49
    public function testValueWithSlashes() {
50
51
      $input = new Input();
52
      $input->setName('test');
53
      $input->setType('hidden');
54
      $value = ' 123"234 \' 44 ';
55
56
      $input->addFilter(new CallbackFilter('trim'));
57
58
      $input->setValue($value);
59
60
      $this->assertContains('<input type="hidden" name="test" value="123&quot;234 &#039; 44"', $input->render());
61
62
    }
63
64
  }