1<?php 2require_once 'parser.inc.php'; 3 4class TestOfDoku_Parser_Code extends TestOfDoku_Parser { 5 6 function setUp() { 7 parent::setUp(); 8 $this->P->addMode('code',new Doku_Parser_Mode_Code()); 9 } 10 11 function testCode() { 12 $this->P->parse('Foo <code>Test</code> Bar'); 13 $calls = array ( 14 array('document_start',array()), 15 array('p_open',array()), 16 array('cdata',array("\n".'Foo ')), 17 array('p_close',array()), 18 array('code',array('Test',null,null)), 19 array('p_open',array()), 20 array('cdata',array(' Bar')), 21 array('p_close',array()), 22 array('document_end',array()), 23 ); 24 $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 25 } 26 27 function testCodeBash() { 28 $this->P->parse('Foo <code bash>Test</code> Bar'); 29 $calls = array ( 30 array('document_start',array()), 31 array('p_open',array()), 32 array('cdata',array("\n".'Foo ')), 33 array('p_close',array()), 34 array('code',array('Test','bash',null)), 35 array('p_open',array()), 36 array('cdata',array(' Bar')), 37 array('p_close',array()), 38 array('document_end',array()), 39 ); 40 $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 41 } 42 43 function testCodeDownload() { 44 $this->P->parse('Foo <code bash script.sh>Test</code> Bar'); 45 $calls = array ( 46 array('document_start',array()), 47 array('p_open',array()), 48 array('cdata',array("\n".'Foo ')), 49 array('p_close',array()), 50 array('code',array('Test','bash','script.sh')), 51 array('p_open',array()), 52 array('cdata',array(' Bar')), 53 array('p_close',array()), 54 array('document_end',array()), 55 ); 56 $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 57 } 58 59 function testCodeToken() { 60 $this->P->parse('Foo <code2>Bar</code2><code>Test</code>'); 61 $calls = array ( 62 array('document_start',array()), 63 array('p_open',array()), 64 array('cdata',array("\n".'Foo <code2>Bar</code2>')), 65 array('p_close',array()), 66 array('code',array('Test',null,null)), 67 array('document_end',array()), 68 ); 69 $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 70 } 71} 72 73