xref: /dokuwiki/_test/tests/inc/parser/parser_table.test.php (revision f05a1cc5fcdb4c2b6ee3cbf499f980f800dbd105)
1f8369d7dSTobias Sarnowski<?php
2f8369d7dSTobias Sarnowskirequire_once 'parser.inc.php';
3f8369d7dSTobias Sarnowski
4f8369d7dSTobias Sarnowskiclass TestOfDoku_Parser_Table extends TestOfDoku_Parser {
5f8369d7dSTobias Sarnowski
6f8369d7dSTobias Sarnowski    function testTable() {
7f8369d7dSTobias Sarnowski        $this->P->addMode('table',new Doku_Parser_Mode_Table());
8f8369d7dSTobias Sarnowski        $this->P->parse('
9f8369d7dSTobias Sarnowskiabc
10f8369d7dSTobias Sarnowski| Row 0 Col 1    | Row 0 Col 2     | Row 0 Col 3        |
11f8369d7dSTobias Sarnowski| Row 1 Col 1    | Row 1 Col 2     | Row 1 Col 3        |
12f8369d7dSTobias Sarnowskidef');
13f8369d7dSTobias Sarnowski        $calls = array (
14f8369d7dSTobias Sarnowski            array('document_start',array()),
15f8369d7dSTobias Sarnowski            array('p_open',array()),
16f8369d7dSTobias Sarnowski            array('cdata',array("\n\nabc")),
17f8369d7dSTobias Sarnowski            array('p_close',array()),
18f8369d7dSTobias Sarnowski            array('table_open',array(3, 2, 6)),
19f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
20f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
21f8369d7dSTobias Sarnowski            array('cdata',array(' Row 0 Col 1    ')),
22f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
23f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
24f8369d7dSTobias Sarnowski            array('cdata',array(' Row 0 Col 2     ')),
25f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
26f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
27f8369d7dSTobias Sarnowski            array('cdata',array(' Row 0 Col 3        ')),
28f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
29f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
30f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
31f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
32f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 1    ')),
33f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
34f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
35f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 2     ')),
36f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
37f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
38f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 3        ')),
39f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
40f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
41f8369d7dSTobias Sarnowski            array('table_close',array(121)),
42f8369d7dSTobias Sarnowski            array('p_open',array()),
43f8369d7dSTobias Sarnowski            array('cdata',array('def')),
44f8369d7dSTobias Sarnowski            array('p_close',array()),
45f8369d7dSTobias Sarnowski            array('document_end',array()),
46f8369d7dSTobias Sarnowski        );
47f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
48f8369d7dSTobias Sarnowski    }
49f8369d7dSTobias Sarnowski
50f8369d7dSTobias Sarnowski    function testTableWinEOL() {
51f8369d7dSTobias Sarnowski        $this->P->addMode('table',new Doku_Parser_Mode_Table());
52f8369d7dSTobias Sarnowski        $this->P->parse("\r\nabc\r\n| Row 0 Col 1    | Row 0 Col 2     | Row 0 Col 3        |\r\n| Row 1 Col 1    | Row 1 Col 2     | Row 1 Col 3        |\r\ndef");
53f8369d7dSTobias Sarnowski        $calls = array (
54f8369d7dSTobias Sarnowski            array('document_start',array()),
55f8369d7dSTobias Sarnowski            array('p_open',array()),
56f8369d7dSTobias Sarnowski            array('cdata',array("\n\nabc")),
57f8369d7dSTobias Sarnowski            array('p_close',array()),
58f8369d7dSTobias Sarnowski            array('table_open',array(3, 2, 6)),
59f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
60f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
61f8369d7dSTobias Sarnowski            array('cdata',array(' Row 0 Col 1    ')),
62f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
63f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
64f8369d7dSTobias Sarnowski            array('cdata',array(' Row 0 Col 2     ')),
65f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
66f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
67f8369d7dSTobias Sarnowski            array('cdata',array(' Row 0 Col 3        ')),
68f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
69f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
70f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
71f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
72f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 1    ')),
73f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
74f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
75f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 2     ')),
76f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
77f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
78f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 3        ')),
79f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
80f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
81f8369d7dSTobias Sarnowski            array('table_close',array(121)),
82f8369d7dSTobias Sarnowski            array('p_open',array()),
83f8369d7dSTobias Sarnowski            array('cdata',array('def')),
84f8369d7dSTobias Sarnowski            array('p_close',array()),
85f8369d7dSTobias Sarnowski            array('document_end',array()),
86f8369d7dSTobias Sarnowski        );
87f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
88f8369d7dSTobias Sarnowski    }
89f8369d7dSTobias Sarnowski
90f8369d7dSTobias Sarnowski    function testEmptyTable() {
91f8369d7dSTobias Sarnowski        $this->P->addMode('table',new Doku_Parser_Mode_Table());
92f8369d7dSTobias Sarnowski        $this->P->parse('
93f8369d7dSTobias Sarnowskiabc
94f8369d7dSTobias Sarnowski|
95f8369d7dSTobias Sarnowskidef');
96f8369d7dSTobias Sarnowski
97f8369d7dSTobias Sarnowski        $calls = array (
98f8369d7dSTobias Sarnowski            array('document_start',array()),
99f8369d7dSTobias Sarnowski            array('p_open',array()),
100f8369d7dSTobias Sarnowski            array('cdata',array("\n\nabc")),
101f8369d7dSTobias Sarnowski            array('p_close',array()),
102f8369d7dSTobias Sarnowski            array('table_open',array(0, 1, 6)),
103f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
104f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
105f8369d7dSTobias Sarnowski            array('table_close',array(7)),
106f8369d7dSTobias Sarnowski            array('p_open',array()),
107f8369d7dSTobias Sarnowski            array('cdata',array('def')),
108f8369d7dSTobias Sarnowski            array('p_close',array()),
109f8369d7dSTobias Sarnowski            array('document_end',array()),
110f8369d7dSTobias Sarnowski        );
111f8369d7dSTobias Sarnowski
112f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
113f8369d7dSTobias Sarnowski    }
114f8369d7dSTobias Sarnowski
115f8369d7dSTobias Sarnowski    function testTableHeaders() {
116f8369d7dSTobias Sarnowski        $this->P->addMode('table',new Doku_Parser_Mode_Table());
117f8369d7dSTobias Sarnowski        $this->P->parse('
118f8369d7dSTobias Sarnowskiabc
119f8369d7dSTobias Sarnowski^ X | Y ^ Z |
120f8369d7dSTobias Sarnowskidef');
121f8369d7dSTobias Sarnowski
122f8369d7dSTobias Sarnowski        $calls = array (
123f8369d7dSTobias Sarnowski            array('document_start',array()),
124f8369d7dSTobias Sarnowski            array('p_open',array()),
125f8369d7dSTobias Sarnowski            array('cdata',array("\n\nabc")),
126f8369d7dSTobias Sarnowski            array('p_close',array()),
127f8369d7dSTobias Sarnowski            array('table_open',array(3, 1, 6)),
128*f05a1cc5SGerrit Uitslag            array('tablethead_open',array()),
129f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
130f8369d7dSTobias Sarnowski            array('tableheader_open',array(1,NULL,1)),
131f8369d7dSTobias Sarnowski            array('cdata',array(' X ')),
132f8369d7dSTobias Sarnowski            array('tableheader_close',array()),
133f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,NULL,1)),
134f8369d7dSTobias Sarnowski            array('cdata',array(' Y ')),
135f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
136f8369d7dSTobias Sarnowski            array('tableheader_open',array(1,NULL,1)),
137f8369d7dSTobias Sarnowski            array('cdata',array(' Z ')),
138f8369d7dSTobias Sarnowski            array('tableheader_close',array()),
139f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
140*f05a1cc5SGerrit Uitslag            array('tablethead_close',array()),
141f8369d7dSTobias Sarnowski            array('table_close',array(19)),
142f8369d7dSTobias Sarnowski            array('p_open',array()),
143f8369d7dSTobias Sarnowski            array('cdata',array('def')),
144f8369d7dSTobias Sarnowski            array('p_close',array()),
145f8369d7dSTobias Sarnowski            array('document_end',array()),
146f8369d7dSTobias Sarnowski        );
147f8369d7dSTobias Sarnowski
148f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
149f8369d7dSTobias Sarnowski
150f8369d7dSTobias Sarnowski    }
151f8369d7dSTobias Sarnowski
152*f05a1cc5SGerrit Uitslag    function testTableHeadersMultilines() {
153*f05a1cc5SGerrit Uitslag        $this->P->addMode('table',new Doku_Parser_Mode_Table());
154*f05a1cc5SGerrit Uitslag        $this->P->parse('
155*f05a1cc5SGerrit Uitslagabc
156*f05a1cc5SGerrit Uitslag^ X | Y ^ Z |
157*f05a1cc5SGerrit Uitslag| A | B | C |
158*f05a1cc5SGerrit Uitslagdef');
159*f05a1cc5SGerrit Uitslag
160*f05a1cc5SGerrit Uitslag        $calls = array (
161*f05a1cc5SGerrit Uitslag            array('document_start',array()),
162*f05a1cc5SGerrit Uitslag            array('p_open',array()),
163*f05a1cc5SGerrit Uitslag            array('cdata',array("\n\nabc")),
164*f05a1cc5SGerrit Uitslag            array('p_close',array()),
165*f05a1cc5SGerrit Uitslag            array('table_open',array(3, 2, 6)),
166*f05a1cc5SGerrit Uitslag            array('tablethead_open',array()),
167*f05a1cc5SGerrit Uitslag            array('tablerow_open',array()),
168*f05a1cc5SGerrit Uitslag            array('tableheader_open',array(1,NULL,1)),
169*f05a1cc5SGerrit Uitslag            array('cdata',array(' X ')),
170*f05a1cc5SGerrit Uitslag            array('tableheader_close',array()),
171*f05a1cc5SGerrit Uitslag            array('tablecell_open',array(1,NULL,1)),
172*f05a1cc5SGerrit Uitslag            array('cdata',array(' Y ')),
173*f05a1cc5SGerrit Uitslag            array('tablecell_close',array()),
174*f05a1cc5SGerrit Uitslag            array('tableheader_open',array(1,NULL,1)),
175*f05a1cc5SGerrit Uitslag            array('cdata',array(' Z ')),
176*f05a1cc5SGerrit Uitslag            array('tableheader_close',array()),
177*f05a1cc5SGerrit Uitslag            array('tablerow_close',array()),
178*f05a1cc5SGerrit Uitslag            array('tablethead_close',array()),
179*f05a1cc5SGerrit Uitslag            array('tablerow_open',array()),
180*f05a1cc5SGerrit Uitslag            array('tablecell_open',array(1,NULL,1)),
181*f05a1cc5SGerrit Uitslag            array('cdata',array(' A ')),
182*f05a1cc5SGerrit Uitslag            array('tablecell_close',array()),
183*f05a1cc5SGerrit Uitslag            array('tablecell_open',array(1,NULL,1)),
184*f05a1cc5SGerrit Uitslag            array('cdata',array(' B ')),
185*f05a1cc5SGerrit Uitslag            array('tablecell_close',array()),
186*f05a1cc5SGerrit Uitslag            array('tablecell_open',array(1,NULL,1)),
187*f05a1cc5SGerrit Uitslag            array('cdata',array(' C ')),
188*f05a1cc5SGerrit Uitslag            array('tablecell_close',array()),
189*f05a1cc5SGerrit Uitslag            array('tablerow_close',array()),
190*f05a1cc5SGerrit Uitslag            array('table_close',array(33)),
191*f05a1cc5SGerrit Uitslag            array('p_open',array()),
192*f05a1cc5SGerrit Uitslag            array('cdata',array('def')),
193*f05a1cc5SGerrit Uitslag            array('p_close',array()),
194*f05a1cc5SGerrit Uitslag            array('document_end',array()),
195*f05a1cc5SGerrit Uitslag        );
196*f05a1cc5SGerrit Uitslag
197*f05a1cc5SGerrit Uitslag        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
198*f05a1cc5SGerrit Uitslag
199*f05a1cc5SGerrit Uitslag    }
200*f05a1cc5SGerrit Uitslag
201f8369d7dSTobias Sarnowski    function testCellAlignment() {
202f8369d7dSTobias Sarnowski        $this->P->addMode('table',new Doku_Parser_Mode_Table());
203f8369d7dSTobias Sarnowski        $this->P->parse('
204f8369d7dSTobias Sarnowskiabc
205f8369d7dSTobias Sarnowski|  X | Y  ^  Z  |
206f8369d7dSTobias Sarnowskidef');
207f8369d7dSTobias Sarnowski
208f8369d7dSTobias Sarnowski        $calls = array (
209f8369d7dSTobias Sarnowski            array('document_start',array()),
210f8369d7dSTobias Sarnowski            array('p_open',array()),
211f8369d7dSTobias Sarnowski            array('cdata',array("\n\nabc")),
212f8369d7dSTobias Sarnowski            array('p_close',array()),
213f8369d7dSTobias Sarnowski            array('table_open',array(3, 1, 6)),
214f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
215f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'right',1)),
216f8369d7dSTobias Sarnowski            array('cdata',array('  X ')),
217f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
218f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
219f8369d7dSTobias Sarnowski            array('cdata',array(' Y  ')),
220f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
221f8369d7dSTobias Sarnowski            array('tableheader_open',array(1,'center',1)),
222f8369d7dSTobias Sarnowski            array('cdata',array('  Z  ')),
223f8369d7dSTobias Sarnowski            array('tableheader_close',array()),
224f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
225f8369d7dSTobias Sarnowski            array('table_close',array(23)),
226f8369d7dSTobias Sarnowski            array('p_open',array()),
227f8369d7dSTobias Sarnowski            array('cdata',array('def')),
228f8369d7dSTobias Sarnowski            array('p_close',array()),
229f8369d7dSTobias Sarnowski            array('document_end',array()),
230f8369d7dSTobias Sarnowski        );
231f8369d7dSTobias Sarnowski
232f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
233f8369d7dSTobias Sarnowski    }
234f8369d7dSTobias Sarnowski
235f8369d7dSTobias Sarnowski    function testCellSpan() {
236f8369d7dSTobias Sarnowski        $this->P->addMode('table',new Doku_Parser_Mode_Table());
237f8369d7dSTobias Sarnowski        $this->P->parse('
238f8369d7dSTobias Sarnowskiabc
239f8369d7dSTobias Sarnowski|  d || e |
240f8369d7dSTobias Sarnowski| f ^ ^|
241f8369d7dSTobias Sarnowski||||
242f8369d7dSTobias Sarnowskidef');
243f8369d7dSTobias Sarnowski
244f8369d7dSTobias Sarnowski        $calls = array (
245f8369d7dSTobias Sarnowski            array('document_start',array()),
246f8369d7dSTobias Sarnowski            array('p_open',array()),
247f8369d7dSTobias Sarnowski            array('cdata',array("\n\nabc")),
248f8369d7dSTobias Sarnowski            array('p_close',array()),
249f8369d7dSTobias Sarnowski            array('table_open',array(3, 3, 6)),
250f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
251f8369d7dSTobias Sarnowski            array('tablecell_open',array(2,'right',1)),
252f8369d7dSTobias Sarnowski            array('cdata',array('  d ')),
253f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
254f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,NULL,1)),
255f8369d7dSTobias Sarnowski            array('cdata',array(' e ')),
256f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
257f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
258f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
259f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,NULL,1)),
260f8369d7dSTobias Sarnowski            array('cdata',array(' f ')),
261f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
262f8369d7dSTobias Sarnowski            array('tableheader_open',array(2,NULL,1)),
263f8369d7dSTobias Sarnowski            array('cdata',array(' ')),
264f8369d7dSTobias Sarnowski            array('tableheader_close',array()),
265f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
266f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
267f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
268f8369d7dSTobias Sarnowski            array('table_close',array(31)),
269f8369d7dSTobias Sarnowski            array('p_open',array()),
270f8369d7dSTobias Sarnowski            array('cdata',array('def')),
271f8369d7dSTobias Sarnowski            array('p_close',array()),
272f8369d7dSTobias Sarnowski            array('document_end',array()),
273f8369d7dSTobias Sarnowski        );
274f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
275f8369d7dSTobias Sarnowski    }
276f8369d7dSTobias Sarnowski
277f8369d7dSTobias Sarnowski    function testCellRowSpan() {
278f8369d7dSTobias Sarnowski        $this->P->addMode('table',new Doku_Parser_Mode_Table());
279f8369d7dSTobias Sarnowski        $this->P->parse('
280f8369d7dSTobias Sarnowskiabc
281f8369d7dSTobias Sarnowski| a |  c:::||
282f8369d7dSTobias Sarnowski|:::^ d  | e|
283f8369d7dSTobias Sarnowski|b  ^  ::: |:::f|
284f8369d7dSTobias Sarnowskidef');
285f8369d7dSTobias Sarnowski
286f8369d7dSTobias Sarnowski        $calls = array (
287f8369d7dSTobias Sarnowski            array('document_start',array()),
288f8369d7dSTobias Sarnowski            array('p_open',array()),
289f8369d7dSTobias Sarnowski            array('cdata',array("\n\nabc")),
290f8369d7dSTobias Sarnowski            array('p_close',array()),
291f8369d7dSTobias Sarnowski            array('table_open',array(3, 3, 6)),
292f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
293f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,NULL,2)),
294f8369d7dSTobias Sarnowski            array('cdata',array(' a ')),
295f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
296f8369d7dSTobias Sarnowski            array('tablecell_open',array(2,'right',1)),
297f8369d7dSTobias Sarnowski            array('cdata',array('  c:::')),
298f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
299f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
300f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
301f8369d7dSTobias Sarnowski            array('tableheader_open',array(1,'left',2)),
302f8369d7dSTobias Sarnowski            array('cdata',array(' d  ')),
303f8369d7dSTobias Sarnowski            array('tableheader_close',array()),
304f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,NULL,1)),
305f8369d7dSTobias Sarnowski            array('cdata',array(' e')),
306f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
307f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
308f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
309f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
310f8369d7dSTobias Sarnowski            array('cdata',array('b  ')),
311f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
312f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,NULL,1)),
313f8369d7dSTobias Sarnowski            array('cdata',array(':::f')),
314f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
315f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
316f8369d7dSTobias Sarnowski            array('table_close',array(51)),
317f8369d7dSTobias Sarnowski            array('p_open',array()),
318f8369d7dSTobias Sarnowski            array('cdata',array('def')),
319f8369d7dSTobias Sarnowski            array('p_close',array()),
320f8369d7dSTobias Sarnowski            array('document_end',array()),
321f8369d7dSTobias Sarnowski        );
322f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
323f8369d7dSTobias Sarnowski    }
3240d9a72ffSGerrit Uitslag
3250d9a72ffSGerrit Uitslag    function testCellRowSpanFirstRow() {
3260d9a72ffSGerrit Uitslag        $this->P->addMode('table',new Doku_Parser_Mode_Table());
3270d9a72ffSGerrit Uitslag        $this->P->parse('
3280d9a72ffSGerrit Uitslagabc
3290d9a72ffSGerrit Uitslag|::: ^  d:::^:::|  :::  |
3300d9a72ffSGerrit Uitslag| b ^ e  | | ::: |
3310d9a72ffSGerrit Uitslag|c  ^  ::: | |:::|
3320d9a72ffSGerrit Uitslagdef');
3330d9a72ffSGerrit Uitslag
3340d9a72ffSGerrit Uitslag        $calls = array (
3350d9a72ffSGerrit Uitslag            array('document_start',array()),
3360d9a72ffSGerrit Uitslag            array('p_open',array()),
3370d9a72ffSGerrit Uitslag            array('cdata',array("\n\nabc")),
3380d9a72ffSGerrit Uitslag            array('p_close',array()),
3390d9a72ffSGerrit Uitslag            array('table_open',array(4, 3, 6)),
3400d9a72ffSGerrit Uitslag            array('tablerow_open',array()),
3410d9a72ffSGerrit Uitslag            array('tablecell_open',array(1,NULL,1)),
3420d9a72ffSGerrit Uitslag            array('cdata',array('')),
3430d9a72ffSGerrit Uitslag            array('tablecell_close',array()),
3440d9a72ffSGerrit Uitslag            array('tableheader_open',array(1,'right',1)),
3450d9a72ffSGerrit Uitslag            array('cdata',array('  d:::')),
3460d9a72ffSGerrit Uitslag            array('tableheader_close',array()),
3470d9a72ffSGerrit Uitslag            array('tableheader_open',array(1,NULL,1)),
3480d9a72ffSGerrit Uitslag            array('cdata',array('')),
3490d9a72ffSGerrit Uitslag            array('tableheader_close',array()),
3500d9a72ffSGerrit Uitslag            array('tablecell_open',array(1,NULL,3)),
3510d9a72ffSGerrit Uitslag            array('cdata',array('')),
3520d9a72ffSGerrit Uitslag            array('tablecell_close',array()),
3530d9a72ffSGerrit Uitslag            array('tablerow_close',array()),
3540d9a72ffSGerrit Uitslag            array('tablerow_open',array()),
3550d9a72ffSGerrit Uitslag            array('tablecell_open',array(1,NULL,1)),
3560d9a72ffSGerrit Uitslag            array('cdata',array(' b ')),
3570d9a72ffSGerrit Uitslag            array('tablecell_close',array()),
3580d9a72ffSGerrit Uitslag            array('tableheader_open',array(1,'left',2)),
3590d9a72ffSGerrit Uitslag            array('cdata',array(' e  ')),
3600d9a72ffSGerrit Uitslag            array('tableheader_close',array()),
3610d9a72ffSGerrit Uitslag            array('tablecell_open',array(1,NULL,1)),
3620d9a72ffSGerrit Uitslag            array('cdata',array(' ')),
3630d9a72ffSGerrit Uitslag            array('tablecell_close',array()),
3640d9a72ffSGerrit Uitslag            array('tablerow_close',array()),
3650d9a72ffSGerrit Uitslag            array('tablerow_open',array()),
3660d9a72ffSGerrit Uitslag            array('tablecell_open',array(1,'left',1)),
3670d9a72ffSGerrit Uitslag            array('cdata',array('c  ')),
3680d9a72ffSGerrit Uitslag            array('tablecell_close',array()),
3690d9a72ffSGerrit Uitslag            array('tablecell_open',array(1,NULL,1)),
3700d9a72ffSGerrit Uitslag            array('cdata',array(' ')),
3710d9a72ffSGerrit Uitslag            array('tablecell_close',array()),
3720d9a72ffSGerrit Uitslag            array('tablerow_close',array()),
3730d9a72ffSGerrit Uitslag
3740d9a72ffSGerrit Uitslag            array('table_close',array(69)),
3750d9a72ffSGerrit Uitslag            array('p_open',array()),
3760d9a72ffSGerrit Uitslag            array('cdata',array('def')),
3770d9a72ffSGerrit Uitslag            array('p_close',array()),
3780d9a72ffSGerrit Uitslag            array('document_end',array()),
3790d9a72ffSGerrit Uitslag        );
3800d9a72ffSGerrit Uitslag        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
3810d9a72ffSGerrit Uitslag    }
382f8369d7dSTobias Sarnowski
383f8369d7dSTobias Sarnowski    function testCellAlignmentFormatting() {
384f8369d7dSTobias Sarnowski        $this->P->addMode('table',new Doku_Parser_Mode_Table());
385f8369d7dSTobias Sarnowski        $this->P->addMode('strong',new Doku_Parser_Mode_Formatting('strong'));
386f8369d7dSTobias Sarnowski        $this->P->parse('
387f8369d7dSTobias Sarnowskiabc
388f8369d7dSTobias Sarnowski|  **X** | Y  ^  Z  |
389f8369d7dSTobias Sarnowskidef');
390f8369d7dSTobias Sarnowski
391f8369d7dSTobias Sarnowski        $calls = array (
392f8369d7dSTobias Sarnowski            array('document_start',array()),
393f8369d7dSTobias Sarnowski            array('p_open',array()),
394f8369d7dSTobias Sarnowski            array('cdata',array("\n\nabc")),
395f8369d7dSTobias Sarnowski            array('p_close',array()),
396f8369d7dSTobias Sarnowski            array('table_open',array(3, 1, 6)),
397f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
398f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'right',1)),
399f8369d7dSTobias Sarnowski            array('cdata',array('  ')),
400f8369d7dSTobias Sarnowski            array('strong_open',array()),
401f8369d7dSTobias Sarnowski            array('cdata',array('X')),
402f8369d7dSTobias Sarnowski            array('strong_close',array()),
403f8369d7dSTobias Sarnowski            array('cdata',array(' ')),
404f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
405f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
406f8369d7dSTobias Sarnowski            array('cdata',array(' Y  ')),
407f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
408f8369d7dSTobias Sarnowski            array('tableheader_open',array(1,'center',1)),
409f8369d7dSTobias Sarnowski            array('cdata',array('  Z  ')),
410f8369d7dSTobias Sarnowski            array('tableheader_close',array()),
411f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
412f8369d7dSTobias Sarnowski            array('table_close',array(27)),
413f8369d7dSTobias Sarnowski            array('p_open',array()),
414f8369d7dSTobias Sarnowski            array('cdata',array('def')),
415f8369d7dSTobias Sarnowski            array('p_close',array()),
416f8369d7dSTobias Sarnowski            array('document_end',array()),
417f8369d7dSTobias Sarnowski        );
418f8369d7dSTobias Sarnowski
419f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
420f8369d7dSTobias Sarnowski
421f8369d7dSTobias Sarnowski    }
422f8369d7dSTobias Sarnowski
423f8369d7dSTobias Sarnowski    function testTableEol() {
424f8369d7dSTobias Sarnowski        $this->P->addMode('table',new Doku_Parser_Mode_Table());
425f8369d7dSTobias Sarnowski        $this->P->addMode('eol',new Doku_Parser_Mode_Eol());
426f8369d7dSTobias Sarnowski        $this->P->parse('
427f8369d7dSTobias Sarnowskiabc
428f8369d7dSTobias Sarnowski| Row 0 Col 1    | Row 0 Col 2     | Row 0 Col 3        |
429f8369d7dSTobias Sarnowski| Row 1 Col 1    | Row 1 Col 2     | Row 1 Col 3        |
430f8369d7dSTobias Sarnowskidef');
431f8369d7dSTobias Sarnowski        $calls = array (
432f8369d7dSTobias Sarnowski            array('document_start',array()),
433f8369d7dSTobias Sarnowski            array('p_open',array()),
434f8369d7dSTobias Sarnowski            array('cdata',array("abc")),
435f8369d7dSTobias Sarnowski            array('p_close',array()),
436f8369d7dSTobias Sarnowski            array('table_open',array(3, 2, 6)),
437f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
438f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
439f8369d7dSTobias Sarnowski            array('cdata',array(' Row 0 Col 1    ')),
440f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
441f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
442f8369d7dSTobias Sarnowski            array('cdata',array(' Row 0 Col 2     ')),
443f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
444f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
445f8369d7dSTobias Sarnowski            array('cdata',array(' Row 0 Col 3        ')),
446f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
447f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
448f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
449f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
450f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 1    ')),
451f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
452f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
453f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 2     ')),
454f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
455f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
456f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 3        ')),
457f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
458f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
459f8369d7dSTobias Sarnowski            array('table_close',array(121)),
460f8369d7dSTobias Sarnowski            array('p_open',array()),
461f8369d7dSTobias Sarnowski            array('cdata',array('def')),
462f8369d7dSTobias Sarnowski            array('p_close',array()),
463f8369d7dSTobias Sarnowski            array('document_end',array()),
464f8369d7dSTobias Sarnowski        );
465f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
466f8369d7dSTobias Sarnowski    }
467f8369d7dSTobias Sarnowski
468f8369d7dSTobias Sarnowski    // This is really a failing test - formatting able to spread across cols
469f8369d7dSTobias Sarnowski    // Problem is fixing it would mean a major rewrite of table handling
470f8369d7dSTobias Sarnowski    function testTableStrong() {
471f8369d7dSTobias Sarnowski        $this->P->addMode('table',new Doku_Parser_Mode_Table());
472f8369d7dSTobias Sarnowski        $this->P->addMode('strong',new Doku_Parser_Mode_Formatting('strong'));
473f8369d7dSTobias Sarnowski        $this->P->parse('
474f8369d7dSTobias Sarnowskiabc
475f8369d7dSTobias Sarnowski| **Row 0 Col 1**    | **Row 0 Col 2     | Row 0 Col 3**        |
476f8369d7dSTobias Sarnowski| Row 1 Col 1    | Row 1 Col 2     | Row 1 Col 3        |
477f8369d7dSTobias Sarnowskidef');
478f8369d7dSTobias Sarnowski        $calls = array (
479f8369d7dSTobias Sarnowski            array('document_start',array()),
480f8369d7dSTobias Sarnowski            array('p_open',array()),
481f8369d7dSTobias Sarnowski            array('cdata',array("\n\nabc")),
482f8369d7dSTobias Sarnowski            array('p_close',array()),
483f8369d7dSTobias Sarnowski            array('table_open',array(3, 2, 6)),
484f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
485f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
486f8369d7dSTobias Sarnowski            array('cdata',array(' ')),
487f8369d7dSTobias Sarnowski            array('strong_open',array()),
488f8369d7dSTobias Sarnowski            array('cdata',array('Row 0 Col 1')),
489f8369d7dSTobias Sarnowski            array('strong_close',array()),
490f8369d7dSTobias Sarnowski            array('cdata',array('    ')),
491f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
492f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
493f8369d7dSTobias Sarnowski            array('cdata',array(' ')),
494f8369d7dSTobias Sarnowski            array('strong_open',array()),
495f8369d7dSTobias Sarnowski            array('cdata',array('Row 0 Col 2     | Row 0 Col 3')),
496f8369d7dSTobias Sarnowski            array('strong_close',array()),
497f8369d7dSTobias Sarnowski            array('cdata',array('        ')),
498f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
499f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,null,1)),
500f8369d7dSTobias Sarnowski            array('cdata',array('')),
501f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
502f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
503f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
504f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
505f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 1    ')),
506f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
507f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
508f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 2     ')),
509f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
510f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
511f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 3        ')),
512f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
513f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
514f8369d7dSTobias Sarnowski            array('table_close',array(129)),
515f8369d7dSTobias Sarnowski            array('p_open',array()),
516f8369d7dSTobias Sarnowski            array('cdata',array('def')),
517f8369d7dSTobias Sarnowski            array('p_close',array()),
518f8369d7dSTobias Sarnowski            array('document_end',array()),
519f8369d7dSTobias Sarnowski        );
520f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
521f8369d7dSTobias Sarnowski    }
522f8369d7dSTobias Sarnowski
523f8369d7dSTobias Sarnowski    // This is really a failing test - unformatted able to spread across cols
524f8369d7dSTobias Sarnowski    // Problem is fixing it would mean a major rewrite of table handling
525f8369d7dSTobias Sarnowski    function testTableUnformatted() {
526f8369d7dSTobias Sarnowski        $this->P->addMode('table',new Doku_Parser_Mode_Table());
527f8369d7dSTobias Sarnowski        $this->P->addMode('unformatted',new Doku_Parser_Mode_Unformatted());
528f8369d7dSTobias Sarnowski        $this->P->parse('
529f8369d7dSTobias Sarnowskiabc
530f8369d7dSTobias Sarnowski| <nowiki>Row 0 Col 1</nowiki>    | <nowiki>Row 0 Col 2     | Row 0 Col 3</nowiki>        |
531f8369d7dSTobias Sarnowski| Row 1 Col 1    | Row 1 Col 2     | Row 1 Col 3        |
532f8369d7dSTobias Sarnowskidef');
533f8369d7dSTobias Sarnowski        $calls = array (
534f8369d7dSTobias Sarnowski            array('document_start',array()),
535f8369d7dSTobias Sarnowski            array('p_open',array()),
536f8369d7dSTobias Sarnowski            array('cdata',array("\n\nabc")),
537f8369d7dSTobias Sarnowski            array('p_close',array()),
538f8369d7dSTobias Sarnowski            array('table_open',array(3, 2, 6)),
539f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
540f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
541f8369d7dSTobias Sarnowski            array('cdata',array(' ')),
542f8369d7dSTobias Sarnowski            array('unformatted',array('Row 0 Col 1')),
543f8369d7dSTobias Sarnowski            array('cdata',array('    ')),
544f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
545f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
546f8369d7dSTobias Sarnowski            array('cdata',array(' ')),
547f8369d7dSTobias Sarnowski            array('unformatted',array('Row 0 Col 2     | Row 0 Col 3')),
548f8369d7dSTobias Sarnowski            array('cdata',array('        ')),
549f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
550f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,null,1)),
551f8369d7dSTobias Sarnowski            array('cdata',array('')),
552f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
553f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
554f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
555f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
556f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 1    ')),
557f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
558f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
559f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 2     ')),
560f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
561f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
562f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 3        ')),
563f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
564f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
565f8369d7dSTobias Sarnowski            array('table_close',array(155)),
566f8369d7dSTobias Sarnowski            array('p_open',array()),
567f8369d7dSTobias Sarnowski            array('cdata',array('def')),
568f8369d7dSTobias Sarnowski            array('p_close',array()),
569f8369d7dSTobias Sarnowski            array('document_end',array()),
570f8369d7dSTobias Sarnowski        );
571f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
572f8369d7dSTobias Sarnowski    }
573f8369d7dSTobias Sarnowski
574f8369d7dSTobias Sarnowski    function testTableLinebreak() {
575f8369d7dSTobias Sarnowski        $this->P->addMode('table',new Doku_Parser_Mode_Table());
576f8369d7dSTobias Sarnowski        $this->P->addMode('linebreak',new Doku_Parser_Mode_Linebreak());
577f8369d7dSTobias Sarnowski        $this->P->parse('
578f8369d7dSTobias Sarnowskiabc
579f8369d7dSTobias Sarnowski| Row 0\\\\ Col 1    | Row 0 Col 2     | Row 0 Col 3        |
580f8369d7dSTobias Sarnowski| Row 1 Col 1    | Row 1 Col 2     | Row 1 Col 3        |
581f8369d7dSTobias Sarnowskidef');
582f8369d7dSTobias Sarnowski        $calls = array (
583f8369d7dSTobias Sarnowski            array('document_start',array()),
584f8369d7dSTobias Sarnowski            array('p_open',array()),
585f8369d7dSTobias Sarnowski            array('cdata',array("\n\nabc")),
586f8369d7dSTobias Sarnowski            array('p_close',array()),
587f8369d7dSTobias Sarnowski            array('table_open',array(3, 2, 6)),
588f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
589f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
590f8369d7dSTobias Sarnowski            array('cdata',array(' Row 0')),
591f8369d7dSTobias Sarnowski            array('linebreak',array()),
592f8369d7dSTobias Sarnowski            array('cdata',array('Col 1    ')),
593f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
594f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
595f8369d7dSTobias Sarnowski            array('cdata',array(' Row 0 Col 2     ')),
596f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
597f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
598f8369d7dSTobias Sarnowski            array('cdata',array(' Row 0 Col 3        ')),
599f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
600f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
601f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
602f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
603f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 1    ')),
604f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
605f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
606f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 2     ')),
607f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
608f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
609f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 3        ')),
610f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
611f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
612f8369d7dSTobias Sarnowski            array('table_close',array(123)),
613f8369d7dSTobias Sarnowski            array('p_open',array()),
614f8369d7dSTobias Sarnowski            array('cdata',array('def')),
615f8369d7dSTobias Sarnowski            array('p_close',array()),
616f8369d7dSTobias Sarnowski            array('document_end',array()),
617f8369d7dSTobias Sarnowski        );
618f8369d7dSTobias Sarnowski
619f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
620f8369d7dSTobias Sarnowski    }
621f8369d7dSTobias Sarnowski
622f8369d7dSTobias Sarnowski    // This is really a failing test - footnote able to spread across cols
623f8369d7dSTobias Sarnowski    // Problem is fixing it would mean a major rewrite of table handling
624f8369d7dSTobias Sarnowski    function testTableFootnote() {
625f8369d7dSTobias Sarnowski        $this->P->addMode('table',new Doku_Parser_Mode_Table());
626f8369d7dSTobias Sarnowski        $this->P->addMode('footnote',new Doku_Parser_Mode_Footnote());
627f8369d7dSTobias Sarnowski        $this->P->parse('
628f8369d7dSTobias Sarnowskiabc
629f8369d7dSTobias Sarnowski| ((Row 0 Col 1))    | ((Row 0 Col 2     | Row 0 Col 3))        |
630f8369d7dSTobias Sarnowski| Row 1 Col 1    | Row 1 Col 2     | Row 1 Col 3        |
631f8369d7dSTobias Sarnowskidef');
632f8369d7dSTobias Sarnowski        $calls = array (
633f8369d7dSTobias Sarnowski            array('document_start',array()),
634f8369d7dSTobias Sarnowski            array('p_open',array()),
635f8369d7dSTobias Sarnowski            array('cdata',array("\n\nabc")),
636f8369d7dSTobias Sarnowski            array('p_close',array()),
637f8369d7dSTobias Sarnowski            array('table_open',array(3, 2, 6)),
638f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
639f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
640f8369d7dSTobias Sarnowski            array('cdata',array(' ')),
641f8369d7dSTobias Sarnowski            array('nest', array ( array (
642f8369d7dSTobias Sarnowski              array('footnote_open',array()),
643f8369d7dSTobias Sarnowski              array('cdata',array('Row 0 Col 1')),
644f8369d7dSTobias Sarnowski              array('footnote_close',array()),
645f8369d7dSTobias Sarnowski            ))),
646f8369d7dSTobias Sarnowski            array('cdata',array('    ')),
647f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
648f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
649f8369d7dSTobias Sarnowski            array('cdata',array(' ')),
650f8369d7dSTobias Sarnowski            array('nest', array ( array (
651f8369d7dSTobias Sarnowski              array('footnote_open',array()),
652f8369d7dSTobias Sarnowski              array('cdata',array('Row 0 Col 2     | Row 0 Col 3')),
653f8369d7dSTobias Sarnowski              array('footnote_close',array()),
654f8369d7dSTobias Sarnowski            ))),
655f8369d7dSTobias Sarnowski            array('cdata',array('        ')),
656f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
657f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,null,1)),
658f8369d7dSTobias Sarnowski            array('cdata',array('')),
659f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
660f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
661f8369d7dSTobias Sarnowski            array('tablerow_open',array()),
662f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
663f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 1    ')),
664f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
665f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
666f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 2     ')),
667f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
668f8369d7dSTobias Sarnowski            array('tablecell_open',array(1,'left',1)),
669f8369d7dSTobias Sarnowski            array('cdata',array(' Row 1 Col 3        ')),
670f8369d7dSTobias Sarnowski            array('tablecell_close',array()),
671f8369d7dSTobias Sarnowski            array('tablerow_close',array()),
672f8369d7dSTobias Sarnowski            array('table_close',array(129)),
673f8369d7dSTobias Sarnowski            array('p_open',array()),
674f8369d7dSTobias Sarnowski            array('cdata',array('def')),
675f8369d7dSTobias Sarnowski            array('p_close',array()),
676f8369d7dSTobias Sarnowski            array('document_end',array()),
677f8369d7dSTobias Sarnowski        );
678f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
679f8369d7dSTobias Sarnowski    }
680f8369d7dSTobias Sarnowski}
681f8369d7dSTobias Sarnowski
682