ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
PCTableDataTest.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 ilPCTableData($page);
30 $this->assertEquals(
31 ilPCTableData::class,
32 get_class($pc)
33 );
34 }
35
36 protected function getPageWithTable(): ilPageObject
37 {
38 $page = $this->getEmptyPageWithDom();
39 $pc = new ilPCDataTable($page);
40 $pc->create($page, "pg");
41 $pc->setLanguage("en");
42 $pc->importSpreadsheet("en", "one\ttwo\nthree\tfour");
43 $page->addHierIDs();
44 $page->insertPCIds();
45 $pc->setHierId("1");
46 return $page;
47 }
48
49 protected function getTDForHierId(ilPageObject $page, string $hier_id): ilPCTableData
50 {
51 $pc_id = $page->getPCIdForHierId($hier_id);
52 $cont_node = $page->getContentDomNode($hier_id);
53 $pc = new ilPCTableData($page);
54 $pc->setDomNode($cont_node);
55 $pc->setHierId($hier_id);
56 $pc->setPcId($pc_id);
57 return $pc;
58 }
59
60 public function testNewRowAfter(): void
61 {
62 $page = $this->getPageWithTable();
63 $td = $this->getTDForHierId($page, "1_1_1");
64 $td->newRowAfter();
65 $page->stripHierIDs();
66 $page->stripPCIDs();
67
68 $expected = <<<EOT
69<PageObject><PageContent><Table Language="en" DataTable="y"><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">one</Paragraph></PageContent></TableData><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">two</Paragraph></PageContent></TableData></TableRow><TableRow><TableData/><TableData/></TableRow><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">three</Paragraph></PageContent></TableData><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">four</Paragraph></PageContent></TableData></TableRow></Table></PageContent></PageObject>
70EOT;
71
72 $this->assertXmlEquals(
73 $expected,
74 $page->getXMLFromDom()
75 );
76 }
77
78 public function testNewRowBefore(): void
79 {
80 $page = $this->getPageWithTable();
81 $td = $this->getTDForHierId($page, "1_2_1");
82 $td->newRowBefore();
83 $page->stripHierIDs();
84 $page->stripPCIDs();
85
86 $expected = <<<EOT
87<PageObject><PageContent><Table Language="en" DataTable="y"><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">one</Paragraph></PageContent></TableData><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">two</Paragraph></PageContent></TableData></TableRow><TableRow><TableData/><TableData/></TableRow><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">three</Paragraph></PageContent></TableData><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">four</Paragraph></PageContent></TableData></TableRow></Table></PageContent></PageObject>
88EOT;
89
90 $this->assertXmlEquals(
91 $expected,
92 $page->getXMLFromDom()
93 );
94 }
95
96 public function testDeleteRow(): void
97 {
98 $page = $this->getPageWithTable();
99 $td = $this->getTDForHierId($page, "1_2_1");
100 $td->deleteRow();
101 $page->stripHierIDs();
102 $page->stripPCIDs();
103
104 $expected = <<<EOT
105<PageObject><PageContent><Table Language="en" DataTable="y"><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">one</Paragraph></PageContent></TableData><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">two</Paragraph></PageContent></TableData></TableRow></Table></PageContent></PageObject>
106EOT;
107
108 $this->assertXmlEquals(
109 $expected,
110 $page->getXMLFromDom()
111 );
112 }
113
114 public function testNewColAfter(): void
115 {
116 $page = $this->getPageWithTable();
117 $td = $this->getTDForHierId($page, "1_1_1");
118 $td->newColAfter();
119 $page->stripHierIDs();
120 $page->stripPCIDs();
121
122 $expected = <<<EOT
123<PageObject><PageContent><Table Language="en" DataTable="y"><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">one</Paragraph></PageContent></TableData><TableData/><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">two</Paragraph></PageContent></TableData></TableRow><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">three</Paragraph></PageContent></TableData><TableData/><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">four</Paragraph></PageContent></TableData></TableRow></Table></PageContent></PageObject>
124EOT;
125
126 $this->assertXmlEquals(
127 $expected,
128 $page->getXMLFromDom()
129 );
130 }
131
132 public function testNewColBefore(): void
133 {
134 $page = $this->getPageWithTable();
135 $td = $this->getTDForHierId($page, "1_1_2");
136 $td->newColBefore();
137 $page->stripHierIDs();
138 $page->stripPCIDs();
139
140 $expected = <<<EOT
141<PageObject><PageContent><Table Language="en" DataTable="y"><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">one</Paragraph></PageContent></TableData><TableData/><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">two</Paragraph></PageContent></TableData></TableRow><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">three</Paragraph></PageContent></TableData><TableData/><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">four</Paragraph></PageContent></TableData></TableRow></Table></PageContent></PageObject>
142EOT;
143
144 $this->assertXmlEquals(
145 $expected,
146 $page->getXMLFromDom()
147 );
148 }
149
150 public function testDeleteCol(): void
151 {
152 $page = $this->getPageWithTable();
153 $td = $this->getTDForHierId($page, "1_1_1");
154 $td->deleteCol();
155 $page->stripHierIDs();
156 $page->stripPCIDs();
157
158 $expected = <<<EOT
159<PageObject><PageContent><Table Language="en" DataTable="y"><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">two</Paragraph></PageContent></TableData></TableRow><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">four</Paragraph></PageContent></TableData></TableRow></Table></PageContent></PageObject>
160EOT;
161
162 $this->assertXmlEquals(
163 $expected,
164 $page->getXMLFromDom()
165 );
166 }
167
168 public function testMoveRowDown(): void
169 {
170 $page = $this->getPageWithTable();
171 $td = $this->getTDForHierId($page, "1_1_1");
172 $td->moveRowDown();
173 $page->stripHierIDs();
174 $page->stripPCIDs();
175
176 $expected = <<<EOT
177<PageObject><PageContent><Table Language="en" DataTable="y"><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">three</Paragraph></PageContent></TableData><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">four</Paragraph></PageContent></TableData></TableRow><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">one</Paragraph></PageContent></TableData><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">two</Paragraph></PageContent></TableData></TableRow></Table></PageContent></PageObject>
178EOT;
179
180 $this->assertXmlEquals(
181 $expected,
182 $page->getXMLFromDom()
183 );
184 }
185
186 public function testMoveRowUp(): void
187 {
188 $page = $this->getPageWithTable();
189 $td = $this->getTDForHierId($page, "1_2_1");
190 $td->moveRowUp();
191 $page->stripHierIDs();
192 $page->stripPCIDs();
193
194 $expected = <<<EOT
195<PageObject><PageContent><Table Language="en" DataTable="y"><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">three</Paragraph></PageContent></TableData><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">four</Paragraph></PageContent></TableData></TableRow><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">one</Paragraph></PageContent></TableData><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">two</Paragraph></PageContent></TableData></TableRow></Table></PageContent></PageObject>
196EOT;
197
198 $this->assertXmlEquals(
199 $expected,
200 $page->getXMLFromDom()
201 );
202 }
203
204 public function testMoveColRight(): void
205 {
206 $page = $this->getPageWithTable();
207 $td = $this->getTDForHierId($page, "1_1_1");
208 $td->moveColRight();
209 $page->stripHierIDs();
210 $page->stripPCIDs();
211
212 $expected = <<<EOT
213<PageObject><PageContent><Table Language="en" DataTable="y"><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">two</Paragraph></PageContent></TableData><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">one</Paragraph></PageContent></TableData></TableRow><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">four</Paragraph></PageContent></TableData><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">three</Paragraph></PageContent></TableData></TableRow></Table></PageContent></PageObject>
214EOT;
215
216 $this->assertXmlEquals(
217 $expected,
218 $page->getXMLFromDom()
219 );
220 }
221
222 public function testMoveColLeft(): void
223 {
224 $page = $this->getPageWithTable();
225 $td = $this->getTDForHierId($page, "1_1_2");
226 $td->moveColLeft();
227 $page->stripHierIDs();
228 $page->stripPCIDs();
229
230 $expected = <<<EOT
231<PageObject><PageContent><Table Language="en" DataTable="y"><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">two</Paragraph></PageContent></TableData><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">one</Paragraph></PageContent></TableData></TableRow><TableRow><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">four</Paragraph></PageContent></TableData><TableData><PageContent><Paragraph Language="en" Characteristic="TableContent">three</Paragraph></PageContent></TableData></TableRow></Table></PageContent></PageObject>
232EOT;
233
234 $this->assertXmlEquals(
235 $expected,
236 $page->getXMLFromDom()
237 );
238 }
239}
assertXmlEquals(string $expected_xml_as_string, string $html_xml_string)
getTDForHierId(ilPageObject $page, string $hier_id)
Class ilPCDataTable.
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)