19declare(strict_types=1);
21require_once(__DIR__ .
"/../../../../../../../../vendor/composer/vendor/autoload.php");
22require_once(__DIR__ .
"/../../../../Base.php");
23require_once(__DIR__ .
"/FilterTest.php");
76 return new I\Input\Container\Filter\Factory(
77 new I\SignalGenerator(),
84 $df =
new Data\Factory();
85 $language = $this->createMock(
ILIAS\
Language\Language::class);
86 return new I\Input\Field\Factory(
89 new I\SignalGenerator(),
98 return new I\Symbol\Factory(
107 return new I\Button\Factory();
112 return new I\Popover\Factory(
new I\SignalGenerator());
117 $mock = $this->createMock(
I\Legacy\Factory::class);
118 $mock->method(
'content')->willReturn(
119 new I\Legacy\
Content(
'',
new I\SignalGenerator())
138 $text = $if->text(
'label',
'byline');
139 $filter =
$f->standard(
"#",
"#",
"#",
"#",
"#",
"#", [], [],
false,
false);
140 $fr = $this->getDefaultRenderer(
null, [], [$filter]);
141 $html = $this->brutallyTrimHTML($fr->render(
$text));
143 $expected = $this->brutallyTrimHTML(
'
144 <div class="col-md-6 col-lg-4 il-popover-container">
145 <div data-il-ui-component="text-field-input" data-il-ui-input-name="" class="input-group">
146 <label for="id_1" class="input-group-addon leftaddon">label</label>
147 <input id="id_1" type="text" class="c-field-text" />
148 <span class="input-group-addon rightaddon">
149 <button type="button" class="btn btn-link" aria-label="remove" data-action="" id="id_2"><span class="glyph" aria-hidden="true"><span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span></span></button>
154 $this->assertHTMLEquals($expected, $html);
161 $numeric = $if->numeric(
'label',
'byline');
162 $filter =
$f->standard(
"#",
"#",
"#",
"#",
"#",
"#", [], [],
false,
false);
163 $fr = $this->getDefaultRenderer(
null, [], [$filter]);
164 $html = $this->brutallyTrimHTML($fr->render($numeric));
166 $expected = $this->brutallyTrimHTML(
'
167 <div class="col-md-6 col-lg-4 il-popover-container"><div data-il-ui-component="numeric-field-input" data-il-ui-input-name="" class="input-group">
168 <label for="id_1" class="input-group-addon leftaddon">label</label>
169 <input id="id_1" type="number" step="1" class="c-field-number" />
170 <span class="input-group-addon rightaddon">
171 <button type="button" class="btn btn-link" aria-label="remove" data-action="" id="id_2"><span class="glyph" aria-hidden="true"><span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span></span></button>
176 $this->assertHTMLEquals($expected, $html);
183 $options = [
"one" =>
"One",
"two" =>
"Two",
"three" =>
"Three"];
184 $select = $if->select(
'label',
$options,
'byline');
185 $filter =
$f->standard(
"#",
"#",
"#",
"#",
"#",
"#", [], [],
false,
false);
186 $fr = $this->getDefaultRenderer(
null, [], [$filter]);
187 $html = $this->brutallyTrimHTML($fr->render($select));
189 $expected = $this->brutallyTrimHTML(
'
190 <div class="col-md-6 col-lg-4 il-popover-container"><div data-il-ui-component="select-field-input" data-il-ui-input-name="" class="input-group">
191 <label for="id_1" class="input-group-addon leftaddon">label</label>
193 <option selected="selected" value="">-</option>
194 <option value="one">One</option>
195 <option value="two">Two</option>
196 <option value="three">Three</option>
198 <span class="input-group-addon rightaddon">
199 <button type="button" class="btn btn-link" aria-label="remove" data-action="" id="id_2"><span class="glyph" aria-hidden="true"><span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span></span></button>
204 $this->assertHTMLEquals($expected, $html);
211 $options = [
"one" =>
"One",
"two" =>
"Two",
"three" =>
"Three"];
212 $multi = $if->multiSelect(
'label',
$options,
'byline');
213 $filter =
$f->standard(
"#",
"#",
"#",
"#",
"#",
"#", [], [],
false,
false);
214 $fr = $this->getDefaultRenderer(
null, [], [$filter]);
215 $html = $this->brutallyTrimHTML($fr->render($multi));
217 $expected = $this->brutallyTrimHTML(
'
218 <div class="col-md-6 col-lg-4 il-popover-container"><div data-il-ui-component="multi-select-field-input" data-il-ui-input-name="" class="input-group">
219 <label class="input-group-addon leftaddon">label</label>
220 <span role="button" tabindex="0" class="form-control il-filter-field" id="id_3" data-placement="bottom"></span>
221 <div class="il-standard-popover-content" style="display:none;" id="id_1"></div>
222 <span class="input-group-addon rightaddon">
223 <button type="button" class="btn btn-link" aria-label="remove" data-action="" id="id_4"><span class="glyph" aria-hidden="true"><span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span></span></button>
228 $this->assertHTMLEquals($expected, $html);
235 $datetime = $if->dateTime(
'label',
'byline');
236 $filter =
$f->standard(
"#",
"#",
"#",
"#",
"#",
"#", [], [],
false,
false);
237 $fr = $this->getDefaultRenderer(
null, [], [$filter]);
238 $html = $this->brutallyTrimHTML($fr->render(
$datetime));
240 $expected = $this->brutallyTrimHTML(
'
241 <div class="col-md-6 col-lg-4 il-popover-container"><div data-il-ui-component="date-time-field-input" data-il-ui-input-name="" class="input-group">
242 <label for="id_1" class="input-group-addon leftaddon">label</label>
243 <div class="c-input-group">
244 <input id="id_1" type="date" class="c-field-datetime" />
246 <span class="input-group-addon rightaddon">
247 <button type="button" class="btn btn-link" aria-label="remove" data-action="" id="id_2"><span class="glyph" aria-hidden="true"><span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span></span></button>
252 $this->assertHTMLEquals($expected, $html);
259 $duration = $if->duration(
'label',
'byline');
260 $datetime = $if->dateTime(
'label',
'byline');
261 $filter =
$f->standard(
"#",
"#",
"#",
"#",
"#",
"#", [], [],
false,
false);
263 $html = $this->brutallyTrimHTML($dr->render(
$datetime));
265 $expected = $this->brutallyTrimHTML(
'
266 <fieldset class="c-input" data-il-ui-component="" data-il-ui-input-name="">
267 <label for="id_1">label</label>
268 <div class="c-input__field">
269 <div class="c-input-group">
270 <input id="id_1" type="date" class="c-field-datetime" />
275 $this->assertEquals($expected, $html);
276 $this->assertHTMLEquals($expected, $html);
283 $datetime = $if->duration(
'label',
'byline');
284 $filter =
$f->standard(
"#",
"#",
"#",
"#",
"#",
"#", [], [],
false,
false);
285 $fr = $this->getDefaultRenderer(
null, [], [$filter]);
286 $html = $this->brutallyTrimHTML($fr->render(
$datetime));
287 $label_start =
'duration_default_label_start';
288 $label_end =
'duration_default_label_end';
291 $expected = $this->brutallyTrimHTML(
'
292 <div class="col-md-6 col-lg-4 il-popover-container"><div data-il-ui-component="duration-field-input" data-il-ui-input-name="" class="input-group">
293 <label class="input-group-addon leftaddon">label</label>
294 <span role="button" tabindex="0" class="form-control il-filter-field" id="id_6" data-placement="bottom"></span>
295 <div class="il-standard-popover-content" style="display:none;" id="id_4"></div>
296 <span class="input-group-addon rightaddon">
297 <button type="button" class="btn btn-link" aria-label="remove" data-action="" id="id_7"><span class="glyph" aria-hidden="true"><span class="glyphicon glyphicon-minus-sign" aria-hidden="true"></span></span></button>
302 $this->assertHTMLEquals($expected, $html);
Provides common functionality for UI tests.
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.