ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
StandardFilterTest Class Reference

Test on standard filter implementation. More...

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

Public Member Functions

 getUIFactory ()
 
 testRenderActivatedCollapsed ()
 
 testRenderDeactivatedCollapsed ()
 
 testRenderActivatedExpanded ()
 
 testRenderDeactivatedExpanded ()
 
 testDedicatedNames ()
 
- Public Member Functions inherited from ILIAS_UI_TestBase
 setUp ()
 
 tearDown ()
 
 getUIFactory ()
 
 getTemplateFactory ()
 
 getResourceRegistry ()
 
 getLanguage ()
 
 getJavaScriptBinding ()
 
 getRefinery ()
 
 getImagePathResolver ()
 
 getDataFactory ()
 
 getHelpTextRetriever ()
 
 getUploadLimitResolver ()
 
 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 80 of file StandardFilterTest.php.

Member Function Documentation

◆ buildButtonFactory()

StandardFilterTest::buildButtonFactory ( )
protected

Definition at line 103 of file StandardFilterTest.php.

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

◆ buildFactory()

StandardFilterTest::buildFactory ( )
protected

Definition at line 82 of file StandardFilterTest.php.

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

◆ buildInputFactory()

StandardFilterTest::buildInputFactory ( )
protected

Definition at line 90 of file StandardFilterTest.php.

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

◆ buildLegacyFactory()

StandardFilterTest::buildLegacyFactory ( )
protected

Definition at line 122 of file StandardFilterTest.php.

122  : I\Legacy\Factory
123  {
124  return new I\Legacy\Factory(new I\SignalGenerator());
125  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ buildListingFactory()

StandardFilterTest::buildListingFactory ( )
protected

Definition at line 127 of file StandardFilterTest.php.

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

◆ buildPopoverFactory()

StandardFilterTest::buildPopoverFactory ( )
protected

Definition at line 117 of file StandardFilterTest.php.

117  : I\Popover\Factory
118  {
119  return new I\Popover\Factory(new I\SignalGenerator());
120  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ buildSymbolFactory()

StandardFilterTest::buildSymbolFactory ( )
protected

Definition at line 108 of file StandardFilterTest.php.

108  : I\Symbol\Factory
109  {
110  return new I\Symbol\Factory(
111  new I\Symbol\Icon\Factory(),
112  new I\Symbol\Glyph\Factory(),
113  new I\Symbol\Avatar\Factory()
114  );
115  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ getUIFactory()

StandardFilterTest::getUIFactory ( )

Definition at line 132 of file StandardFilterTest.php.

◆ testDedicatedNames()

StandardFilterTest::testDedicatedNames ( )

Definition at line 687 of file StandardFilterTest.php.

References Vendor\Package\$f, and ILIAS\UI\Implementation\Component\Input\$inputs.

687  : void
688  {
689  $f = $this->buildFactory();
690  $if = $this->buildInputFactory();
691  $inputs = [
692  $if->text("Title")->withDedicatedName('title'),
693  $if->select("Selection", ["one" => "One", "two" => "Two", "three" => "Three"])->withDedicatedName('selection'),
694  $if->multiSelect("Multi Selection", ["one" => "Num One", "two" => "Num Two", "three" => "Num Three"])
695  ];
696  $filter = $f->standard(
697  "#",
698  "#",
699  "#",
700  "#",
701  "#",
702  "#",
703  $inputs,
704  [true, true, true],
705  true,
706  true
707  );
708 
709  $inputs = $filter->getInputs();
710  $this->assertEquals('filter_input_0/title', $inputs[0]->getName());
711  $this->assertEquals('filter_input_0/selection', $inputs[1]->getName());
712  $this->assertEquals('filter_input_0/filter_input_1', $inputs[2]->getName());
713  }

◆ testRenderActivatedCollapsed()

StandardFilterTest::testRenderActivatedCollapsed ( )

Definition at line 143 of file StandardFilterTest.php.

References Vendor\Package\$f, ILIAS\UI\Implementation\Component\Input\$inputs, $r, ILIAS\UI\examples\Symbol\Glyph\Apply\apply(), WithNoUIFactories\button(), ILIAS\UI\examples\Symbol\Glyph\Collapse\collapse(), ILIAS\UI\examples\Symbol\Glyph\Expand\expand(), ILIAS\Repository\filter(), ILIAS\Repository\form(), and NoUIFactory\input().

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

◆ testRenderActivatedExpanded()

StandardFilterTest::testRenderActivatedExpanded ( )

Definition at line 415 of file StandardFilterTest.php.

References Vendor\Package\$f, ILIAS\UI\Implementation\Component\Input\$inputs, $r, ILIAS\UI\examples\Symbol\Glyph\Apply\apply(), WithNoUIFactories\button(), ILIAS\UI\examples\Symbol\Glyph\Collapse\collapse(), ILIAS\UI\examples\Symbol\Glyph\Expand\expand(), ILIAS\Repository\filter(), ILIAS\Repository\form(), and NoUIFactory\input().

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

◆ testRenderDeactivatedCollapsed()

StandardFilterTest::testRenderDeactivatedCollapsed ( )

Definition at line 279 of file StandardFilterTest.php.

References Vendor\Package\$f, ILIAS\UI\Implementation\Component\Input\$inputs, $r, ILIAS\UI\examples\Symbol\Glyph\Apply\apply(), WithNoUIFactories\button(), ILIAS\UI\examples\Symbol\Glyph\Collapse\collapse(), ILIAS\UI\examples\Symbol\Glyph\Expand\expand(), ILIAS\Repository\filter(), ILIAS\Repository\form(), and NoUIFactory\input().

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

◆ testRenderDeactivatedExpanded()

StandardFilterTest::testRenderDeactivatedExpanded ( )

Definition at line 551 of file StandardFilterTest.php.

References Vendor\Package\$f, ILIAS\UI\Implementation\Component\Input\$inputs, $r, ILIAS\UI\examples\Symbol\Glyph\Apply\apply(), WithNoUIFactories\button(), ILIAS\UI\examples\Symbol\Glyph\Collapse\collapse(), ILIAS\UI\examples\Symbol\Glyph\Expand\expand(), ILIAS\Repository\filter(), ILIAS\Repository\form(), and NoUIFactory\input().

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

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