ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
PCListTest.php
Go to the documentation of this file.
1<?php
2
19use PHPUnit\Framework\TestCase;
20
25{
26 public function testConstruction(): void
27 {
28 $page = $this->getEmptyPageWithDom();
29 $pc = new ilPCList($page);
30 $this->assertEquals(
31 ilPCList::class,
32 get_class($pc)
33 );
34 }
35
36 public function testCreate(): void
37 {
38 $page = $this->getEmptyPageWithDom();
39 $pc = new ilPCList($page);
40 $pc->create($page, "pg");
41 $this->assertXmlEquals(
42 '<PageObject HierId="pg"><PageContent><List></List></PageContent></PageObject>',
43 $page->getXMLFromDom()
44 );
45 }
46
47 public function testAddItems(): void
48 {
49 $page = $this->getEmptyPageWithDom();
50 $pc = new ilPCList($page);
51 $pc->create($page, "pg");
52 $pc->addItems(2);
53
54 $page->stripHierIDs();
55
56 $expected = <<<EOT
57<PageObject><PageContent><List><ListItem/><ListItem/></List></PageContent></PageObject>
58EOT;
59 $this->assertXmlEquals(
60 $expected,
61 $page->getXMLFromDom()
62 );
63 }
64
65 public function testListType(): void
66 {
67 $page = $this->getEmptyPageWithDom();
68 $pc = new ilPCList($page);
69 $pc->create($page, "pg");
70 $pc->setListType("Ordered");
71
72 $this->assertEquals(
73 "Ordered",
74 $pc->getListType()
75 );
76
77 $pc->setListType("Unordered");
78
79 $this->assertEquals(
80 "Unordered",
81 $pc->getListType()
82 );
83
84 $page->stripHierIDs();
85
86 $expected = <<<EOT
87<PageObject><PageContent><List Type="Unordered"/></PageContent></PageObject>
88EOT;
89 $this->assertXmlEquals(
90 $expected,
91 $page->getXMLFromDom()
92 );
93 }
94
95 public function testNumberingType(): void
96 {
97 $page = $this->getEmptyPageWithDom();
98 $pc = new ilPCList($page);
99 $pc->create($page, "pg");
100 $pc->setListType("Ordered");
101 $pc->setNumberingType("Roman");
102
103 $this->assertEquals(
104 "Roman",
105 $pc->getNumberingType()
106 );
107
108 $pc->setNumberingType("alphabetic");
109
110 $this->assertEquals(
111 "alphabetic",
112 $pc->getNumberingType()
113 );
114
115 $page->stripHierIDs();
116
117 $expected = <<<EOT
118<PageObject><PageContent><List Type="Ordered" NumberingType="alphabetic"/></PageContent></PageObject>
119EOT;
120 $this->assertXmlEquals(
121 $expected,
122 $page->getXMLFromDom()
123 );
124 }
125
126 public function testStartValue(): void
127 {
128 $page = $this->getEmptyPageWithDom();
129 $pc = new ilPCList($page);
130 $pc->create($page, "pg");
131 $pc->setListType("Ordered");
132 $pc->setStartValue("3");
133
134 $this->assertEquals(
135 "3",
136 $pc->getStartValue()
137 );
138
139 $page->stripHierIDs();
140
141 $expected = <<<EOT
142<PageObject><PageContent><List Type="Ordered" StartValue="3"/></PageContent></PageObject>
143EOT;
144 $this->assertXmlEquals(
145 $expected,
146 $page->getXMLFromDom()
147 );
148 }
149
150 public function testStyleClass(): void
151 {
152 $page = $this->getEmptyPageWithDom();
153 $pc = new ilPCList($page);
154 $pc->create($page, "pg");
155 $pc->setListType("Ordered");
156 $pc->setStyleClass("MyClass");
157
158 $this->assertEquals(
159 "MyClass",
160 $pc->getStyleClass()
161 );
162
163 $page->stripHierIDs();
164
165 $expected = <<<EOT
166<PageObject><PageContent><List Type="Ordered" Class="MyClass"/></PageContent></PageObject>
167EOT;
168 $this->assertXmlEquals(
169 $expected,
170 $page->getXMLFromDom()
171 );
172 }
173
174 //
175 // Test file items
176 //
177
178 protected function getPageWithList(): ilPageObject
179 {
180 $page = $this->getEmptyPageWithDom();
181 $pc = new ilPCList($page);
182 $pc->create($page, "pg");
183 $pc->addItems(3);
184 $page->addHierIDs();
185
186 $par1 = new ilPCParagraph($page);
187 $par1->create($page, "1_1");
188 $par1->setLanguage("en");
189 $par1->setText("One");
190
191 $par2 = new ilPCParagraph($page);
192 $par2->create($page, "1_2");
193 $par2->setLanguage("en");
194 $par2->setText("Two");
195
196 $page->addHierIDs();
197 $page->insertPCIds();
198
199 return $page;
200 }
201
202 protected function getItemForHierId(ilPageObject $page, string $hier_id): ilPCListItem
203 {
204 $pc_id = $page->getPCIdForHierId($hier_id);
205 $cont_node = $page->getContentDomNode($hier_id);
206 $pc = new ilPCListItem($page);
207 $pc->setDomNode($cont_node);
208 $pc->setHierId($hier_id);
209 $pc->setPcId($pc_id);
210 return $pc;
211 }
212
213 public function testNewItemAfter(): void
214 {
215 $page = $this->getPageWithList();
216 $item = $this->getItemForHierId($page, "1_1");
217 $item->newItemAfter();
218 $page->stripHierIDs();
219 $page->stripPCIDs();
220
221 $expected = <<<EOT
222<PageObject><PageContent><List><ListItem><PageContent><Paragraph Language="en">One</Paragraph></PageContent></ListItem><ListItem/><ListItem><PageContent><Paragraph Language="en">Two</Paragraph></PageContent></ListItem><ListItem/></List></PageContent></PageObject>
223EOT;
224
225 $this->assertXmlEquals(
226 $expected,
227 $page->getXMLFromDom()
228 );
229 }
230
231 public function testNewItemBefore(): void
232 {
233 $page = $this->getPageWithList();
234 $item = $this->getItemForHierId($page, "1_2");
235 $item->newItemBefore();
236 $page->stripHierIDs();
237 $page->stripPCIDs();
238
239 $expected = <<<EOT
240<PageObject><PageContent><List><ListItem><PageContent><Paragraph Language="en">One</Paragraph></PageContent></ListItem><ListItem/><ListItem><PageContent><Paragraph Language="en">Two</Paragraph></PageContent></ListItem><ListItem/></List></PageContent></PageObject>
241EOT;
242
243 $this->assertXmlEquals(
244 $expected,
245 $page->getXMLFromDom()
246 );
247 }
248
249 public function testDeleteItem(): void
250 {
251 $page = $this->getPageWithList();
252 $item = $this->getItemForHierId($page, "1_1");
253 $item->deleteItem();
254 $page->stripHierIDs();
255 $page->stripPCIDs();
256
257 $expected = <<<EOT
258<PageObject><PageContent><List><ListItem><PageContent><Paragraph Language="en">Two</Paragraph></PageContent></ListItem><ListItem/></List></PageContent></PageObject>
259EOT;
260
261 $this->assertXmlEquals(
262 $expected,
263 $page->getXMLFromDom()
264 );
265 }
266
267 public function testMoveItemDown(): void
268 {
269 $page = $this->getPageWithList();
270 $item = $this->getItemForHierId($page, "1_1");
271 $item->moveItemDown();
272 $page->stripHierIDs();
273 $page->stripPCIDs();
274
275 $expected = <<<EOT
276<PageObject><PageContent><List><ListItem><PageContent><Paragraph Language="en">Two</Paragraph></PageContent></ListItem><ListItem><PageContent><Paragraph Language="en">One</Paragraph></PageContent></ListItem><ListItem/></List></PageContent></PageObject>
277EOT;
278
279 $this->assertXmlEquals(
280 $expected,
281 $page->getXMLFromDom()
282 );
283 }
284
285 public function testMoveItemUp(): void
286 {
287 $page = $this->getPageWithList();
288 $item = $this->getItemForHierId($page, "1_2");
289 $item->moveItemUp();
290 $page->stripHierIDs();
291 $page->stripPCIDs();
292
293 $expected = <<<EOT
294<PageObject><PageContent><List><ListItem><PageContent><Paragraph Language="en">Two</Paragraph></PageContent></ListItem><ListItem><PageContent><Paragraph Language="en">One</Paragraph></PageContent></ListItem><ListItem/></List></PageContent></PageObject>
295EOT;
296
297 $this->assertXmlEquals(
298 $expected,
299 $page->getXMLFromDom()
300 );
301 }
302}
assertXmlEquals(string $expected_xml_as_string, string $html_xml_string)
testMoveItemDown()
Definition: PCListTest.php:267
testNumberingType()
Definition: PCListTest.php:95
testNewItemAfter()
Definition: PCListTest.php:213
testNewItemBefore()
Definition: PCListTest.php:231
getItemForHierId(ilPageObject $page, string $hier_id)
Definition: PCListTest.php:202
testConstruction()
Definition: PCListTest.php:26
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...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Class ilPageObject Handles PageObjects of ILIAS Learning Modules (see ILIAS DTD)
getContentDomNode(string $a_hier_id, string $a_pc_id="")
getPCIdForHierId(string $hier_id)