ILIAS  release_7 Revision v7.30-3-g800a261c036
FieldFactoryTest.php
Go to the documentation of this file.
1<?php
2
3require_once 'tests/UI/AbstractFactoryTest.php';
4
5use \ILIAS\UI\Component\Input\Field;
7use \ILIAS\Data;
9
11{
13 "text" => array(
14 "context" => false,
15 ),
16 "numeric" => array(
17 "context" => false,
18 ),
19 "group" => array(
20 "context" => false,
21 ),
22 "section" => array(
23 "context" => false,
24 ),
25 "optionalGroup" => array(
26 "context" => false,
27 ),
28 "switchableGroup" => array(
29 "context" => false,
30 ),
31 "checkbox" => array(
32 "context" => false,
33 ),
34 "select" => array(
35 "context" => false,
36 ),
37 "textarea" => array(
38 "context" => false,
39 ),
40 "radio" => array(
41 "context" => false,
42 ),
43 "multiSelect" => array(
44 "context" => false,
45 )
46 );
47 public $factory_title = 'ILIAS\\UI\\Component\\Input\\Field\\Factory';
48
49
50 final public function buildFactory()
51 {
52 $df = new Data\Factory();
53 $language = $this->createMock(\ilLanguage::class);
54 return new \ILIAS\UI\Implementation\Component\Input\Field\Factory(
55 new SignalGenerator(),
56 $df,
57 new \ILIAS\Refinery\Factory($df, $language),
58 $language
59 );
60 }
61
63 {
64 $f = $this->buildFactory();
65
66 $input = $f->text("label", "byline");
67 $this->assertInstanceOf(Field\Input::class, $input);
68 $this->assertInstanceOf(Field\Text::class, $input);
69 }
70
72 {
73 $f = $this->buildFactory();
74
75 $input = $f->numeric("label", "byline");
76 $this->assertInstanceOf(Field\Input::class, $input);
77 $this->assertInstanceOf(Field\Numeric::class, $input);
78 }
79
81 {
82 $f = $this->buildFactory();
83
84 $input = $f->section([], "label", "byline");
85 $this->assertInstanceOf(Field\Input::class, $input);
86 $this->assertInstanceOf(Field\Group::class, $input);
87 $this->assertInstanceOf(Field\Section::class, $input);
88 }
89
91 {
92 $f = $this->buildFactory();
93
94 $input = $f->group([]);
95 $this->assertInstanceOf(Field\Input::class, $input);
96 $this->assertInstanceOf(Field\Group::class, $input);
97 }
98
100 {
101 $f = $this->buildFactory();
102
103 $input = $f->checkbox("label", "byline");
104 $this->assertInstanceOf(Field\Input::class, $input);
105 $this->assertInstanceOf(Field\Checkbox::class, $input);
106 }
107
109 {
110 $f = $this->buildFactory();
111
112 $input = $f->tag("label", [], "byline");
113 $this->assertInstanceOf(Field\Input::class, $input);
114 $this->assertInstanceOf(Field\Tag::class, $input);
115 }
116
118 {
119 $f = $this->buildFactory();
120
121 $input = $f->password("label", "byline");
122 $this->assertInstanceOf(Field\Input::class, $input);
123 $this->assertInstanceOf(Field\Password::class, $input);
124 }
125
127 {
128 $f = $this->buildFactory();
129
130 $input = $f->select("label", [], "byline");
131 $this->assertInstanceOf(Field\Input::class, $input);
132 $this->assertInstanceOf(Field\Select::class, $input);
133 }
134
136 {
137 $f = $this->buildFactory();
138
139 $input = $f->textarea("label", "byline");
140 $this->assertInstanceOf(Field\Input::class, $input);
141 $this->assertInstanceOf(Field\Textarea::class, $input);
142 }
143
145 {
146 $f = $this->buildFactory();
147
148 $input = $f->radio("label", "byline");
149 $this->assertInstanceOf(Field\Input::class, $input);
150 $this->assertInstanceOf(Field\Radio::class, $input);
151 }
152
154 {
155 $f = $this->buildFactory();
156
157 $input = $f->multiSelect("label", [], "byline");
158 $this->assertInstanceOf(Field\Input::class, $input);
159 $this->assertInstanceOf(Field\MultiSelect::class, $input);
160 }
161
163 {
164 $f = $this->buildFactory();
165
166 $input = $f->datetime("label", "byline");
167 $this->assertInstanceOf(Field\Input::class, $input);
168 }
169
171 {
172 $f = $this->buildFactory();
173
174 $input = $f->duration("label", "byline");
175 $this->assertInstanceOf(Field\Input::class, $input);
176 $this->assertInstanceOf(Field\Group::class, $input);
177 }
178
180 {
181 $f = $this->buildFactory();
182
183 $input = $f->text("label");
184 $this->assertInstanceOf(Field\Input::class, $input);
185 $this->assertInstanceOf(Field\Text::class, $input);
186
187 $input = $f->numeric("label");
188 $this->assertInstanceOf(Field\Input::class, $input);
189 $this->assertInstanceOf(Field\Numeric::class, $input);
190
191 $input = $f->section([], "label");
192 $this->assertInstanceOf(Field\Input::class, $input);
193 $this->assertInstanceOf(Field\Group::class, $input);
194 $this->assertInstanceOf(Field\Section::class, $input);
195
196 $input = $f->checkbox("label");
197 $this->assertInstanceOf(Field\Input::class, $input);
198 $this->assertInstanceOf(Field\Checkbox::class, $input);
199
200 $input = $f->tag("label", []);
201 $this->assertInstanceOf(Field\Input::class, $input);
202 $this->assertInstanceOf(Field\Tag::class, $input);
203
204 $input = $f->password("label");
205 $this->assertInstanceOf(Field\Input::class, $input);
206 $this->assertInstanceOf(Field\Password::class, $input);
207
208 $input = $f->select("label", []);
209 $this->assertInstanceOf(Field\Input::class, $input);
210 $this->assertInstanceOf(Field\Select::class, $input);
211
212 $input = $f->textarea("label");
213 $this->assertInstanceOf(Field\Input::class, $input);
214 $this->assertInstanceOf(Field\Textarea::class, $input);
215
216 $input = $f->radio("label");
217 $this->assertInstanceOf(Field\Input::class, $input);
218 $this->assertInstanceOf(Field\Radio::class, $input);
219
220 $input = $f->multiSelect("label", []);
221 $this->assertInstanceOf(Field\Input::class, $input);
222 $this->assertInstanceOf(Field\MultiSelect::class, $input);
223 }
224}
Defines tests every SHOULD pass UI-factory.
An exception for terminatinating execution or to throw for unit testing.
testImplementsFactoryInterfaceForTextarea()
testImplementsFactoryInterfaceForDatetime()
testImplementsFactoryInterfaceForSection()
testImplementsFactoryInterfaceForPassword()
testImplementsFactoryInterfaceForCheckbox()
testImplementsFactoryInterfaceForNumeric()
testImplementsFactoryInterfaceForGroup()
testImplementsFactoryInterfaceForMultiselect()
testImplementsFactoryInterfaceForDuration()
Builds data types.
Definition: Factory.php:20
Class ChatMainBarProvider \MainMenu\Provider.