FormFieldTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 177
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 121
c 1
b 0
f 0
dl 0
loc 177
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A testAddSingleClass() 0 38 1
A testRemoveSingleClass() 0 45 1
A testRemoveMultipleClass() 0 45 1
A testAddMultipleClasses() 0 38 1
1
<?php
2
3
namespace AntonyThorpe\FormFieldAdditionalClasses\Tests;
4
5
use SilverStripe\Dev\SapphireTest;
6
use SilverStripe\Forms\FormField;
7
8
/**
9
 * FormFieldTest
10
 */
11
class FormFieldTest extends SapphireTest
12
{
13
    public function testAddSingleClass()
14
    {
15
        $field = FormField::create('Example', 'Example')
16
            ->addHolderClass('single-holder')
17
            ->addHolderValidationMessageClass('single-holder-validation-message')
18
            ->addHolderDescriptionClass('description single-holder-description')
19
            ->addLeftLabelClass('left single-left-label')
20
            ->addRightLabelClass('right single-right-label')
21
            ->addMiddleColumnClass('middleColumn single-middle-column');
22
23
        $this->assertEquals(
24
            'message single-holder-validation-message',
25
            $field->getHolderValidationMessageClass(),
26
            'Holder Validation Message class is added'
27
        );
28
29
        $this->assertEquals(
30
            'description single-holder-description',
31
            $field->getHolderDescriptionClass(),
32
            'Holder Discription class is added'
33
        );
34
35
        $this->assertEquals(
36
            'left single-left-label',
37
            $field->getLeftLabelClass(),
38
            'left single-left-label class is added'
39
        );
40
41
        $this->assertEquals(
42
            'right single-right-label',
43
            $field->getRightLabelClass(),
44
            'Right Label class is added'
45
        );
46
47
        $this->assertEquals(
48
            'middleColumn single-middle-column',
49
            $field->getMiddleColumnClass(),
50
            'Middle Column class is added'
51
        );
52
    }
53
54
    public function testAddMultipleClasses()
55
    {
56
        $field = FormField::create('Example', 'Example')
57
            ->addHolderClass('single-holder second-holder')
58
            ->addHolderValidationMessageClass('single-holder-validation-message second-holder-validation-message')
59
            ->addHolderDescriptionClass('description single-holder-description second-holder-description')
60
            ->addLeftLabelClass('left single-left-label second-left-label')
61
            ->addRightLabelClass('right single-right-label second-right-label')
62
            ->addMiddleColumnClass('middleColumn single-middle-column second-middle-column');
63
64
        $this->assertEquals(
65
            'message single-holder-validation-message second-holder-validation-message',
66
            $field->getHolderValidationMessageClass(),
67
            'Holder Validation Message classes have been added'
68
        );
69
70
        $this->assertEquals(
71
            'description single-holder-description second-holder-description',
72
            $field->getHolderDescriptionClass(),
73
            'Holder Description classes have been added'
74
        );
75
76
        $this->assertEquals(
77
            'left single-left-label second-left-label',
78
            $field->getLeftLabelClass(),
79
            'Left Label classes have been added'
80
        );
81
82
        $this->assertEquals(
83
            'right single-right-label second-right-label',
84
            $field->getRightLabelClass(),
85
            'Right Label classes have been added'
86
        );
87
88
        $this->assertEquals(
89
            'middleColumn single-middle-column second-middle-column',
90
            $field->getMiddleColumnClass(),
91
            'Middle Column classes have been added'
92
        );
93
    }
94
95
    public function testRemoveSingleClass()
96
    {
97
        $field = FormField::create('Example', 'Example')
98
            ->addHolderClass('single-holder second-holder')
99
            ->addHolderValidationMessageClass('single-holder-validation-message second-holder-validation-message')
100
            ->addHolderDescriptionClass('description single-holder-description second-holder-description')
101
            ->addLeftLabelClass('left single-left-label second-left-label')
102
            ->addRightLabelClass('right single-right-label second-right-label')
103
            ->addMiddleColumnClass('middleColumn single-middle-column second-middle-column');
104
105
        $field->removeHolderClass('second-holder')
106
            ->removeHolderValidationMessageClass('second-holder-validation-message')
107
            ->removeHolderDescriptionClass('second-holder-description')
108
            ->removeLeftLabelClass('second-left-label')
109
            ->removeRightLabelClass('second-right-label')
110
            ->removeMiddleColumnClass('second-middle-column');
111
112
        $this->assertEquals(
113
            'message single-holder-validation-message',
114
            $field->getHolderValidationMessageClass(),
115
            'single-holder-validation-message class remains'
116
        );
117
118
        $this->assertEquals(
119
            'description single-holder-description',
120
            $field->getHolderDescriptionClass(),
121
            'description single-holder-description class remains'
122
        );
123
124
        $this->assertEquals(
125
            'left single-left-label',
126
            $field->getLeftLabelClass(),
127
            'left single-left-label class remains'
128
        );
129
130
        $this->assertEquals(
131
            'right single-right-label',
132
            $field->getRightLabelClass(),
133
            'right single-right-label class remains'
134
        );
135
136
        $this->assertEquals(
137
            'middleColumn single-middle-column',
138
            $field->getMiddleColumnClass(),
139
            'middleColumn single-middle-column class remains'
140
        );
141
    }
142
143
    public function testRemoveMultipleClass()
144
    {
145
        $field = FormField::create('Example', 'Example')
146
            ->addHolderClass('single-holder second-holder second-holder third-holder')
147
            ->addHolderValidationMessageClass('single-holder-validation-message second-holder-validation-message third-holder-validation-message')
148
            ->addHolderDescriptionClass('description single-holder-description second-holder-description third-holder-description')
149
            ->addLeftLabelClass('left single-left-label second-left-label third-left-label')
150
            ->addRightLabelClass('right single-right-label second-right-label third-right-label')
151
            ->addMiddleColumnClass('middleColumn single-middle-column second-middle-column third-middle-column');
152
153
        $field->removeHolderClass('second-holder third-holder')
154
            ->removeHolderValidationMessageClass('second-holder-validation-message third-holder-validation-message')
155
            ->removeHolderDescriptionClass('second-holder-description third-holder-description')
156
            ->removeLeftLabelClass('second-left-label third-left-label')
157
            ->removeRightLabelClass('second-right-label third-right-label')
158
            ->removeMiddleColumnClass('second-middle-column third-middle-column');
159
160
        $this->assertEquals(
161
            'message single-holder-validation-message',
162
            $field->getHolderValidationMessageClass(),
163
            'single-holder-validation-message class remains'
164
        );
165
166
        $this->assertEquals(
167
            'description single-holder-description',
168
            $field->getHolderDescriptionClass(),
169
            'description single-holder-description class remains'
170
        );
171
172
        $this->assertEquals(
173
            'left single-left-label',
174
            $field->getLeftLabelClass(),
175
            'left single-left-label class remains'
176
        );
177
178
        $this->assertEquals(
179
            'right single-right-label',
180
            $field->getRightLabelClass(),
181
            'right single-right-label class remains'
182
        );
183
184
        $this->assertEquals(
185
            'middleColumn single-middle-column',
186
            $field->getMiddleColumnClass(),
187
            'middleColumn single-middle-column class remains'
188
        );
189
    }
190
}
191