ILIAS  release_8 Revision v8.24
PaginationTest Class Reference

Test on Pagination view control. More...

+ Inheritance diagram for PaginationTest:
+ Collaboration diagram for PaginationTest:

Public Member Functions

 getUIFactory ()
 
 testConstruction ()
 
 testAttributes ()
 
 testRenderUnlimited ()
 
 testRenderWithCurrentPage ()
 
 testRenderLimited ()
 
 testRenderLimitedWithCurrentPage ()
 
 testRenderLimitedWithCurrentPage2 ()
 
 testRenderDropdown ()
 
 testGetRangeOnNull ()
 
- 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)
 

Private Member Functions

 getFactory ()
 

Additional Inherited Members

- 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 Pagination view control.

Definition at line 32 of file PaginationTest.php.

Member Function Documentation

◆ getFactory()

◆ getUIFactory()

PaginationTest::getUIFactory ( )

Reimplemented from ILIAS_UI_TestBase.

Definition at line 34 of file PaginationTest.php.

35 {
36 return new class () extends NoUIFactory {
37 public function symbol(): C\Symbol\Factory
38 {
39 return new IC\Symbol\Factory(
40 new IC\Symbol\Icon\Factory(),
41 new IC\Symbol\Glyph\Factory(),
42 new IC\Symbol\Avatar\Factory()
43 );
44 }
45 public function button(): C\Button\Factory
46 {
47 return new IC\Button\Factory();
48 }
49 public function dropdown(): C\Dropdown\Factory
50 {
51 return new IC\Dropdown\Factory();
52 }
53 };
54 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition: Bulky.php:21
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

◆ testAttributes()

PaginationTest::testAttributes ( )

Definition at line 70 of file PaginationTest.php.

70 : void
71 {
72 $total_entries = 111;
73 $page_size = 100;
74 $current_page = 1;
75 //$select_signal;
76 $target_url = 'http://testurl';
77 $parameter_name = "param_name";
78 $max_page_options = 10;
79
80 $f = $this->getFactory();
81 $p = $f->pagination()
82 ->withTargetURL($target_url, $parameter_name)
83 ->withTotalEntries($total_entries)
84 ->withPageSize($page_size)
85 ->withCurrentPage($current_page)
86 ->withMaxPaginationButtons($max_page_options)
87 ;
88
89 $this->assertEquals($target_url, $p->getTargetURL());
90 $this->assertEquals($parameter_name, $p->getParameterName());
91 $this->assertEquals($page_size, $p->getPageSize());
92 $this->assertEquals($current_page, $p->getCurrentPage());
93 $this->assertEquals($max_page_options, $p->getMaxPaginationButtons());
94 $this->assertEquals(2, $p->getNumberOfPages());
95 }

References Vendor\Package\$f, and getFactory().

+ Here is the call graph for this function:

◆ testConstruction()

PaginationTest::testConstruction ( )

Definition at line 62 of file PaginationTest.php.

62 : void
63 {
64 $f = $this->getFactory();
65 $pagination = $f->pagination();
66 $this->assertInstanceOf("ILIAS\\UI\\Component\\ViewControl\\Pagination", $pagination);
67 $this->assertInstanceOf("ILIAS\\UI\\Component\\Signal", $pagination->getInternalSignal());
68 }

References Vendor\Package\$f, and getFactory().

+ Here is the call graph for this function:

◆ testGetRangeOnNull()

PaginationTest::testGetRangeOnNull ( )

Definition at line 307 of file PaginationTest.php.

307 : void
308 {
309 $page_size = 0;
310 $current_page = 1;
311 $range = null;
312
313 $pagination = $this->getFactory()->pagination()
314 ->withCurrentPage($current_page)
315 ->withPageSize($page_size);
316
317 $this->assertNull($pagination->getRange());
318 $this->assertEquals($range, $pagination->getRange());
319 }

References getFactory().

+ Here is the call graph for this function:

◆ testRenderDropdown()

PaginationTest::testRenderDropdown ( )

Definition at line 272 of file PaginationTest.php.

272 : void
273 {
274 $p = $this->getFactory()->pagination()
275 ->withTotalEntries(3)
276 ->withPageSize(1)
277 ->withDropdownAt(1);
278
279 $expected_html = <<<EOT
280<div class="il-viewcontrol-pagination">
281 <span class="browse previous">
282 <a class="glyph disabled" aria-label="back" aria-disabled="true">
283 <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
284 </a>
285 </span>
286
287 <div class="dropdown">
288 <button class="btn btn-default dropdown-toggle" type="button" data-toggle="dropdown" id="id_4" aria-haspopup="true" aria-expanded="false" aria-controls="id_4_menu" >pagination_label_x_of_y <span class="caret"></span></button>
289 <ul id="id_4_menu" class="dropdown-menu">
290 <li><button class="btn btn-link engaged" aria-pressed="true" data-action="?pagination_offset=0" id="id_1">1</button></li>
291 <li><button class="btn btn-link" data-action="?pagination_offset=1" id="id_2">2</button></li>
292 <li><button class="btn btn-link" data-action="?pagination_offset=2" id="id_3">3</button></li>
293 </ul>
294 </div>
295
296 <span class="browse next">
297 <a tabindex="0" class="glyph" href="?pagination_offset=1" aria-label="next">
298 <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
299 </a>
300 </span>
301</div>
302EOT;
303 $html = $this->getDefaultRenderer()->render($p);
304 $this->assertHTMLEquals($expected_html, $html);
305 }
assertHTMLEquals(string $expected_html_as_string, string $html_as_string)
Definition: Base.php:427
getDefaultRenderer(JavaScriptBinding $js_binding=null, array $with_stub_renderings=[])
Definition: Base.php:355
disabled()
Example showing how to plug a disabled checkbox into a form.
Definition: disabled.php:10

References ILIAS_UI_TestBase\assertHTMLEquals(), ILIAS\UI\examples\Input\Field\Checkbox\disabled(), ILIAS_UI_TestBase\getDefaultRenderer(), and getFactory().

+ Here is the call graph for this function:

◆ testRenderLimited()

PaginationTest::testRenderLimited ( )

Definition at line 160 of file PaginationTest.php.

160 : void
161 {
162 $p = $this->getFactory()->pagination()
163 ->withTotalEntries(3)
164 ->withPageSize(1)
165 ->withMaxPaginationButtons(1);
166
167 //one entry,
168 //browse-left disabled
169 //boundary-button right
170 $expected_html = <<<EOT
171<div class="il-viewcontrol-pagination">
172 <span class="browse previous">
173 <a class="glyph disabled" aria-label="back" aria-disabled="true">
174 <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
175 </a>
176 </span>
177
178 <button class="btn btn-link engaged" aria-pressed="true" data-action="?pagination_offset=0" id="id_1">1</button>
179
180 <span class="last">
181 <button class="btn btn-link" data-action="?pagination_offset=2" id="id_2">3</button>
182 </span>
183
184 <span class="browse next">
185 <a tabindex="0" class="glyph" href="?pagination_offset=1" aria-label="next">
186 <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
187 </a>
188 </span>
189</div>
190EOT;
191 $html = $this->getDefaultRenderer()->render($p);
192 $this->assertHTMLEquals($expected_html, $html);
193 }

References ILIAS_UI_TestBase\assertHTMLEquals(), ILIAS\UI\examples\Input\Field\Checkbox\disabled(), ILIAS_UI_TestBase\getDefaultRenderer(), and getFactory().

+ Here is the call graph for this function:

◆ testRenderLimitedWithCurrentPage()

PaginationTest::testRenderLimitedWithCurrentPage ( )

Definition at line 195 of file PaginationTest.php.

195 : void
196 {
197 $p = $this->getFactory()->pagination()
198 ->withTotalEntries(3)
199 ->withPageSize(1)
200 ->withMaxPaginationButtons(1)
201 ->withCurrentPage(1);
202
203 //one entry,
204 //both rockers enabled
205 //both boundary-buttons
206 $expected_html = <<<EOT
207<div class="il-viewcontrol-pagination">
208 <span class="browse previous">
209 <a tabindex="0" class="glyph" href="?pagination_offset=0" aria-label="back">
210 <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
211 </a>
212 </span>
213
214 <span class="first">
215 <button class="btn btn-link" data-action="?pagination_offset=0" id="id_2">1</button>
216 </span>
217
218 <button class="btn btn-link engaged" aria-pressed="true" data-action="?pagination_offset=1" id="id_1">2</button>
219
220 <span class="last">
221 <button class="btn btn-link" data-action="?pagination_offset=2" id="id_3">3</button>
222 </span>
223
224 <span class="browse next">
225 <a tabindex="0" class="glyph" href="?pagination_offset=2" aria-label="next">
226 <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
227 </a>
228 </span>
229</div>
230EOT;
231 $html = $this->getDefaultRenderer()->render($p);
232 $this->assertHTMLEquals($expected_html, $html);
233 }

References ILIAS_UI_TestBase\assertHTMLEquals(), ILIAS_UI_TestBase\getDefaultRenderer(), and getFactory().

+ Here is the call graph for this function:

◆ testRenderLimitedWithCurrentPage2()

PaginationTest::testRenderLimitedWithCurrentPage2 ( )

Definition at line 235 of file PaginationTest.php.

235 : void
236 {
237 $p = $this->getFactory()->pagination()
238 ->withTotalEntries(3)
239 ->withPageSize(1)
240 ->withMaxPaginationButtons(1)
241 ->withCurrentPage(2);
242
243 //one entry,
244 //browse-right disabled
245 //boundary-button left only
246 $expected_html = <<<EOT
247<div class="il-viewcontrol-pagination">
248 <span class="browse previous">
249 <a tabindex="0" class="glyph" href="?pagination_offset=1" aria-label="back">
250 <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
251 </a>
252 </span>
253 <span class="first">
254 <button class="btn btn-link" data-action="?pagination_offset=0" id="id_2">1</button>
255 </span>
256
257 <button class="btn btn-link engaged" aria-pressed="true" data-action="?pagination_offset=2" id="id_1">3</button>
258
259 <span class="browse next">
260 <a class="glyph disabled" aria-label="next" aria-disabled="true">
261 <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
262 </a>
263 </span>
264</div>
265EOT;
266 $html = $this->getDefaultRenderer()->render($p);
267 $this->assertHTMLEquals($expected_html, $html);
268 }

References ILIAS_UI_TestBase\assertHTMLEquals(), ILIAS\UI\examples\Input\Field\Checkbox\disabled(), ILIAS_UI_TestBase\getDefaultRenderer(), and getFactory().

+ Here is the call graph for this function:

◆ testRenderUnlimited()

PaginationTest::testRenderUnlimited ( )

Definition at line 97 of file PaginationTest.php.

97 : void
98 {
99 $p = $this->getFactory()->pagination()
100 ->withTotalEntries(2)
101 ->withPageSize(1);
102
103 //two entries, first one inactive
104 //browse-left disabled
105 $expected_html = <<<EOT
106<div class="il-viewcontrol-pagination">
107 <span class="browse previous">
108 <a class="glyph disabled" aria-label="back" aria-disabled="true">
109 <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
110 </a>
111 </span>
112
113 <button class="btn btn-link engaged" aria-pressed="true" data-action="?pagination_offset=0" id="id_1">1</button>
114 <button class="btn btn-link" data-action="?pagination_offset=1" id="id_2">2</button>
115
116 <span class="browse next">
117 <a tabindex="0" class="glyph" href="?pagination_offset=1" aria-label="next">
118 <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
119 </a>
120 </span>
121</div>
122EOT;
123
124 $html = $this->getDefaultRenderer()->render($p);
125 $this->assertHTMLEquals($expected_html, $html);
126 }

References ILIAS_UI_TestBase\assertHTMLEquals(), ILIAS\UI\examples\Input\Field\Checkbox\disabled(), ILIAS_UI_TestBase\getDefaultRenderer(), and getFactory().

+ Here is the call graph for this function:

◆ testRenderWithCurrentPage()

PaginationTest::testRenderWithCurrentPage ( )

Definition at line 128 of file PaginationTest.php.

128 : void
129 {
130 $p = $this->getFactory()->pagination()
131 ->withTotalEntries(2)
132 ->withPageSize(1)
133 ->withCurrentPage(1);
134
135 //two entries, second one inactive
136 //browse-right disabled
137 $expected_html = <<<EOT
138<div class="il-viewcontrol-pagination">
139 <span class="browse previous">
140 <a tabindex="0" class="glyph" href="?pagination_offset=0" aria-label="back">
141 <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
142 </a>
143 </span>
144
145 <button class="btn btn-link" data-action="?pagination_offset=0" id="id_1">1</button>
146 <button class="btn btn-link engaged" aria-pressed="true" data-action="?pagination_offset=1" id="id_2">2</button>
147
148 <span class="browse next">
149 <a class="glyph disabled" aria-label="next" aria-disabled="true">
150 <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
151 </a>
152 </span>
153</div>
154EOT;
155
156 $html = $this->getDefaultRenderer()->render($p);
157 $this->assertHTMLEquals($expected_html, $html);
158 }

References ILIAS_UI_TestBase\assertHTMLEquals(), ILIAS\UI\examples\Input\Field\Checkbox\disabled(), ILIAS_UI_TestBase\getDefaultRenderer(), and getFactory().

+ Here is the call graph for this function:

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