xref: /dokuwiki/_test/tests/inc/parser/renderer_xhtml.test.php (revision f515db7fa4f336497ade5e5831cfd1365c7862ea)
10c4c0281SGerrit Uitslag<?php
20c4c0281SGerrit Uitslag
30c4c0281SGerrit Uitslag/**
40c4c0281SGerrit Uitslag * Class renderer_xhtml_test
50c4c0281SGerrit Uitslag */
60c4c0281SGerrit Uitslagclass renderer_xhtml_test extends DokuWikiTest {
70c4c0281SGerrit Uitslag    /** @var Doku_Renderer_xhtml */
80c4c0281SGerrit Uitslag    protected $R;
90c4c0281SGerrit Uitslag
100c4c0281SGerrit Uitslag    /**
110c4c0281SGerrit Uitslag     * Called for each test
120c4c0281SGerrit Uitslag     *
130c4c0281SGerrit Uitslag     * @throws Exception
140c4c0281SGerrit Uitslag     */
150c4c0281SGerrit Uitslag    function setUp() {
160c4c0281SGerrit Uitslag        parent::setUp();
170c4c0281SGerrit Uitslag        $this->R = new Doku_Renderer_xhtml();
180c4c0281SGerrit Uitslag    }
190c4c0281SGerrit Uitslag
200c4c0281SGerrit Uitslag    function tearDown() {
210c4c0281SGerrit Uitslag        unset($this->R);
220c4c0281SGerrit Uitslag    }
230c4c0281SGerrit Uitslag
240c4c0281SGerrit Uitslag    function test_tableopen_0arg() {
250c4c0281SGerrit Uitslag        $this->R->table_open();
260c4c0281SGerrit Uitslag
270c4c0281SGerrit Uitslag        $expected = '<div class="table"><table class="inline">'."\n";
280c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
290c4c0281SGerrit Uitslag    }
300c4c0281SGerrit Uitslag
310c4c0281SGerrit Uitslag    function test_tableopen_1arg() {
320c4c0281SGerrit Uitslag        $this->R->table_open(4);
330c4c0281SGerrit Uitslag
340c4c0281SGerrit Uitslag        $expected = '<div class="table"><table class="inline">'."\n";
350c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
360c4c0281SGerrit Uitslag    }
370c4c0281SGerrit Uitslag
380c4c0281SGerrit Uitslag    function test_tableopen_2arg() {
390c4c0281SGerrit Uitslag        $this->R->table_open(4, 4);
400c4c0281SGerrit Uitslag
410c4c0281SGerrit Uitslag        $expected = '<div class="table"><table class="inline">'."\n";
420c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
430c4c0281SGerrit Uitslag    }
440c4c0281SGerrit Uitslag
450c4c0281SGerrit Uitslag    function test_tableopen_3arg() {
460c4c0281SGerrit Uitslag        $this->R->table_open(4, 4, 100);
470c4c0281SGerrit Uitslag
480c4c0281SGerrit Uitslag        $expected = '<div class="table sectionedit1"><table class="inline">'."\n";
490c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
500c4c0281SGerrit Uitslag    }
510c4c0281SGerrit Uitslag
522e0ebe60SAndreas Gohr    function test_tableopen_4arg_str() {
530c4c0281SGerrit Uitslag        $this->R->table_open(4, 4, 100, 'feature');
540c4c0281SGerrit Uitslag
550c4c0281SGerrit Uitslag        $expected = '<div class="table feature sectionedit1"><table class="inline">'."\n";
560c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
570c4c0281SGerrit Uitslag    }
580c4c0281SGerrit Uitslag
592e0ebe60SAndreas Gohr    function test_tableopen_4arg_arr() {
602e0ebe60SAndreas Gohr        $this->R->table_open(4, 4, 100, array('feature', 'test'));
612e0ebe60SAndreas Gohr
622e0ebe60SAndreas Gohr        $expected = '<div class="table feature test sectionedit1"><table class="inline">'."\n";
632e0ebe60SAndreas Gohr        $this->assertEquals($expected, $this->R->doc);
642e0ebe60SAndreas Gohr    }
652e0ebe60SAndreas Gohr
660c4c0281SGerrit Uitslag    function test_table() {
670c4c0281SGerrit Uitslag        $this->R->table_open(null, null, null, 'feature');
680c4c0281SGerrit Uitslag        $this->R->tablethead_open();
690c4c0281SGerrit Uitslag
700c4c0281SGerrit Uitslag        $this->R->tablerow_open('item');
710c4c0281SGerrit Uitslag        $this->R->tableheader_open();
720c4c0281SGerrit Uitslag        $this->R->cdata('header1');
730c4c0281SGerrit Uitslag        $this->R->tableheader_close();
740c4c0281SGerrit Uitslag        $this->R->tableheader_open(1, null, 1, 'second');
750c4c0281SGerrit Uitslag        $this->R->cdata('header2');
760c4c0281SGerrit Uitslag        $this->R->tableheader_close();
770c4c0281SGerrit Uitslag        $this->R->tablerow_close();
780c4c0281SGerrit Uitslag
790c4c0281SGerrit Uitslag        $this->R->tablethead_close();
800c4c0281SGerrit Uitslag        $this->R->tabletbody_open();
810c4c0281SGerrit Uitslag
820c4c0281SGerrit Uitslag        $this->R->tablerow_open('values');
830c4c0281SGerrit Uitslag        $this->R->tablecell_open(1, null, 1, 'first value');
840c4c0281SGerrit Uitslag        $this->R->cdata('cell1,1');
850c4c0281SGerrit Uitslag        $this->R->tablecell_close();
860c4c0281SGerrit Uitslag        $this->R->tablecell_open(1, null, 1, 'second');
870c4c0281SGerrit Uitslag        $this->R->cdata('cell1,2');
880c4c0281SGerrit Uitslag        $this->R->tablecell_close();
890c4c0281SGerrit Uitslag        $this->R->tablerow_close();
900c4c0281SGerrit Uitslag
910c4c0281SGerrit Uitslag        $this->R->tablerow_open();
920c4c0281SGerrit Uitslag        $this->R->tablecell_open();
930c4c0281SGerrit Uitslag        $this->R->cdata('cell2.1');
940c4c0281SGerrit Uitslag        $this->R->tablecell_close();
950c4c0281SGerrit Uitslag        $this->R->tablecell_open();
960c4c0281SGerrit Uitslag        $this->R->cdata('cell2,2');
970c4c0281SGerrit Uitslag        $this->R->tablecell_close();
980c4c0281SGerrit Uitslag        $this->R->tablerow_close();
990c4c0281SGerrit Uitslag
1000c4c0281SGerrit Uitslag        $this->R->tabletbody_close();
1010c4c0281SGerrit Uitslag        $this->R->table_close();
1020c4c0281SGerrit Uitslag
1030c4c0281SGerrit Uitslag        $expected = '<div class="table feature"><table class="inline">
1040c4c0281SGerrit Uitslag	<thead>
1050c4c0281SGerrit Uitslag	<tr class="row0 item">
1060c4c0281SGerrit Uitslag		<th class="col0">header1</th><th class="col1 second">header2</th>
1070c4c0281SGerrit Uitslag	</tr>
1080c4c0281SGerrit Uitslag	</thead>
1090c4c0281SGerrit Uitslag	<tbody>
1100c4c0281SGerrit Uitslag	<tr class="row1 values">
1110c4c0281SGerrit Uitslag		<td class="col0 first value">cell1,1</td><td class="col1 second">cell1,2</td>
1120c4c0281SGerrit Uitslag	</tr>
1130c4c0281SGerrit Uitslag	<tr class="row2">
1140c4c0281SGerrit Uitslag		<td class="col0">cell2.1</td><td class="col1">cell2,2</td>
1150c4c0281SGerrit Uitslag	</tr>
1160c4c0281SGerrit Uitslag	</tbody>
1170c4c0281SGerrit Uitslag</table></div>
1180c4c0281SGerrit Uitslag';
1190c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
1200c4c0281SGerrit Uitslag    }
1210c4c0281SGerrit Uitslag
1220c4c0281SGerrit Uitslag    function test_olist() {
1230c4c0281SGerrit Uitslag        $this->R->document_start();
1240c4c0281SGerrit Uitslag        $this->R->listo_open();
1250c4c0281SGerrit Uitslag
1260c4c0281SGerrit Uitslag        $this->R->listitem_open(1, Doku_Handler_List::NODE);
1270c4c0281SGerrit Uitslag        $this->R->listcontent_open();
1280c4c0281SGerrit Uitslag        $this->R->cdata('item1');
1290c4c0281SGerrit Uitslag        $this->R->listcontent_close();
1300c4c0281SGerrit Uitslag
1310c4c0281SGerrit Uitslag        $this->R->listo_open();
1320c4c0281SGerrit Uitslag
1330c4c0281SGerrit Uitslag        $this->R->listitem_open(2);
1340c4c0281SGerrit Uitslag        $this->R->listcontent_open();
1350c4c0281SGerrit Uitslag        $this->R->cdata('item1b');
1360c4c0281SGerrit Uitslag        $this->R->listcontent_close();
1370c4c0281SGerrit Uitslag        $this->R->listitem_close();
1380c4c0281SGerrit Uitslag
1390c4c0281SGerrit Uitslag        $this->R->listo_close();
1400c4c0281SGerrit Uitslag        $this->R->listitem_close();
1410c4c0281SGerrit Uitslag
1420c4c0281SGerrit Uitslag        $this->R->listitem_open(1);
1430c4c0281SGerrit Uitslag        $this->R->listcontent_open();
1440c4c0281SGerrit Uitslag        $this->R->cdata('item2');
1450c4c0281SGerrit Uitslag        $this->R->listcontent_close();
1460c4c0281SGerrit Uitslag        $this->R->listitem_close();
1470c4c0281SGerrit Uitslag
1480c4c0281SGerrit Uitslag        $this->R->listitem_open(1, Doku_Handler_List::NODE);
1490c4c0281SGerrit Uitslag        $this->R->listcontent_open();
1500c4c0281SGerrit Uitslag        $this->R->cdata('item3');
1510c4c0281SGerrit Uitslag        $this->R->listcontent_close();
1520c4c0281SGerrit Uitslag
1530c4c0281SGerrit Uitslag        $this->R->listo_open('special');
1540c4c0281SGerrit Uitslag
1550c4c0281SGerrit Uitslag        $this->R->listitem_open(2);
1560c4c0281SGerrit Uitslag        $this->R->listcontent_open();
1570c4c0281SGerrit Uitslag        $this->R->cdata('item3b');
1580c4c0281SGerrit Uitslag        $this->R->listcontent_close();
1590c4c0281SGerrit Uitslag        $this->R->listitem_close();
1600c4c0281SGerrit Uitslag
1610c4c0281SGerrit Uitslag        $this->R->listo_close();
1620c4c0281SGerrit Uitslag        $this->R->listitem_close();
1630c4c0281SGerrit Uitslag
1640c4c0281SGerrit Uitslag        $this->R->listo_close();
1650c4c0281SGerrit Uitslag        $this->R->document_end();
1660c4c0281SGerrit Uitslag
1670c4c0281SGerrit Uitslag        $expected = '<ol>
1680c4c0281SGerrit Uitslag<li class="level1 node"><div class="li">item1</div>
1690c4c0281SGerrit Uitslag<ol>
1700c4c0281SGerrit Uitslag<li class="level2"><div class="li">item1b</div>
1710c4c0281SGerrit Uitslag</li>
1720c4c0281SGerrit Uitslag</ol>
1730c4c0281SGerrit Uitslag</li>
1740c4c0281SGerrit Uitslag<li class="level1"><div class="li">item2</div>
1750c4c0281SGerrit Uitslag</li>
1760c4c0281SGerrit Uitslag<li class="level1 node"><div class="li">item3</div>
1770c4c0281SGerrit Uitslag<ol class="special">
1780c4c0281SGerrit Uitslag<li class="level2"><div class="li">item3b</div>
1790c4c0281SGerrit Uitslag</li>
1800c4c0281SGerrit Uitslag</ol>
1810c4c0281SGerrit Uitslag</li>
1820c4c0281SGerrit Uitslag</ol>
1830c4c0281SGerrit Uitslag';
1840c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
1850c4c0281SGerrit Uitslag    }
1860c4c0281SGerrit Uitslag
1870c4c0281SGerrit Uitslag    function test_ulist() {
1880c4c0281SGerrit Uitslag        $this->R->document_start();
1890c4c0281SGerrit Uitslag        $this->R->listu_open();
1900c4c0281SGerrit Uitslag
1910c4c0281SGerrit Uitslag        $this->R->listitem_open(1, Doku_Handler_List::NODE);
1920c4c0281SGerrit Uitslag        $this->R->listcontent_open();
1930c4c0281SGerrit Uitslag        $this->R->cdata('item1');
1940c4c0281SGerrit Uitslag        $this->R->listcontent_close();
1950c4c0281SGerrit Uitslag
1960c4c0281SGerrit Uitslag        $this->R->listu_open();
1970c4c0281SGerrit Uitslag
1980c4c0281SGerrit Uitslag        $this->R->listitem_open(2);
1990c4c0281SGerrit Uitslag        $this->R->listcontent_open();
2000c4c0281SGerrit Uitslag        $this->R->cdata('item1b');
2010c4c0281SGerrit Uitslag        $this->R->listcontent_close();
2020c4c0281SGerrit Uitslag        $this->R->listitem_close();
2030c4c0281SGerrit Uitslag
2040c4c0281SGerrit Uitslag        $this->R->listu_close();
2050c4c0281SGerrit Uitslag        $this->R->listitem_close();
2060c4c0281SGerrit Uitslag
2070c4c0281SGerrit Uitslag        $this->R->listitem_open(1);
2080c4c0281SGerrit Uitslag        $this->R->listcontent_open();
2090c4c0281SGerrit Uitslag        $this->R->cdata('item2');
2100c4c0281SGerrit Uitslag        $this->R->listcontent_close();
2110c4c0281SGerrit Uitslag        $this->R->listitem_close();
2120c4c0281SGerrit Uitslag
2130c4c0281SGerrit Uitslag        $this->R->listitem_open(1, Doku_Handler_List::NODE);
2140c4c0281SGerrit Uitslag        $this->R->listcontent_open();
2150c4c0281SGerrit Uitslag        $this->R->cdata('item3');
2160c4c0281SGerrit Uitslag        $this->R->listcontent_close();
2170c4c0281SGerrit Uitslag
2180c4c0281SGerrit Uitslag        $this->R->listu_open('special');
2190c4c0281SGerrit Uitslag
2200c4c0281SGerrit Uitslag        $this->R->listitem_open(2);
2210c4c0281SGerrit Uitslag        $this->R->listcontent_open();
2220c4c0281SGerrit Uitslag        $this->R->cdata('item3b');
2230c4c0281SGerrit Uitslag        $this->R->listcontent_close();
2240c4c0281SGerrit Uitslag        $this->R->listitem_close();
2250c4c0281SGerrit Uitslag
2260c4c0281SGerrit Uitslag        $this->R->listu_close();
2270c4c0281SGerrit Uitslag        $this->R->listitem_close();
2280c4c0281SGerrit Uitslag
2290c4c0281SGerrit Uitslag        $this->R->listu_close();
2300c4c0281SGerrit Uitslag        $this->R->document_end();
2310c4c0281SGerrit Uitslag
2320c4c0281SGerrit Uitslag        $expected = '<ul>
2330c4c0281SGerrit Uitslag<li class="level1 node"><div class="li">item1</div>
2340c4c0281SGerrit Uitslag<ul>
2350c4c0281SGerrit Uitslag<li class="level2"><div class="li">item1b</div>
2360c4c0281SGerrit Uitslag</li>
2370c4c0281SGerrit Uitslag</ul>
2380c4c0281SGerrit Uitslag</li>
2390c4c0281SGerrit Uitslag<li class="level1"><div class="li">item2</div>
2400c4c0281SGerrit Uitslag</li>
2410c4c0281SGerrit Uitslag<li class="level1 node"><div class="li">item3</div>
2420c4c0281SGerrit Uitslag<ul class="special">
2430c4c0281SGerrit Uitslag<li class="level2"><div class="li">item3b</div>
2440c4c0281SGerrit Uitslag</li>
2450c4c0281SGerrit Uitslag</ul>
2460c4c0281SGerrit Uitslag</li>
2470c4c0281SGerrit Uitslag</ul>
2480c4c0281SGerrit Uitslag';
2490c4c0281SGerrit Uitslag        $this->assertEquals($expected, $this->R->doc);
2500c4c0281SGerrit Uitslag    }
251*f515db7fSAndreas Gohr
252*f515db7fSAndreas Gohr    public function test_blankHeader() {
253*f515db7fSAndreas Gohr        $this->R->header('0', 1, 1);
254*f515db7fSAndreas Gohr        $expected = '<h1 class="sectionedit1" id="section0">0</h1>';
255*f515db7fSAndreas Gohr        $this->assertEquals($expected, trim($this->R->doc));
256*f515db7fSAndreas Gohr    }
257*f515db7fSAndreas Gohr
258*f515db7fSAndreas Gohr    public function test_blankTitleLink() {
259*f515db7fSAndreas Gohr        global $conf;
260*f515db7fSAndreas Gohr        $conf['useheading'] = 1;
261*f515db7fSAndreas Gohr        saveWikiText('test','====== 0 ======', 'test');
262*f515db7fSAndreas Gohr        $this->R->internallink('test');
263*f515db7fSAndreas Gohr
264*f515db7fSAndreas Gohr        $expected = '<a href="/./doku.php?id=test" class="wikilink1" title="test">0</a>';
265*f515db7fSAndreas Gohr        $this->assertEquals($expected, trim($this->R->doc));
266*f515db7fSAndreas Gohr    }
2670c4c0281SGerrit Uitslag}
268