ILIAS  release_7 Revision v7.30-3-g800a261c036
FileInputTest Class Reference
+ Inheritance diagram for FileInputTest:
+ Collaboration diagram for FileInputTest:

Public Member Functions

 setUp ()
 
 test_implements_factory_interface ()
 
 test_render ()
 
 test_render_error ()
 
 test_render_no_byline ()
 
 test_render_value ()
 
 test_render_required ()
 
 test_render_disabled ()
 
 getUIFactory ()
 
 getDefaultRenderer (JavaScriptBinding $js_binding=null, $with_stub_renderings=[])
 
- Public Member Functions inherited from ILIAS_UI_TestBase
 setUp ()
 
 tearDown ()
 
 getUIFactory ()
 
 getTemplateFactory ()
 
 getResourceRegistry ()
 
 getLanguage ()
 
 getJavaScriptBinding ()
 
 getRefinery ()
 
 getImagePathResolver ()
 
 getDefaultRenderer (JavaScriptBinding $js_binding=null, $with_stub_renderings=[])
 
 getDecoratedRenderer (Renderer $default)
 
 normalizeHTML ($html)
 
 assertHTMLEquals ($expected_html_as_string, $html_as_string)
 

Protected Member Functions

 buildFactory ()
 
 buildButtonFactory ()
 
- Protected Member Functions inherited from ILIAS_UI_TestBase
 brutallyTrimHTML ($html)
 A more radical version of normalizeHTML. More...
 

Private Member Functions

 getUploadHandler ()
 

Detailed Description

Definition at line 37 of file FileInputTest.php.

Member Function Documentation

◆ buildButtonFactory()

FileInputTest::buildButtonFactory ( )
protected

Definition at line 364 of file FileInputTest.php.

365 {
367 }
Builds a Color from either hex- or rgb values.
Definition: Factory.php:14

Referenced by getUIFactory().

+ Here is the caller graph for this function:

◆ buildFactory()

FileInputTest::buildFactory ( )
protected

Definition at line 45 of file FileInputTest.php.

46 {
47 $df = new Data\Factory();
48 $language = $this->createMock(\ilLanguage::class);
49
51 new SignalGenerator(),
52 $df,
53 new ILIAS\Refinery\Factory($df, $language),
54 $language
55 );
56 }
Builds data types.
Definition: Factory.php:20
Class ChatMainBarProvider \MainMenu\Provider.

Referenced by test_implements_factory_interface(), test_render(), test_render_disabled(), test_render_error(), test_render_no_byline(), test_render_required(), and test_render_value().

+ Here is the caller graph for this function:

◆ getDefaultRenderer()

FileInputTest::getDefaultRenderer ( JavaScriptBinding  $js_binding = null,
  $with_stub_renderings = [] 
)

Reimplemented from ILIAS_UI_TestBase.

Definition at line 375 of file FileInputTest.php.

376 {
377 $ui_factory = $this->getUIFactory();
378 $tpl_factory = $this->getTemplateFactory();
379 $resource_registry = $this->getResourceRegistry();
380 $lng = $this->getLanguage();
381 if (!$js_binding) {
382 $js_binding = $this->getJavaScriptBinding();
383 }
384
385 $refinery = $this->getRefinery();
386 $img_resolver = new ilImagePathResolver();
387
388 $component_renderer_loader
391 $resource_registry,
392 new FSLoader(
394 $ui_factory,
395 $tpl_factory,
396 $lng,
397 $js_binding,
398 $refinery,
399 $img_resolver
400 ),
402 $ui_factory,
403 $tpl_factory,
404 $lng,
405 $js_binding,
406 $refinery,
407 $img_resolver
408 ),
410 $ui_factory,
411 $tpl_factory,
412 $lng,
413 $js_binding,
414 $refinery,
415 $img_resolver
416 )
417 )
418 )
419 );
420
421 return new TestDefaultRenderer($component_renderer_loader);
422 }
Loads renderers for components from the file system.
Definition: FSLoader.php:21
Caches renderers loaded by another loader.
Registers resources for retreived renderers at a ResourceRegistry.
getJavaScriptBinding()
Definition: Base.php:294
getTemplateFactory()
Definition: Base.php:279
getResourceRegistry()
Definition: Base.php:284
$lng

