ILIAS  trunk Revision v11.0_alpha-1723-g8e69f309bab
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
PCTableDataTest.php
Go to the documentation of this file.
1 <?php
2 
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>
70 EOT;
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>
88 EOT;
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>
106 EOT;
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>
124 EOT;
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>
142 EOT;
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>
160 EOT;
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>
178 EOT;
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>
196 EOT;
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>
214 EOT;
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>
232 EOT;
233 
234  $this->assertXmlEquals(
235  $expected,
236  $page->getXMLFromDom()
237  );
238  }
239 }
getContentDomNode(string $a_hier_id, string $a_pc_id="")
getTDForHierId(ilPageObject $page, string $hier_id)
getPCIdForHierId(string $hier_id)
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)
assertXmlEquals(string $expected_xml_as_string, string $html_xml_string)
Class ilPCDataTable.