ILIAS  release_8 Revision v8.24
StandardFilterTest Class Reference

Test on standard filter implementation. More...

+ Inheritance diagram for StandardFilterTest:
+ Collaboration diagram for StandardFilterTest:

Public Member Functions

 getUIFactory ()
 
 test_render_activated_collapsed ()
 
 test_render_deactivated_collapsed ()
 
 test_render_activated_expanded ()
 
 test_render_deactivated_expanded ()
 
 test_dedicated_names ()
 
- Public Member Functions inherited from ILIAS_UI_TestBase
 setUp ()
 
 tearDown ()
 
 getUIFactory ()
 
 getTemplateFactory ()
 
 getResourceRegistry ()
 
 getLanguage ()
 
 getJavaScriptBinding ()
 
 getRefinery ()
 
 getImagePathResolver ()
 
 getDataFactory ()
 
 getDefaultRenderer (JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
 
 getDecoratedRenderer (Renderer $default)
 
 normalizeHTML (string $html)
 
 assertHTMLEquals (string $expected_html_as_string, string $html_as_string)
 

Protected Member Functions

 buildFactory ()
 
 buildInputFactory ()
 
 buildButtonFactory ()
 
 buildSymbolFactory ()
 
 buildPopoverFactory ()
 
 buildLegacyFactory ()
 
 buildListingFactory ()
 
- Protected Member Functions inherited from ILIAS_UI_TestBase
 brutallyTrimHTML (string $html)
 A more radical version of normalizeHTML. More...
 
 brutallyTrimSignals (string $html)
 A naive replacement of all il_signal-ids with dots to ease comparisons of rendered output. More...
 

Detailed Description

Test on standard filter implementation.

Definition at line 79 of file StandardFilterTest.php.

Member Function Documentation

◆ buildButtonFactory()

StandardFilterTest::buildButtonFactory ( )
protected

Definition at line 102 of file StandardFilterTest.php.

102 : I\Button\Factory
103 {
104 return new I\Button\Factory();
105 }

Referenced by getUIFactory().

+ Here is the caller graph for this function:

◆ buildFactory()

StandardFilterTest::buildFactory ( )
protected

Definition at line 81 of file StandardFilterTest.php.

81 : I\Input\Container\Filter\Factory
82 {
83 return new I\Input\Container\Filter\Factory(
84 new I\SignalGenerator(),
85 $this->buildInputFactory()
86 );
87 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References buildInputFactory().

Referenced by test_dedicated_names(), test_render_activated_collapsed(), test_render_activated_expanded(), test_render_deactivated_collapsed(), and test_render_deactivated_expanded().

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

◆ buildInputFactory()

StandardFilterTest::buildInputFactory ( )
protected

Definition at line 89 of file StandardFilterTest.php.

89 : I\Input\Field\Factory
90 {
91 $df = new Data\Factory();
92 $language = $this->createMock(ilLanguage::class);
93 return new I\Input\Field\Factory(
94 $this->createMock(\ILIAS\UI\Implementation\Component\Input\UploadLimitResolver::class),
95 new I\SignalGenerator(),
96 $df,
97 new ILIAS\Refinery\Factory($df, $language),
98 $language
99 );
100 }
Builds data types.
Definition: Factory.php:21
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Class ChatMainBarProvider \MainMenu\Provider.
Class Factory.

Referenced by buildFactory(), test_dedicated_names(), test_render_activated_collapsed(), test_render_activated_expanded(), test_render_deactivated_collapsed(), and test_render_deactivated_expanded().

+ Here is the caller graph for this function:

◆ buildLegacyFactory()

StandardFilterTest::buildLegacyFactory ( )
protected

Definition at line 121 of file StandardFilterTest.php.

121 : I\Legacy\Factory
122 {
123 return new I\Legacy\Factory(new I\SignalGenerator());
124 }

Referenced by getUIFactory().

+ Here is the caller graph for this function:

◆ buildListingFactory()

StandardFilterTest::buildListingFactory ( )
protected

Definition at line 126 of file StandardFilterTest.php.

126 : I\Listing\Factory
127 {
128 return new I\Listing\Factory();
129 }

Referenced by getUIFactory().

+ Here is the caller graph for this function:

◆ buildPopoverFactory()

StandardFilterTest::buildPopoverFactory ( )
protected

Definition at line 116 of file StandardFilterTest.php.

116 : I\Popover\Factory
117 {
118 return new I\Popover\Factory(new I\SignalGenerator());
119 }

Referenced by getUIFactory().

+ Here is the caller graph for this function:

◆ buildSymbolFactory()

StandardFilterTest::buildSymbolFactory ( )
protected

Definition at line 107 of file StandardFilterTest.php.

107 : I\Symbol\Factory
108 {
109 return new I\Symbol\Factory(
110 new I\Symbol\Icon\Factory(),
111 new I\Symbol\Glyph\Factory(),
112 new I\Symbol\Avatar\Factory()
113 );
114 }

Referenced by getUIFactory().

+ Here is the caller graph for this function:

◆ getUIFactory()

StandardFilterTest::getUIFactory ( )

◆ test_dedicated_names()

StandardFilterTest::test_dedicated_names ( )

Definition at line 678 of file StandardFilterTest.php.

678 : void
679 {
680 $f = $this->buildFactory();
681 $if = $this->buildInputFactory();
682 $inputs = [
683 $if->text("Title")->withDedicatedName('title'),
684 $if->select("Selection", ["one" => "One", "two" => "Two", "three" => "Three"])->withDedicatedName('selection'),
685 $if->multiSelect("Multi Selection", ["one" => "Num One", "two" => "Num Two", "three" => "Num Three"])
686 ];
687 $filter = $f->standard(
688 "#",
689 "#",
690 "#",
691 "#",
692 "#",
693 "#",
694 $inputs,
695 [true, true, true],
696 true,
697 true
698 );
699
700 $inputs = $filter->getInputs();
701 $this->assertEquals('filter_input_0/title', $inputs[0]->getName());
702 $this->assertEquals('filter_input_0/selection', $inputs[1]->getName());
703 $this->assertEquals('filter_input_0/filter_input_1', $inputs[2]->getName());
704 }

References Vendor\Package\$f, ILIAS\UI\Implementation\Component\Input\$inputs, buildFactory(), and buildInputFactory().

+ Here is the call graph for this function:

◆ test_render_activated_collapsed()

StandardFilterTest::test_render_activated_collapsed ( )

Definition at line 142 of file StandardFilterTest.php.

142 : void
143 {
144 $f = $this->buildFactory();
145 $if = $this->buildInputFactory();
146 $inputs = [
147 $if->text("Title"),
148 $if->select("Selection", ["one" => "One", "two" => "Two", "three" => "Three"]),
149 $if->multiSelect("Multi Selection", ["one" => "Num One", "two" => "Num Two", "three" => "Num Three"])
150 ];
151 $inputs_rendered = [true, false, true];
152
153 $filter = $f->standard(
154 "#",
155 "#",
156 "#",
157 "#",
158 "#",
159 "#",
160 $inputs,
161 $inputs_rendered,
162 true,
163 false
164 );
165
166 $r = $this->getDefaultRenderer();
167 $html = $r->render($filter);
168
169 $expected = <<<EOT
170<div class="il-filter enabled" id="id_1">
171 <form class="il-standard-form form-horizontal" enctype="multipart/form-data" method="get" novalidate="novalidate" data-cmd-expand="#" data-cmd-collapse="#" data-cmd-apply="#" data-cmd-toggleOn="#" data-cmd-toggleOff="#">
172 <div class="il-filter-bar">
173 <span class="il-filter-bar-opener" data-toggle="collapse" data-target=".il-filter-inputs-active,.il-filter-input-section" aria-expanded="false">
174 <button class="btn btn-bulky" data-action="" id="id_2">
175 <span class="glyph" role="img">
176 <span class="glyphicon glyphicon-triangle-bottom" aria-hidden="true"></span>
177 </span>
178 <span class="bulky-label">filter</span>
179 </button>
180 <button class="btn btn-bulky" data-action="" id="id_3">
181 <span class="glyph" role="img">
182 <span class="glyphicon glyphicon-triangle-right" aria-hidden="true"></span>
183 </span>
184 <span class="bulky-label">filter</span>
185 </button>
186 </span>
187 <span class="il-filter-bar-toggle">
188 <button class="il-toggle-button on" id="id_6" aria-pressed="false">
189 <span class="il-toggle-label-on">toggle_on</span>
190 <span class="il-toggle-label-off">toggle_off</span>
191 <span class="il-toggle-switch"></span>
192 </button>
193 </span>
194 </div>
195 <div class="il-filter-inputs-active clearfix collapse in">
196 <span id="1"></span>
197 <span id="2"></span>
198 <span id="3"></span>
199 </div>
200 <div class="il-filter-input-section row collapse ">
201 <div class="col-md-6 col-lg-4 il-popover-container">
202 <div class="input-group">
203 <label for="id_7" class="input-group-addon leftaddon">Title</label>
204 <input id="id_7" type="text" name="filter_input_0/filter_input_1" class="form-control form-control-sm" />
205 <span class="input-group-addon rightaddon">
206 <a class="glyph" href="" aria-label="remove" id="id_8">
207 <span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span>
208 </a>
209 </span>
210 </div>
211 </div>
212 <div class="col-md-6 col-lg-4 il-popover-container">
213 <div class="input-group">
214 <label for="id_9" class="input-group-addon leftaddon">Selection</label>
215 <select id="id_9" name="filter_input_0/filter_input_2">
216 <option selected="selected" value="">-</option>
217 <option value="one">One</option>
218 <option value="two">Two</option>
219 <option value="three">Three</option>
220 </select>
221 <span class="input-group-addon rightaddon">
222 <a class="glyph" href="" aria-label="remove" id="id_10">
223 <span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span>
224 </a>
225 </span>
226 </div>
227 </div>
228 <div class="col-md-6 col-lg-4 il-popover-container">
229 <div class="input-group">
230 <label class="input-group-addon leftaddon">Multi Selection</label>
231 <span role="button" tabindex="0" class="form-control il-filter-field" id="id_14" data-placement="bottom"></span>
232 <div class="il-standard-popover-content" style="display:none;" id="id_12"></div>
233 <span class="input-group-addon rightaddon">
234 <a class="glyph" href="" aria-label="remove" id="id_15">
235 <span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span>
236 </a>
237 </span>
238 </div>
239 </div>
240 <div class="col-md-6 col-lg-4 il-popover-container">
241 <div class="input-group">
242 <button class="btn btn-bulky" id="id_21">
243 <span class="glyph" role="img">
244 <span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>
245 </span>
246 <span class="bulky-label"></span>
247 </button>
248 </div>
249 <div class="il-standard-popover-content" style="display:none;" id="id_19"></div>
250 </div>
251 <div class="il-filter-controls">
252 <button class="btn btn-bulky" data-action="" id="id_4">
253 <span class="glyph" role="img">
254 <span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
255 </span>
256 <span class="bulky-label">apply</span>
257 </button>
258 <button class="btn btn-bulky" data-action="#" id="id_5">
259 <span class="glyph" role="img">
260 <span class="glyphicon glyphicon-repeat" aria-hidden="true"></span>
261 </span>
262 <span class="bulky-label">reset</span>
263 </button>
264 </div>
265 </div>
266 <input class="il-filter-field-status" type="hidden" name="__filter_status_0" value="1" />
267 <input class="il-filter-field-status" type="hidden" name="__filter_status_1" value="0" />
268 <input class="il-filter-field-status" type="hidden" name="__filter_status_2" value="1" />
269 </form>
270</div>
271EOT;
272
273 $this->assertHTMLEquals($this->brutallyTrimHTML($expected), $this->brutallyTrimHTML($html));
274 }
assertHTMLEquals(string $expected_html_as_string, string $html_as_string)
Definition: Base.php:427
brutallyTrimHTML(string $html)
A more radical version of normalizeHTML.
Definition: Base.php:444
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
Title class.
Definition: Title.php:27
form( $class_path, string $cmd)

References Vendor\Package\$f, ILIAS\UI\Implementation\Component\Input\$inputs, ILIAS\UI\examples\Symbol\Glyph\Apply\apply(), ILIAS_UI_TestBase\assertHTMLEquals(), ILIAS_UI_TestBase\brutallyTrimHTML(), buildFactory(), buildInputFactory(), ILIAS\UI\examples\Symbol\Glyph\Collapse\collapse(), ILIAS\UI\examples\Symbol\Glyph\Expand\expand(), ILIAS\UI\examples\Symbol\Glyph\Filter\filter(), ILIAS\Repository\form(), and ILIAS_UI_TestBase\getDefaultRenderer().

+ Here is the call graph for this function:

◆ test_render_activated_expanded()

StandardFilterTest::test_render_activated_expanded ( )

Definition at line 410 of file StandardFilterTest.php.

410 : void
411 {
412 $f = $this->buildFactory();
413 $if = $this->buildInputFactory();
414 $inputs = [
415 $if->text("Title"),
416 $if->select("Selection", ["one" => "One", "two" => "Two", "three" => "Three"]),
417 $if->multiSelect("Multi Selection", ["one" => "Num One", "two" => "Num Two", "three" => "Num Three"])
418 ];
419 $inputs_rendered = [true, false, true];
420
421 $filter = $f->standard(
422 "#",
423 "#",
424 "#",
425 "#",
426 "#",
427 "#",
428 $inputs,
429 $inputs_rendered,
430 true,
431 true
432 );
433
434 $r = $this->getDefaultRenderer();
435 $html = $r->render($filter);
436
437 $expected = <<<EOT
438<div class="il-filter enabled" id="id_1">
439 <form class="il-standard-form form-horizontal" enctype="multipart/form-data" method="get" novalidate="novalidate" data-cmd-expand="#" data-cmd-collapse="#" data-cmd-apply="#" data-cmd-toggleOn="#" data-cmd-toggleOff="#">
440 <div class="il-filter-bar">
441 <span class="il-filter-bar-opener" data-toggle="collapse" data-target=".il-filter-inputs-active,.il-filter-input-section" aria-expanded="true">
442 <button class="btn btn-bulky" data-action="" id="id_2">
443 <span class="glyph" role="img">
444 <span class="glyphicon glyphicon-triangle-right" aria-hidden="true"></span>
445 </span>
446 <span class="bulky-label">filter</span>
447 </button>
448 <button class="btn btn-bulky" data-action="" id="id_3">
449 <span class="glyph" role="img">
450 <span class="glyphicon glyphicon-triangle-bottom" aria-hidden="true"></span>
451 </span>
452 <span class="bulky-label">filter</span>
453 </button>
454 </span>
455 <span class="il-filter-bar-toggle">
456 <button class="il-toggle-button on" id="id_6" aria-pressed="false">
457 <span class="il-toggle-label-on">toggle_on</span>
458 <span class="il-toggle-label-off">toggle_off</span>
459 <span class="il-toggle-switch"></span>
460 </button>
461 </span>
462 </div>
463 <div class="il-filter-inputs-active clearfix collapse ">
464 <span id="1"></span>
465 <span id="2"></span>
466 <span id="3"></span>
467 </div>
468 <div class="il-filter-input-section row collapse in">
469 <div class="col-md-6 col-lg-4 il-popover-container">
470 <div class="input-group">
471 <label for="id_7" class="input-group-addon leftaddon">Title</label>
472 <input id="id_7" type="text" name="filter_input_0/filter_input_1" class="form-control form-control-sm" />
473 <span class="input-group-addon rightaddon">
474 <a class="glyph" href="" aria-label="remove" id="id_8">
475 <span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span>
476 </a>
477 </span>
478 </div>
479 </div>
480 <div class="col-md-6 col-lg-4 il-popover-container">
481 <div class="input-group">
482 <label for="id_9" class="input-group-addon leftaddon">Selection</label>
483 <select id="id_9" name="filter_input_0/filter_input_2">
484 <option selected="selected" value="">-</option>
485 <option value="one">One</option>
486 <option value="two">Two</option>
487 <option value="three">Three</option>
488 </select>
489 <span class="input-group-addon rightaddon">
490 <a class="glyph" href="" aria-label="remove" id="id_10">
491 <span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span>
492 </a>
493 </span>
494 </div>
495 </div>
496 <div class="col-md-6 col-lg-4 il-popover-container">
497 <div class="input-group">
498 <label class="input-group-addon leftaddon">Multi Selection</label>
499 <span role="button" tabindex="0" class="form-control il-filter-field" id="id_14" data-placement="bottom"></span>
500 <div class="il-standard-popover-content" style="display:none;" id="id_12"></div>
501 <span class="input-group-addon rightaddon">
502 <a class="glyph" href="" aria-label="remove" id="id_15">
503 <span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span>
504 </a>
505 </span>
506 </div>
507 </div>
508 <div class="col-md-6 col-lg-4 il-popover-container">
509 <div class="input-group">
510 <button class="btn btn-bulky" id="id_21">
511 <span class="glyph" role="img">
512 <span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>
513 </span>
514 <span class="bulky-label"></span>
515 </button>
516 </div>
517 <div class="il-standard-popover-content" style="display:none;" id="id_19"></div>
518 </div>
519 <div class="il-filter-controls">
520 <button class="btn btn-bulky" data-action="" id="id_4">
521 <span class="glyph" role="img">
522 <span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
523 </span>
524 <span class="bulky-label">apply</span>
525 </button>
526 <button class="btn btn-bulky" data-action="#" id="id_5">
527 <span class="glyph" role="img">
528 <span class="glyphicon glyphicon-repeat" aria-hidden="true"></span>
529 </span>
530 <span class="bulky-label">reset</span>
531 </button>
532 </div>
533 </div>
534 <input class="il-filter-field-status" type="hidden" name="__filter_status_0" value="1" />
535 <input class="il-filter-field-status" type="hidden" name="__filter_status_1" value="0" />
536 <input class="il-filter-field-status" type="hidden" name="__filter_status_2" value="1" />
537 </form>
538</div>
539EOT;
540
541 $this->assertHTMLEquals($this->brutallyTrimHTML($expected), $this->brutallyTrimHTML($html));
542 }

References Vendor\Package\$f, ILIAS\UI\Implementation\Component\Input\$inputs, ILIAS\UI\examples\Symbol\Glyph\Apply\apply(), ILIAS_UI_TestBase\assertHTMLEquals(), ILIAS_UI_TestBase\brutallyTrimHTML(), buildFactory(), buildInputFactory(), ILIAS\UI\examples\Symbol\Glyph\Collapse\collapse(), ILIAS\UI\examples\Symbol\Glyph\Expand\expand(), ILIAS\UI\examples\Symbol\Glyph\Filter\filter(), ILIAS\Repository\form(), and ILIAS_UI_TestBase\getDefaultRenderer().

+ Here is the call graph for this function:

◆ test_render_deactivated_collapsed()

StandardFilterTest::test_render_deactivated_collapsed ( )

Definition at line 276 of file StandardFilterTest.php.

276 : void
277 {
278 $f = $this->buildFactory();
279 $if = $this->buildInputFactory();
280 $inputs = [
281 $if->text("Title"),
282 $if->select("Selection", ["one" => "One", "two" => "Two", "three" => "Three"]),
283 $if->multiSelect("Multi Selection", ["one" => "Num One", "two" => "Num Two", "three" => "Num Three"])
284 ];
285 $inputs_rendered = [true, false, true];
286
287 $filter = $f->standard(
288 "#",
289 "#",
290 "#",
291 "#",
292 "#",
293 "#",
294 $inputs,
295 $inputs_rendered,
296 false,
297 false
298 );
299
300 $r = $this->getDefaultRenderer();
301 $html = $r->render($filter);
302
303 $expected = <<<EOT
304<div class="il-filter disabled" id="id_1">
305 <form class="il-standard-form form-horizontal" enctype="multipart/form-data" method="get" novalidate="novalidate" data-cmd-expand="#" data-cmd-collapse="#" data-cmd-apply="#" data-cmd-toggleOn="#" data-cmd-toggleOff="#">
306 <div class="il-filter-bar">
307 <span class="il-filter-bar-opener" data-toggle="collapse" data-target=".il-filter-inputs-active,.il-filter-input-section" aria-expanded="false">
308 <button class="btn btn-bulky" data-action="" id="id_2">
309 <span class="glyph" role="img">
310 <span class="glyphicon glyphicon-triangle-bottom" aria-hidden="true"></span>
311 </span>
312 <span class="bulky-label">filter</span>
313 </button>
314 <button class="btn btn-bulky" data-action="" id="id_3">
315 <span class="glyph" role="img">
316 <span class="glyphicon glyphicon-triangle-right" aria-hidden="true"></span>
317 </span>
318 <span class="bulky-label">filter</span>
319 </button>
320 </span>
321 <span class="il-filter-bar-toggle">
322 <button class="il-toggle-button off" id="id_6" aria-pressed="false">
323 <span class="il-toggle-label-on">toggle_on</span>
324 <span class="il-toggle-label-off">toggle_off</span>
325 <span class="il-toggle-switch"></span>
326 </button>
327 </span>
328 </div>
329 <div class="il-filter-inputs-active clearfix collapse in">
330 <span id="1"></span>
331 <span id="2"></span>
332 <span id="3"></span>
333 </div>
334 <div class="il-filter-input-section row collapse ">
335 <div class="col-md-6 col-lg-4 il-popover-container">
336 <div class="input-group">
337 <label for="id_7" class="input-group-addon leftaddon">Title</label>
338 <input id="id_7" type="text" name="filter_input_0/filter_input_1" class="form-control form-control-sm" />
339 <span class="input-group-addon rightaddon">
340 <a class="glyph" href="" aria-label="remove" id="id_8">
341 <span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span>
342 </a>
343 </span>
344 </div>
345 </div>
346 <div class="col-md-6 col-lg-4 il-popover-container">
347 <div class="input-group">
348 <label for="id_9" class="input-group-addon leftaddon">Selection</label>
349 <select id="id_9" name="filter_input_0/filter_input_2">
350 <option selected="selected" value="">-</option>
351 <option value="one">One</option>
352 <option value="two">Two</option>
353 <option value="three">Three</option>
354 </select>
355 <span class="input-group-addon rightaddon">
356 <a class="glyph" href="" aria-label="remove" id="id_10">
357 <span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span>
358 </a>
359 </span>
360 </div>
361 </div>
362 <div class="col-md-6 col-lg-4 il-popover-container">
363 <div class="input-group">
364 <label class="input-group-addon leftaddon">Multi Selection</label>
365 <span role="button" tabindex="0" class="form-control il-filter-field" id="id_14" data-placement="bottom"></span>
366 <div class="il-standard-popover-content" style="display:none;" id="id_12"></div>
367 <span class="input-group-addon rightaddon">
368 <a class="glyph" href="" aria-label="remove" id="id_15">
369 <span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span>
370 </a>
371 </span>
372 </div>
373 </div>
374 <div class="col-md-6 col-lg-4 il-popover-container">
375 <div class="input-group">
376 <button class="btn btn-bulky" id="id_21">
377 <span class="glyph" role="img">
378 <span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>
379 </span>
380 <span class="bulky-label"></span>
381 </button>
382 </div>
383 <div class="il-standard-popover-content" style="display:none;" id="id_19"></div>
384 </div>
385 <div class="il-filter-controls">
386 <button class="btn btn-bulky" data-action="" id="id_4">
387 <span class="glyph" role="img">
388 <span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
389 </span>
390 <span class="bulky-label">apply</span>
391 </button>
392 <button class="btn btn-bulky" data-action="#" id="id_5">
393 <span class="glyph" role="img">
394 <span class="glyphicon glyphicon-repeat" aria-hidden="true"></span>
395 </span>
396 <span class="bulky-label">reset</span>
397 </button>
398 </div>
399 </div>
400 <input class="il-filter-field-status" type="hidden" name="__filter_status_0" value="1" />
401 <input class="il-filter-field-status" type="hidden" name="__filter_status_1" value="0" />
402 <input class="il-filter-field-status" type="hidden" name="__filter_status_2" value="1" />
403 </form>
404</div>
405EOT;
406
407 $this->assertHTMLEquals($this->brutallyTrimHTML($expected), $this->brutallyTrimHTML($html));
408 }

References Vendor\Package\$f, ILIAS\UI\Implementation\Component\Input\$inputs, ILIAS\UI\examples\Symbol\Glyph\Apply\apply(), ILIAS_UI_TestBase\assertHTMLEquals(), ILIAS_UI_TestBase\brutallyTrimHTML(), buildFactory(), buildInputFactory(), ILIAS\UI\examples\Symbol\Glyph\Collapse\collapse(), ILIAS\UI\examples\Symbol\Glyph\Expand\expand(), ILIAS\UI\examples\Symbol\Glyph\Filter\filter(), ILIAS\Repository\form(), and ILIAS_UI_TestBase\getDefaultRenderer().

+ Here is the call graph for this function:

◆ test_render_deactivated_expanded()

StandardFilterTest::test_render_deactivated_expanded ( )

Definition at line 544 of file StandardFilterTest.php.

544 : void
545 {
546 $f = $this->buildFactory();
547 $if = $this->buildInputFactory();
548 $inputs = [
549 $if->text("Title"),
550 $if->select("Selection", ["one" => "One", "two" => "Two", "three" => "Three"]),
551 $if->multiSelect("Multi Selection", ["one" => "Num One", "two" => "Num Two", "three" => "Num Three"])
552 ];
553 $inputs_rendered = [true, false, true];
554
555 $filter = $f->standard(
556 "#",
557 "#",
558 "#",
559 "#",
560 "#",
561 "#",
562 $inputs,
563 $inputs_rendered,
564 false,
565 true
566 );
567
568 $r = $this->getDefaultRenderer();
569 $html = $r->render($filter);
570
571 $expected = <<<EOT
572<div class="il-filter disabled" id="id_1">
573 <form class="il-standard-form form-horizontal" enctype="multipart/form-data" method="get" novalidate="novalidate" data-cmd-expand="#" data-cmd-collapse="#" data-cmd-apply="#" data-cmd-toggleOn="#" data-cmd-toggleOff="#">
574 <div class="il-filter-bar">
575 <span class="il-filter-bar-opener" data-toggle="collapse" data-target=".il-filter-inputs-active,.il-filter-input-section" aria-expanded="true">
576 <button class="btn btn-bulky" data-action="" id="id_2">
577 <span class="glyph" role="img">
578 <span class="glyphicon glyphicon-triangle-right" aria-hidden="true"></span>
579 </span>
580 <span class="bulky-label">filter</span>
581 </button>
582 <button class="btn btn-bulky" data-action="" id="id_3">
583 <span class="glyph" role="img">
584 <span class="glyphicon glyphicon-triangle-bottom" aria-hidden="true"></span>
585 </span>
586 <span class="bulky-label">filter</span>
587 </button>
588 </span>
589 <span class="il-filter-bar-toggle">
590 <button class="il-toggle-button off" id="id_6" aria-pressed="false">
591 <span class="il-toggle-label-on">toggle_on</span>
592 <span class="il-toggle-label-off">toggle_off</span>
593 <span class="il-toggle-switch"></span>
594 </button>
595 </span>
596 </div>
597 <div class="il-filter-inputs-active clearfix collapse ">
598 <span id="1"></span>
599 <span id="2"></span>
600 <span id="3"></span>
601 </div>
602 <div class="il-filter-input-section row collapse in">
603 <div class="col-md-6 col-lg-4 il-popover-container">
604 <div class="input-group">
605 <label for="id_7" class="input-group-addon leftaddon">Title</label>
606 <input id="id_7" type="text" name="filter_input_0/filter_input_1" class="form-control form-control-sm" />
607 <span class="input-group-addon rightaddon">
608 <a class="glyph" href="" aria-label="remove" id="id_8">
609 <span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span>
610 </a>
611 </span>
612 </div>
613 </div>
614 <div class="col-md-6 col-lg-4 il-popover-container">
615 <div class="input-group">
616 <label for="id_9" class="input-group-addon leftaddon">Selection</label>
617 <select id="id_9" name="filter_input_0/filter_input_2">
618 <option selected="selected" value="">-</option>
619 <option value="one">One</option>
620 <option value="two">Two</option>
621 <option value="three">Three</option>
622 </select>
623 <span class="input-group-addon rightaddon">
624 <a class="glyph" href="" aria-label="remove" id="id_10">
625 <span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span>
626 </a>
627 </span>
628 </div>
629 </div>
630 <div class="col-md-6 col-lg-4 il-popover-container">
631 <div class="input-group">
632 <label class="input-group-addon leftaddon">Multi Selection</label>
633 <span role="button" tabindex="0" class="form-control il-filter-field" id="id_14" data-placement="bottom"></span>
634 <div class="il-standard-popover-content" style="display:none;" id="id_12"></div>
635 <span class="input-group-addon rightaddon">
636 <a class="glyph" href="" aria-label="remove" id="id_15">
637 <span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span>
638 </a>
639 </span>
640 </div>
641 </div>
642 <div class="col-md-6 col-lg-4 il-popover-container">
643 <div class="input-group">
644 <button class="btn btn-bulky" id="id_21">
645 <span class="glyph" role="img">
646 <span class="glyphicon glyphicon-plus-sign" aria-hidden="true"></span>
647 </span>
648 <span class="bulky-label"></span>
649 </button>
650 </div>
651 <div class="il-standard-popover-content" style="display:none;" id="id_19"></div>
652 </div>
653 <div class="il-filter-controls">
654 <button class="btn btn-bulky" data-action="" id="id_4">
655 <span class="glyph" role="img">
656 <span class="glyphicon glyphicon-ok" aria-hidden="true"></span>
657 </span>
658 <span class="bulky-label">apply</span>
659 </button>
660 <button class="btn btn-bulky" data-action="#" id="id_5">
661 <span class="glyph" role="img">
662 <span class="glyphicon glyphicon-repeat" aria-hidden="true"></span>
663 </span>
664 <span class="bulky-label">reset</span>
665 </button>
666 </div>
667 </div>
668 <input class="il-filter-field-status" type="hidden" name="__filter_status_0" value="1" />
669 <input class="il-filter-field-status" type="hidden" name="__filter_status_1" value="0" />
670 <input class="il-filter-field-status" type="hidden" name="__filter_status_2" value="1" />
671 </form>
672</div>
673EOT;
674
675 $this->assertHTMLEquals($this->brutallyTrimHTML($expected), $this->brutallyTrimHTML($html));
676 }

References Vendor\Package\$f, ILIAS\UI\Implementation\Component\Input\$inputs, ILIAS\UI\examples\Symbol\Glyph\Apply\apply(), ILIAS_UI_TestBase\assertHTMLEquals(), ILIAS_UI_TestBase\brutallyTrimHTML(), buildFactory(), buildInputFactory(), ILIAS\UI\examples\Symbol\Glyph\Collapse\collapse(), ILIAS\UI\examples\Symbol\Glyph\Expand\expand(), ILIAS\UI\examples\Symbol\Glyph\Filter\filter(), ILIAS\Repository\form(), and ILIAS_UI_TestBase\getDefaultRenderer().

+ Here is the call graph for this function:

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