References $lng, ILIAS_UI_TestBase\getJavaScriptBinding(), ILIAS_UI_TestBase\getLanguage(), ILIAS_UI_TestBase\getRefinery(), ILIAS_UI_TestBase\getResourceRegistry(), ILIAS_UI_TestBase\getTemplateFactory(), and getUIFactory().

Referenced by test_render(), test_render_disabled(), test_render_error(), test_render_no_byline(), test_render_required(), and test_render_value().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getUIFactory()

FileInputTest::getUIFactory ( )

Reimplemented from ILIAS_UI_TestBase.

Definition at line 370 of file FileInputTest.php.

References buildButtonFactory().

Referenced by getDefaultRenderer().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getUploadHandler()

FileInputTest::getUploadHandler ( )
private

@inheritDoc

@inheritDoc

Definition at line 59 of file FileInputTest.php.

59 : Field\UploadHandler
60 {
61 return new class implements Field\UploadHandler {
62 public function getFileIdentifierParameterName() : string
63 {
64 return 'file_id';
65 }
66
67
68 public function getUploadURL() : string
69 {
70 return 'uploadurl';
71 }
72
73
74 public function getFileRemovalURL() : string
75 {
76 return 'removalurl';
77 }
78
79
83 public function getExistingFileInfoURL() : string
84 {
85 return 'infourl';
86 }
87
88
92 public function getInfoForExistingFiles(array $file_ids) : array
93 {
94 return [];
95 }
96 };
97 }

Referenced by test_implements_factory_interface(), test_render(), test_render_disabled(), test_render_error(), test_render_no_byline(), test_render_required(), and test_render_value().

+ Here is the caller graph for this function:

◆ setUp()

FileInputTest::setUp ( )

Reimplemented from ILIAS_UI_TestBase.

Definition at line 39 of file FileInputTest.php.

39 : void
40 {
41 $this->name_source = new DefNamesource();
42 }

◆ test_implements_factory_interface()

FileInputTest::test_implements_factory_interface ( )

Definition at line 100 of file FileInputTest.php.

101 {
102 $f = $this->buildFactory();
103
104 $text = $f->file($this->getUploadHandler(), "label", "byline");
105
106 $this->assertInstanceOf(Field\Input::class, $text);
107 $this->assertInstanceOf(Field\File::class, $text);
108 }

References Vendor\Package\$f, buildFactory(), and getUploadHandler().

+ Here is the call graph for this function:

◆ test_render()

FileInputTest::test_render ( )

Definition at line 111 of file FileInputTest.php.

