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