xref: /dokuwiki/_test/tests/inc/parser/renderer_xhtml.test.php (revision 0c4c028148c71233cd6f0a7f17b8c723dfee0aac)
1*0c4c0281SGerrit Uitslag<?php
2*0c4c0281SGerrit Uitslag
3*0c4c0281SGerrit Uitslag/**
4*0c4c0281SGerrit Uitslag * Class renderer_xhtml_test
5*0c4c0281SGerrit Uitslag */
6*0c4c0281SGerrit Uitslagclass renderer_xhtml_test extends DokuWikiTest {
7*0c4c0281SGerrit Uitslag    /** @var Doku_Renderer_xhtml */
8*0c4c0281SGerrit Uitslag    protected $R;
9*0c4c0281SGerrit Uitslag
10*0c4c0281SGerrit Uitslag    /**
11*0c4c0281SGerrit Uitslag     * Called for each test
12*0c4c0281SGerrit Uitslag     *
13*0c4c0281SGerrit Uitslag     * @throws Exception
14*0c4c0281SGerrit Uitslag     */
15*0c4c0281SGerrit Uitslag    function setUp() {
16*0c4c0281SGerrit Uitslag        parent::setUp();
17*0c4c0281SGerrit Uitslag        $this->R = new Doku_Renderer_xhtml();
18*0c4c0281SGerrit Uitslag    }
19*0c4c0281SGerrit Uitslag
20*0c4c0281SGerrit Uitslag    function tearDown() {
21*0c4c0281SGerrit Uitslag        unset($this->R);
22*0c4c0281SGerrit Uitslag    }
23*0c4c0281SGerrit Uitslag
24*0c4c0281SGerrit Uitslag    function test_tableopen_0arg() {
25*0c4c0281SGerrit Uitslag        $this->R->table_open();
26*0c4c0281SGerrit Uitslag
27*0c4c0281SGerrit Uitslag        $expected = '<div class="table"><table class="inline">'."\n";
28*0c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
29*0c4c0281SGerrit Uitslag    }
30*0c4c0281SGerrit Uitslag
31*0c4c0281SGerrit Uitslag    function test_tableopen_1arg() {
32*0c4c0281SGerrit Uitslag        $this->R->table_open(4);
33*0c4c0281SGerrit Uitslag
34*0c4c0281SGerrit Uitslag        $expected = '<div class="table"><table class="inline">'."\n";
35*0c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
36*0c4c0281SGerrit Uitslag    }
37*0c4c0281SGerrit Uitslag
38*0c4c0281SGerrit Uitslag    function test_tableopen_2arg() {
39*0c4c0281SGerrit Uitslag        $this->R->table_open(4, 4);
40*0c4c0281SGerrit Uitslag
41*0c4c0281SGerrit Uitslag        $expected = '<div class="table"><table class="inline">'."\n";
42*0c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
43*0c4c0281SGerrit Uitslag    }
44*0c4c0281SGerrit Uitslag
45*0c4c0281SGerrit Uitslag    function test_tableopen_3arg() {
46*0c4c0281SGerrit Uitslag        $this->R->table_open(4, 4, 100);
47*0c4c0281SGerrit Uitslag
48*0c4c0281SGerrit Uitslag        $expected = '<div class="table sectionedit1"><table class="inline">'."\n";
49*0c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
50*0c4c0281SGerrit Uitslag    }
51*0c4c0281SGerrit Uitslag
52*0c4c0281SGerrit Uitslag    function test_tableopen_4arg() {
53*0c4c0281SGerrit Uitslag        $this->R->table_open(4, 4, 100, 'feature');
54*0c4c0281SGerrit Uitslag
55*0c4c0281SGerrit Uitslag        $expected = '<div class="table feature sectionedit1"><table class="inline">'."\n";
56*0c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
57*0c4c0281SGerrit Uitslag    }
58*0c4c0281SGerrit Uitslag
59*0c4c0281SGerrit Uitslag    function test_table() {
60*0c4c0281SGerrit Uitslag        $this->R->table_open(null, null, null, 'feature');
61*0c4c0281SGerrit Uitslag        $this->R->tablethead_open();
62*0c4c0281SGerrit Uitslag
63*0c4c0281SGerrit Uitslag        $this->R->tablerow_open('item');
64*0c4c0281SGerrit Uitslag        $this->R->tableheader_open();
65*0c4c0281SGerrit Uitslag        $this->R->cdata('header1');
66*0c4c0281SGerrit Uitslag        $this->R->tableheader_close();
67*0c4c0281SGerrit Uitslag        $this->R->tableheader_open(1, null, 1, 'second');
68*0c4c0281SGerrit Uitslag        $this->R->cdata('header2');
69*0c4c0281SGerrit Uitslag        $this->R->tableheader_close();
70*0c4c0281SGerrit Uitslag        $this->R->tablerow_close();
71*0c4c0281SGerrit Uitslag
72*0c4c0281SGerrit Uitslag        $this->R->tablethead_close();
73*0c4c0281SGerrit Uitslag        $this->R->tabletbody_open();
74*0c4c0281SGerrit Uitslag
75*0c4c0281SGerrit Uitslag        $this->R->tablerow_open('values');
76*0c4c0281SGerrit Uitslag        $this->R->tablecell_open(1, null, 1, 'first value');
77*0c4c0281SGerrit Uitslag        $this->R->cdata('cell1,1');
78*0c4c0281SGerrit Uitslag        $this->R->tablecell_close();
79*0c4c0281SGerrit Uitslag        $this->R->tablecell_open(1, null, 1, 'second');
80*0c4c0281SGerrit Uitslag        $this->R->cdata('cell1,2');
81*0c4c0281SGerrit Uitslag        $this->R->tablecell_close();
82*0c4c0281SGerrit Uitslag        $this->R->tablerow_close();
83*0c4c0281SGerrit Uitslag
84*0c4c0281SGerrit Uitslag        $this->R->tablerow_open();
85*0c4c0281SGerrit Uitslag        $this->R->tablecell_open();
86*0c4c0281SGerrit Uitslag        $this->R->cdata('cell2.1');
87*0c4c0281SGerrit Uitslag        $this->R->tablecell_close();
88*0c4c0281SGerrit Uitslag        $this->R->tablecell_open();
89*0c4c0281SGerrit Uitslag        $this->R->cdata('cell2,2');
90*0c4c0281SGerrit Uitslag        $this->R->tablecell_close();
91*0c4c0281SGerrit Uitslag        $this->R->tablerow_close();
92*0c4c0281SGerrit Uitslag
93*0c4c0281SGerrit Uitslag        $this->R->tabletbody_close();
94*0c4c0281SGerrit Uitslag        $this->R->table_close();
95*0c4c0281SGerrit Uitslag
96*0c4c0281SGerrit Uitslag        $expected = '<div class="table feature"><table class="inline">
97*0c4c0281SGerrit Uitslag	<thead>
98*0c4c0281SGerrit Uitslag	<tr class="row0 item">
99*0c4c0281SGerrit Uitslag		<th class="col0">header1</th><th class="col1 second">header2</th>
100*0c4c0281SGerrit Uitslag	</tr>
101*0c4c0281SGerrit Uitslag	</thead>
102*0c4c0281SGerrit Uitslag	<tbody>
103*0c4c0281SGerrit Uitslag	<tr class="row1 values">
104*0c4c0281SGerrit Uitslag		<td class="col0 first value">cell1,1</td><td class="col1 second">cell1,2</td>
105*0c4c0281SGerrit Uitslag	</tr>
106*0c4c0281SGerrit Uitslag	<tr class="row2">
107*0c4c0281SGerrit Uitslag		<td class="col0">cell2.1</td><td class="col1">cell2,2</td>
108*0c4c0281SGerrit Uitslag	</tr>
109*0c4c0281SGerrit Uitslag	</tbody>
110*0c4c0281SGerrit Uitslag</table></div>
111*0c4c0281SGerrit Uitslag';
112*0c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
113*0c4c0281SGerrit Uitslag    }
114*0c4c0281SGerrit Uitslag
115*0c4c0281SGerrit Uitslag    function test_olist() {
116*0c4c0281SGerrit Uitslag        $this->R->document_start();
117*0c4c0281SGerrit Uitslag        $this->R->listo_open();
118*0c4c0281SGerrit Uitslag
119*0c4c0281SGerrit Uitslag        $this->R->listitem_open(1, Doku_Handler_List::NODE);
120*0c4c0281SGerrit Uitslag        $this->R->listcontent_open();
121*0c4c0281SGerrit Uitslag        $this->R->cdata('item1');
122*0c4c0281SGerrit Uitslag        $this->R->listcontent_close();
123*0c4c0281SGerrit Uitslag
124*0c4c0281SGerrit Uitslag        $this->R->listo_open();
125*0c4c0281SGerrit Uitslag
126*0c4c0281SGerrit Uitslag        $this->R->listitem_open(2);
127*0c4c0281SGerrit Uitslag        $this->R->listcontent_open();
128*0c4c0281SGerrit Uitslag        $this->R->cdata('item1b');
129*0c4c0281SGerrit Uitslag        $this->R->listcontent_close();
130*0c4c0281SGerrit Uitslag        $this->R->listitem_close();
131*0c4c0281SGerrit Uitslag
132*0c4c0281SGerrit Uitslag        $this->R->listo_close();
133*0c4c0281SGerrit Uitslag        $this->R->listitem_close();
134*0c4c0281SGerrit Uitslag
135*0c4c0281SGerrit Uitslag        $this->R->listitem_open(1);
136*0c4c0281SGerrit Uitslag        $this->R->listcontent_open();
137*0c4c0281SGerrit Uitslag        $this->R->cdata('item2');
138*0c4c0281SGerrit Uitslag        $this->R->listcontent_close();
139*0c4c0281SGerrit Uitslag        $this->R->listitem_close();
140*0c4c0281SGerrit Uitslag
141*0c4c0281SGerrit Uitslag        $this->R->listitem_open(1, Doku_Handler_List::NODE);
142*0c4c0281SGerrit Uitslag        $this->R->listcontent_open();
143*0c4c0281SGerrit Uitslag        $this->R->cdata('item3');
144*0c4c0281SGerrit Uitslag        $this->R->listcontent_close();
145*0c4c0281SGerrit Uitslag
146*0c4c0281SGerrit Uitslag        $this->R->listo_open('special');
147*0c4c0281SGerrit Uitslag
148*0c4c0281SGerrit Uitslag        $this->R->listitem_open(2);
149*0c4c0281SGerrit Uitslag        $this->R->listcontent_open();
150*0c4c0281SGerrit Uitslag        $this->R->cdata('item3b');
151*0c4c0281SGerrit Uitslag        $this->R->listcontent_close();
152*0c4c0281SGerrit Uitslag        $this->R->listitem_close();
153*0c4c0281SGerrit Uitslag
154*0c4c0281SGerrit Uitslag        $this->R->listo_close();
155*0c4c0281SGerrit Uitslag        $this->R->listitem_close();
156*0c4c0281SGerrit Uitslag
157*0c4c0281SGerrit Uitslag        $this->R->listo_close();
158*0c4c0281SGerrit Uitslag        $this->R->document_end();
159*0c4c0281SGerrit Uitslag
160*0c4c0281SGerrit Uitslag        $expected = '<ol>
161*0c4c0281SGerrit Uitslag<li class="level1 node"><div class="li">item1</div>
162*0c4c0281SGerrit Uitslag<ol>
163*0c4c0281SGerrit Uitslag<li class="level2"><div class="li">item1b</div>
164*0c4c0281SGerrit Uitslag</li>
165*0c4c0281SGerrit Uitslag</ol>
166*0c4c0281SGerrit Uitslag</li>
167*0c4c0281SGerrit Uitslag<li class="level1"><div class="li">item2</div>
168*0c4c0281SGerrit Uitslag</li>
169*0c4c0281SGerrit Uitslag<li class="level1 node"><div class="li">item3</div>
170*0c4c0281SGerrit Uitslag<ol class="special">
171*0c4c0281SGerrit Uitslag<li class="level2"><div class="li">item3b</div>
172*0c4c0281SGerrit Uitslag</li>
173*0c4c0281SGerrit Uitslag</ol>
174*0c4c0281SGerrit Uitslag</li>
175*0c4c0281SGerrit Uitslag</ol>
176*0c4c0281SGerrit Uitslag';
177*0c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
178*0c4c0281SGerrit Uitslag    }
179*0c4c0281SGerrit Uitslag
180*0c4c0281SGerrit Uitslag    function test_ulist() {
181*0c4c0281SGerrit Uitslag        $this->R->document_start();
182*0c4c0281SGerrit Uitslag        $this->R->listu_open();
183*0c4c0281SGerrit Uitslag
184*0c4c0281SGerrit Uitslag        $this->R->listitem_open(1, Doku_Handler_List::NODE);
185*0c4c0281SGerrit Uitslag        $this->R->listcontent_open();
186*0c4c0281SGerrit Uitslag        $this->R->cdata('item1');
187*0c4c0281SGerrit Uitslag        $this->R->listcontent_close();
188*0c4c0281SGerrit Uitslag
189*0c4c0281SGerrit Uitslag        $this->R->listu_open();
190*0c4c0281SGerrit Uitslag
191*0c4c0281SGerrit Uitslag        $this->R->listitem_open(2);
192*0c4c0281SGerrit Uitslag        $this->R->listcontent_open();
193*0c4c0281SGerrit Uitslag        $this->R->cdata('item1b');
194*0c4c0281SGerrit Uitslag        $this->R->listcontent_close();
195*0c4c0281SGerrit Uitslag        $this->R->listitem_close();
196*0c4c0281SGerrit Uitslag
197*0c4c0281SGerrit Uitslag        $this->R->listu_close();
198*0c4c0281SGerrit Uitslag        $this->R->listitem_close();
199*0c4c0281SGerrit Uitslag
200*0c4c0281SGerrit Uitslag        $this->R->listitem_open(1);
201*0c4c0281SGerrit Uitslag        $this->R->listcontent_open();
202*0c4c0281SGerrit Uitslag        $this->R->cdata('item2');
203*0c4c0281SGerrit Uitslag        $this->R->listcontent_close();
204*0c4c0281SGerrit Uitslag        $this->R->listitem_close();
205*0c4c0281SGerrit Uitslag
206*0c4c0281SGerrit Uitslag        $this->R->listitem_open(1, Doku_Handler_List::NODE);
207*0c4c0281SGerrit Uitslag        $this->R->listcontent_open();
208*0c4c0281SGerrit Uitslag        $this->R->cdata('item3');
209*0c4c0281SGerrit Uitslag        $this->R->listcontent_close();
210*0c4c0281SGerrit Uitslag
211*0c4c0281SGerrit Uitslag        $this->R->listu_open('special');
212*0c4c0281SGerrit Uitslag
213*0c4c0281SGerrit Uitslag        $this->R->listitem_open(2);
214*0c4c0281SGerrit Uitslag        $this->R->listcontent_open();
215*0c4c0281SGerrit Uitslag        $this->R->cdata('item3b');
216*0c4c0281SGerrit Uitslag        $this->R->listcontent_close();
217*0c4c0281SGerrit Uitslag        $this->R->listitem_close();
218*0c4c0281SGerrit Uitslag
219*0c4c0281SGerrit Uitslag        $this->R->listu_close();
220*0c4c0281SGerrit Uitslag        $this->R->listitem_close();
221*0c4c0281SGerrit Uitslag
222*0c4c0281SGerrit Uitslag        $this->R->listu_close();
223*0c4c0281SGerrit Uitslag        $this->R->document_end();
224*0c4c0281SGerrit Uitslag
225*0c4c0281SGerrit Uitslag        $expected = '<ul>
226*0c4c0281SGerrit Uitslag<li class="level1 node"><div class="li">item1</div>
227*0c4c0281SGerrit Uitslag<ul>
228*0c4c0281SGerrit Uitslag<li class="level2"><div class="li">item1b</div>
229*0c4c0281SGerrit Uitslag</li>
230*0c4c0281SGerrit Uitslag</ul>
231*0c4c0281SGerrit Uitslag</li>
232*0c4c0281SGerrit Uitslag<li class="level1"><div class="li">item2</div>
233*0c4c0281SGerrit Uitslag</li>
234*0c4c0281SGerrit Uitslag<li class="level1 node"><div class="li">item3</div>
235*0c4c0281SGerrit Uitslag<ul class="special">
236*0c4c0281SGerrit Uitslag<li class="level2"><div class="li">item3b</div>
237*0c4c0281SGerrit Uitslag</li>
238*0c4c0281SGerrit Uitslag</ul>
239*0c4c0281SGerrit Uitslag</li>
240*0c4c0281SGerrit Uitslag</ul>
241*0c4c0281SGerrit Uitslag';
242*0c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
243*0c4c0281SGerrit Uitslag    }
244*0c4c0281SGerrit Uitslag}
245