[ Index ] |
PHP Cross Reference of DokuWiki |
[Summary view] [Print] [Text view]
1 <?php 2 3 use dokuwiki\Parsing\ParserMode\Acronym; 4 use dokuwiki\Parsing\ParserMode\Formatting; 5 use dokuwiki\Parsing\ParserMode\Header; 6 use dokuwiki\Parsing\ParserMode\Internallink; 7 use dokuwiki\Parsing\ParserMode\Table; 8 9 require_once 'parser.inc.php'; 10 11 class TestOfDoku_Parser_i18n extends TestOfDoku_Parser { 12 13 function testFormatting() { 14 $formats = array ( 15 'strong', 'emphasis', 'underline', 'monospace', 16 'subscript', 'superscript', 'deleted', 17 ); 18 foreach ( $formats as $format ) { 19 $this->P->addMode($format,new Formatting($format)); 20 } 21 $this->P->parse("I**ñ**t__ë__r//n//â<sup>t</sup>i<sub>ô</sub>n''à''liz<del>æ</del>tiøn"); 22 $calls = array ( 23 array('document_start',array()), 24 array('p_open',array()), 25 array('cdata',array("\nI")), 26 array('strong_open',array()), 27 array('cdata',array('ñ')), 28 array('strong_close',array()), 29 array('cdata',array('t')), 30 array('underline_open',array()), 31 array('cdata',array('ë')), 32 array('underline_close',array()), 33 array('cdata',array('r')), 34 array('emphasis_open',array()), 35 array('cdata',array('n')), 36 array('emphasis_close',array()), 37 array('cdata',array('â')), 38 array('superscript_open',array()), 39 array('cdata',array('t')), 40 array('superscript_close',array()), 41 array('cdata',array('i')), 42 array('subscript_open',array()), 43 array('cdata',array('ô')), 44 array('subscript_close',array()), 45 array('cdata',array('n')), 46 array('monospace_open',array()), 47 array('cdata',array('à')), 48 array('monospace_close',array()), 49 array('cdata',array('liz')), 50 array('deleted_open',array()), 51 array('cdata',array('æ')), 52 array('deleted_close',array()), 53 array('cdata',array("tiøn")), 54 array('p_close',array()), 55 array('document_end',array()), 56 ); 57 $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 58 } 59 60 function testHeader() { 61 $this->P->addMode('header',new Header()); 62 $this->P->parse("Foo\n ==== Iñtërnâtiônàlizætiøn ==== \n Bar"); 63 $calls = array ( 64 array('document_start',array()), 65 array('p_open',array()), 66 array('cdata',array("\nFoo")), 67 array('p_close',array()), 68 array('header',array('Iñtërnâtiônàlizætiøn',3,5)), 69 array('section_open',array(3)), 70 array('p_open',array()), 71 array('cdata',array("\n Bar")), 72 array('p_close',array()), 73 array('section_close',array()), 74 array('document_end',array()), 75 ); 76 $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 77 } 78 79 function testTable() { 80 $this->P->addMode('table',new Table()); 81 $this->P->parse(' 82 abc 83 | Row 0 Col 1 | Iñtërnâtiônàlizætiøn | Row 0 Col 3 | 84 | Row 1 Col 1 | Iñtërnâtiônàlizætiøn | Row 1 Col 3 | 85 def'); 86 $calls = array ( 87 array('document_start',array()), 88 array('p_open',array()), 89 array('cdata',array("\n\nabc")), 90 array('p_close',array()), 91 array('table_open',array(3, 2, 6)), 92 array('tablerow_open',array()), 93 array('tablecell_open',array(1,'left',1)), 94 array('cdata',array(' Row 0 Col 1 ')), 95 array('tablecell_close',array()), 96 array('tablecell_open',array(1,'left',1)), 97 array('cdata',array(' Iñtërnâtiônàlizætiøn ')), 98 array('tablecell_close',array()), 99 array('tablecell_open',array(1,'left',1)), 100 array('cdata',array(' Row 0 Col 3 ')), 101 array('tablecell_close',array()), 102 array('tablerow_close',array()), 103 array('tablerow_open',array()), 104 array('tablecell_open',array(1,'left',1)), 105 array('cdata',array(' Row 1 Col 1 ')), 106 array('tablecell_close',array()), 107 array('tablecell_open',array(1,'left',1)), 108 array('cdata',array(' Iñtërnâtiônàlizætiøn ')), 109 array('tablecell_close',array()), 110 array('tablecell_open',array(1,'left',1)), 111 array('cdata',array(' Row 1 Col 3 ')), 112 array('tablecell_close',array()), 113 array('tablerow_close',array()), 114 array('table_close',array(153)), 115 array('p_open',array()), 116 array('cdata',array('def')), 117 array('p_close',array()), 118 array('document_end',array()), 119 ); 120 $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 121 } 122 123 function testAcronym() { 124 $t = array('Iñtërnâtiônàlizætiøn'); 125 $this->P->addMode('acronym',new Acronym($t)); 126 $this->P->parse("Foo Iñtërnâtiônàlizætiøn Bar"); 127 $calls = array ( 128 array('document_start',array()), 129 array('p_open',array()), 130 array('cdata',array("\nFoo ")), 131 array('acronym',array('Iñtërnâtiônàlizætiøn')), 132 array('cdata',array(" Bar")), 133 array('p_close',array()), 134 array('document_end',array()), 135 ); 136 $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 137 } 138 139 function testInterwiki() { 140 $this->P->addMode('internallink',new InternalLink()); 141 $this->P->parse("Foo [[wp>Iñtërnâtiônàlizætiøn|Iñtërnâtiônàlizætiøn]] Bar"); 142 $calls = array ( 143 array('document_start',array()), 144 array('p_open',array()), 145 array('cdata',array("\n".'Foo ')), 146 array('interwikilink',array('wp>Iñtërnâtiônàlizætiøn','Iñtërnâtiônàlizætiøn','wp','Iñtërnâtiônàlizætiøn')), 147 array('cdata',array(' Bar')), 148 array('p_close',array()), 149 array('document_end',array()), 150 ); 151 $this->assertEquals(array_map('stripByteIndex',$this->H->calls),$calls); 152 } 153 154 function testInternalLink() { 155 $this->P->addMode('internallink',new InternalLink()); 156 $this->P->parse("Foo [[x:Iñtërnâtiônàlizætiøn:y:foo_bar:z|Iñtërnâtiônàlizætiøn]] Bar"); 157 $calls = array ( 158 array('document_start',array()), 159 array('p_open',array()), 160 array('cdata',array("\n".'Foo ')), 161 array('internallink',array('x:Iñtërnâtiônàlizætiøn:y:foo_bar:z','Iñtërnâtiônàlizætiøn')), 162 array('cdata',array(' Bar')), 163 array('p_close',array()), 164 array('document_end',array()), 165 ); 166 $this->assertEquals(array_map('stripByteIndex',$this->H->calls),$calls); 167 } 168 } 169
title
Description
Body
title
Description
Body
title
Description
Body
title
Body