ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
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  }

◆ 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...

◆ 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  }
Class Factory.
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 121 of file StandardFilterTest.php.

121  : I\Legacy\Factory
122  {
123  return new I\Legacy\Factory(new I\SignalGenerator());
124  }
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 126 of file StandardFilterTest.php.

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

◆ 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  }
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 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  }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ getUIFactory()

StandardFilterTest::getUIFactory ( )

Definition at line 131 of file StandardFilterTest.php.

◆ test_dedicated_names()

StandardFilterTest::test_dedicated_names ( )

Definition at line 678 of file StandardFilterTest.php.

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

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  }

◆ test_render_activated_collapsed()

StandardFilterTest::test_render_activated_collapsed ( )

Definition at line 142 of file StandardFilterTest.php.

References Vendor\Package\$f, ILIAS\UI\Implementation\Component\Input\$inputs, ILIAS\UI\examples\Symbol\Glyph\Apply\apply(), WithNoUIFactories\button(), 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 NoUIFactory\input().

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>
271 EOT;
272 
273  $this->assertHTMLEquals($this->brutallyTrimHTML($expected), $this->brutallyTrimHTML($html));
274  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
Title class.
Definition: Title.php:26
brutallyTrimHTML(string $html)
A more radical version of normalizeHTML.
Definition: Base.php:444
assertHTMLEquals(string $expected_html_as_string, string $html_as_string)
Definition: Base.php:427
form( $class_path, string $cmd)
+ 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.

References Vendor\Package\$f, ILIAS\UI\Implementation\Component\Input\$inputs, ILIAS\UI\examples\Symbol\Glyph\Apply\apply(), WithNoUIFactories\button(), 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 NoUIFactory\input().

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>
539 EOT;
540 
541  $this->assertHTMLEquals($this->brutallyTrimHTML($expected), $this->brutallyTrimHTML($html));
542  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
Title class.
Definition: Title.php:26
brutallyTrimHTML(string $html)
A more radical version of normalizeHTML.
Definition: Base.php:444
assertHTMLEquals(string $expected_html_as_string, string $html_as_string)
Definition: Base.php:427
form( $class_path, string $cmd)
+ 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.

References Vendor\Package\$f, ILIAS\UI\Implementation\Component\Input\$inputs, ILIAS\UI\examples\Symbol\Glyph\Apply\apply(), WithNoUIFactories\button(), 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 NoUIFactory\input().

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>
405 EOT;
406 
407  $this->assertHTMLEquals($this->brutallyTrimHTML($expected), $this->brutallyTrimHTML($html));
408  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
Title class.
Definition: Title.php:26
brutallyTrimHTML(string $html)
A more radical version of normalizeHTML.
Definition: Base.php:444
assertHTMLEquals(string $expected_html_as_string, string $html_as_string)
Definition: Base.php:427
form( $class_path, string $cmd)
+ 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.

References Vendor\Package\$f, ILIAS\UI\Implementation\Component\Input\$inputs, ILIAS\UI\examples\Symbol\Glyph\Apply\apply(), WithNoUIFactories\button(), 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 NoUIFactory\input().

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>
673 EOT;
674 
675  $this->assertHTMLEquals($this->brutallyTrimHTML($expected), $this->brutallyTrimHTML($html));
676  }
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
Title class.
Definition: Title.php:26
brutallyTrimHTML(string $html)
A more radical version of normalizeHTML.
Definition: Base.php:444
assertHTMLEquals(string $expected_html_as_string, string $html_as_string)
Definition: Base.php:427
form( $class_path, string $cmd)
+ Here is the call graph for this function:

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