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