112 {
113 $f = $this->buildFactory();
114 $label = "label";
115 $byline = "byline";
116 $name = "name_0";
117 $text = $f->file($this->getUploadHandler(), $label, $byline)->withNameFrom($this->name_source);
118
119 $r = $this->getDefaultRenderer();
120 $html = $this->brutallyTrimHTML($r->render($text));
121
122 $expected = $this->brutallyTrimHTML('
123 <div class="form-group row">
124 <label for="id_1" class="control-label col-sm-3">label</label>
125 <div class="col-sm-9">
126 <div class="il-input-file" id="id_1">
127 <div class="il-input-file-dropzone"> <button class="btn btn-link" data-action="#" id="id_2">select_files_from_computer</button></div>
128 <div class="il-input-file-filelist">
129 <div class="il-input-file-template dz-preview dz-file-preview" style="display: block; border: 1px solid red;" data-file-id="">
130 <div class="dz-details">
131 <div class="il-input-file-fileinfo">
132 <div class="il-input-file-fileinfo-title"><span data-dz-name></span></div>
133 <div data-dz-size class="il-input-file-fileinfo-size"></div>
134 <div class="il-input-file-fileinfo-close"> <button type="button" class="close" data-dz-remove> <span aria-hidden="true">&times;</span> <span class="sr-only">Close</span> </button> </div>
135 </div>
136 <!-- <div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>--> <!-- <div class="dz-success-mark"><span>✔</span></div>--> <!-- <div class="dz-error-mark"><span>✘</span></div>-->
137 <div class="dz-error-message il-input-file-error"><span data-dz-errormessage></span></div>
138 </div>
139 </div>
140 </div>
141 <input class="input-template" type="hidden" name="name_0[]" value="" data-file-id="" />
142 </div>
143 <div class="help-block">byline</div>
144 </div>
145 </div>
146 ');
147 $this->assertEquals($expected, $html);
148 }
getDefaultRenderer(JavaScriptBinding $js_binding=null, $with_stub_renderings=[])
brutallyTrimHTML($html)
A more radical version of normalizeHTML.
Definition: Base.php:392
if($format !==null) $name
Definition: metadata.php:230

References Vendor\Package\$f, $name, ILIAS_UI_TestBase\brutallyTrimHTML(), buildFactory(), getDefaultRenderer(), and getUploadHandler().

+ Here is the call graph for this function:

◆ test_render_disabled()

FileInputTest::test_render_disabled ( )

Definition at line 323 of file FileInputTest.php.

324 {
325 $f = $this->buildFactory();
326 $label = "label";
327 $text = $f->file($this->getUploadHandler(), $label)->withNameFrom($this->name_source)->withDisabled(true);
328
329 $r = $this->getDefaultRenderer();
330 $html = $this->brutallyTrimHTML($r->render($text));
331
332 $expected = $this->brutallyTrimHTML('
333 <div class="form-group row">
334 <label for="id_1" class="control-label col-sm-3">label</label>
335 <div class="col-sm-9">
336 <div class="il-input-file" id="id_1">
337 <div class="il-input-file-dropzone"><button class="btn btn-link" data-action="#" id="id_2">select_files_from_computer</button></div>
338 <div class="il-input-file-filelist">
339 <div class="il-input-file-template dz-preview dz-file-preview" style="display: block; border: 1px solid red;" data-file-id="">
340 <div class="dz-details">
341 <div class="il-input-file-fileinfo">
342 <div class="il-input-file-fileinfo-title"><span data-dz-name></span></div>
343 <div data-dz-size class="il-input-file-fileinfo-size"></div>
344 <div class="il-input-file-fileinfo-close">
345 <button type="button" class="close" data-dz-remove><span aria-hidden="true">&times;</span> <span class="sr-only">Close</span></button>
346 </div>
347 </div>
348 <!-- <div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>-->
349 <!-- <div class="dz-success-mark"><span>✔</span></div>-->
350 <!-- <div class="dz-error-mark"><span>✘</span></div>-->
351 <div class="dz-error-message il-input-file-error"><span data-dz-errormessage></span></div>
352 </div>
353 </div>
354 </div>
355 <input class="input-template" type="hidden" name="name_0[]" value="" data-file-id="" />
356 </div>
357 </div>
358 </div>
359 ');
360
361 $this->assertEquals($expected, $html);
362 }

References Vendor\Package\$f, ILIAS_UI_TestBase\brutallyTrimHTML(), buildFactory(), getDefaultRenderer(), and getUploadHandler().

+ Here is the call graph for this function:

◆ test_render_error()

FileInputTest::test_render_error ( )

Definition at line 151 of file FileInputTest.php.

152 {
153 $f = $this->buildFactory();
154 $label = "label";
155 $byline = "byline";
156 $name = "name_0";
157 $error = "an_error";
158 $text = $f->file($this->getUploadHandler(), $label, $byline)->withNameFrom($this->name_source)->withError($error);
159
160 $r = $this->getDefaultRenderer();
161 $html = $this->brutallyTrimHTML($r->render($text));
162
163 $expected = $this->brutallyTrimHTML('
164 <div class="form-group row">
165 <label for="id_1" class="control-label col-sm-3">label</label>
166 <div class="col-sm-9">
167 <div class="help-block alert alert-danger" role="alert">an_error</div>
168 <div class="il-input-file" id="id_1">
169 <div class="il-input-file-dropzone"><button class="btn btn-link" data-action="#" id="id_2">select_files_from_computer</button></div>
170 <div class="il-input-file-filelist">
171 <div class="il-input-file-template dz-preview dz-file-preview" style="display: block; border: 1px solid red;" data-file-id="">
172 <div class="dz-details">
173 <div class="il-input-file-fileinfo">
174 <div class="il-input-file-fileinfo-title"><span data-dz-name></span></div>
175 <div data-dz-size class="il-input-file-fileinfo-size"></div>
176 <div class="il-input-file-fileinfo-close">
177 <button type="button" class="close" data-dz-remove><span aria-hidden="true">&times;</span> <span class="sr-only">Close</span></button>
178 </div>
179 </div>
180 <!-- <div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>-->
181 <!-- <div class="dz-success-mark"><span>✔</span></div>-->
182 <!-- <div class="dz-error-mark"><span>✘</span></div>-->
183 <div class="dz-error-message il-input-file-error"><span data-dz-errormessage></span></div>
184 </div>
185 </div>
186 </div>
187 <input class="input-template" type="hidden" name="name_0[]" value="" data-file-id="" />
188 </div>
189 <div class="help-block">byline</div>
190 </div>
191 </div>
192 ');
193 $this->assertEquals($expected, $html);
194 }

References Vendor\Package\$f, $name, ILIAS_UI_TestBase\brutallyTrimHTML(), buildFactory(), getDefaultRenderer(), and getUploadHandler().

+ Here is the call graph for this function:

◆ test_render_no_byline()

FileInputTest::test_render_no_byline ( )

Definition at line 197 of file FileInputTest.php.

198 {
199 $f = $this->buildFactory();
200 $label = "label";
201 $name = "name_0";
202 $text = $f->file($this->getUploadHandler(), $label)->withNameFrom($this->name_source);
203
204 $r = $this->getDefaultRenderer();
205 $html = $this->brutallyTrimHTML($r->render($text));
206
207 $expected = $this->brutallyTrimHTML('
208 <div class="form-group row">
209 <label for="id_1" class="control-label col-sm-3">label</label>
210 <div class="col-sm-9">
211 <div class="il-input-file" id="id_1">
212 <div class="il-input-file-dropzone"><button class="btn btn-link" data-action="#" id="id_2">select_files_from_computer</button></div>
213 <div class="il-input-file-filelist">
214 <div class="il-input-file-template dz-preview dz-file-preview" style="display: block; border: 1px solid red;" data-file-id="">
215 <div class="dz-details">
216 <div class="il-input-file-fileinfo">
217 <div class="il-input-file-fileinfo-title"><span data-dz-name></span></div>
218 <div data-dz-size class="il-input-file-fileinfo-size"></div>
219 <div class="il-input-file-fileinfo-close">
220 <button type="button" class="close" data-dz-remove><span aria-hidden="true">&times;</span> <span class="sr-only">Close</span></button>
221 </div>
222 </div>
223 <!-- <div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>-->
224 <!-- <div class="dz-success-mark"><span>✔</span></div>-->
225 <!-- <div class="dz-error-mark"><span>✘</span></div>-->
226 <div class="dz-error-message il-input-file-error"><span data-dz-errormessage></span></div>
227 </div>
228 </div>
229 </div>
230 <input class="input-template" type="hidden" name="name_0[]" value="" data-file-id="" />
231 </div>
232 </div>
233 </div>
234 ');
235 $this->assertEquals($expected, $html);
236 }

References Vendor\Package\$f, $name, ILIAS_UI_TestBase\brutallyTrimHTML(), buildFactory(), getDefaultRenderer(), and getUploadHandler().

+ Here is the call graph for this function:

◆ test_render_required()

FileInputTest::test_render_required ( )

Definition at line 282 of file FileInputTest.php.

283 {
284 $f = $this->buildFactory();
285 $label = "label";
286 $text = $f->file($this->getUploadHandler(), $label)->withNameFrom($this->name_source)->withRequired(true);
287
288 $r = $this->getDefaultRenderer();
289 $html = $this->brutallyTrimHTML($r->render($text));
290
291 $expected = $this->brutallyTrimHTML('
292 <div class="form-group row">
293 <label for="id_1" class="control-label col-sm-3">label<span class="asterisk">*</span></label>
294 <div class="col-sm-9">
295 <div class="il-input-file" id="id_1">
296 <div class="il-input-file-dropzone"><button class="btn btn-link" data-action="#" id="id_2">select_files_from_computer</button></div>
297 <div class="il-input-file-filelist">
298 <div class="il-input-file-template dz-preview dz-file-preview" style="display: block; border: 1px solid red;" data-file-id="">
299 <div class="dz-details">
300 <div class="il-input-file-fileinfo">
301 <div class="il-input-file-fileinfo-title"><span data-dz-name></span></div>
302 <div data-dz-size class="il-input-file-fileinfo-size"></div>
303 <div class="il-input-file-fileinfo-close">
304 <button type="button" class="close" data-dz-remove><span aria-hidden="true">&times;</span> <span class="sr-only">Close</span></button>
305 </div>
306 </div>
307 <!-- <div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>-->
308 <!-- <div class="dz-success-mark"><span>✔</span></div>-->
309 <!-- <div class="dz-error-mark"><span>✘</span></div>-->
310 <div class="dz-error-message il-input-file-error"><span data-dz-errormessage></span></div>
311 </div>
312 </div>
313 </div>
314 <input class="input-template" type="hidden" name="name_0[]" value="" data-file-id="" />
315 </div>
316 </div>
317 </div>
318 ');
319 $this->assertEquals($expected, $html);
320 }

References Vendor\Package\$f, ILIAS_UI_TestBase\brutallyTrimHTML(), buildFactory(), getDefaultRenderer(), and getUploadHandler().

+ Here is the call graph for this function:

◆ test_render_value()

FileInputTest::test_render_value ( )

Definition at line 239 of file FileInputTest.php.

240 {
241 $f = $this->buildFactory();
242 $label = "label";
243 $value = ["value"];
244 $name = "name_0";
245 $text = $f->file($this->getUploadHandler(), $label)->withValue($value)->withNameFrom($this->name_source);
246
247 $r = $this->getDefaultRenderer();
248 $html = $this->brutallyTrimHTML($r->render($text));
249
250 $expected = $this->brutallyTrimHTML('
251 <div class="form-group row">
252 <label for="id_1" class="control-label col-sm-3">label</label>
253 <div class="col-sm-9">
254 <div class="il-input-file" id="id_1">
255 <div class="il-input-file-dropzone"><button class="btn btn-link" data-action="#" id="id_2">select_files_from_computer</button></div>
256 <div class="il-input-file-filelist">
257 <div class="il-input-file-template dz-preview dz-file-preview" style="display: block; border: 1px solid red;" data-file-id="">
258 <div class="dz-details">
259 <div class="il-input-file-fileinfo">
260 <div class="il-input-file-fileinfo-title"><span data-dz-name></span></div>
261 <div data-dz-size class="il-input-file-fileinfo-size"></div>
262 <div class="il-input-file-fileinfo-close">
263 <button type="button" class="close" data-dz-remove><span aria-hidden="true">&times;</span> <span class="sr-only">Close</span></button>
264 </div>
265 </div>
266 <!-- <div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>-->
267 <!-- <div class="dz-success-mark"><span>✔</span></div>-->
268 <!-- <div class="dz-error-mark"><span>✘</span></div>-->
269 <div class="dz-error-message il-input-file-error"><span data-dz-errormessage></span></div>
270 </div>
271 </div>
272 </div>
273 <input class="input-template" type="hidden" name="name_0[]" value="" data-file-id="" />
274 </div>
275 </div>
276 </div>
277 ');
278 $this->assertEquals($expected, $html);
279 }

References Vendor\Package\$f, $name, ILIAS_UI_TestBase\brutallyTrimHTML(), buildFactory(), getDefaultRenderer(), and getUploadHandler().

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: