[ Index ] |
PHP Cross Reference of DokuWiki |
[Summary view] [Print] [Text view]
1 <?php 2 3 use dokuwiki\Parsing\ParserMode\Eol; 4 use dokuwiki\Parsing\ParserMode\Linebreak; 5 6 require_once 'parser.inc.php'; 7 8 class TestOfDoku_Parser_Eol extends TestOfDoku_Parser { 9 10 function testEol() { 11 $this->P->addMode('eol',new Eol()); 12 $this->P->parse("Foo\nBar"); 13 $calls = array ( 14 array('document_start',array()), 15 array('p_open',array()), 16 array('cdata',array("Foo".DOKU_PARSER_EOL."Bar")), 17 array('p_close',array()), 18 array('document_end',array()), 19 ); 20 $this->assertEquals(array_map('stripByteIndex',$this->H->calls),$calls); 21 } 22 23 function testEolMultiple() { 24 $this->P->addMode('eol',new Eol()); 25 $this->P->parse("Foo\n\nbar\nFoo"); 26 $calls = array ( 27 array('document_start',array()), 28 array('p_open',array()), 29 array('cdata',array("Foo")), 30 array('p_close',array()), 31 array('p_open',array()), 32 array('cdata',array("bar".DOKU_PARSER_EOL."Foo")), 33 array('p_close',array()), 34 array('document_end',array()), 35 ); 36 $this->assertEquals(array_map('stripByteIndex',$this->H->calls),$calls); 37 } 38 39 function testWinEol() { 40 $this->P->addMode('eol',new Eol()); 41 $this->P->parse("Foo\r\nBar"); 42 $calls = array ( 43 array('document_start',array()), 44 array('p_open',array()), 45 array('cdata',array("Foo".DOKU_PARSER_EOL."Bar")), 46 array('p_close',array()), 47 array('document_end',array()), 48 ); 49 $this->assertEquals(array_map('stripByteIndex',$this->H->calls),$calls); 50 } 51 52 function testLinebreak() { 53 $this->P->addMode('linebreak',new Linebreak()); 54 $this->P->parse('Foo\\\\ Bar'); 55 $calls = array ( 56 array('document_start',array()), 57 array('p_open',array()), 58 array('cdata',array("\nFoo")), 59 array('linebreak',array()), 60 array('cdata',array("Bar")), 61 array('p_close',array()), 62 array('document_end',array()), 63 ); 64 $this->assertEquals(array_map('stripByteIndex',$this->H->calls),$calls); 65 } 66 67 function testLinebreakPlusEol() { 68 $this->P->addMode('linebreak',new Linebreak()); 69 $this->P->addMode('eol',new Eol()); 70 $this->P->parse('Foo\\\\'."\n\n".'Bar'); 71 72 $calls = array ( 73 array('document_start',array()), 74 array('p_open',array()), 75 array('cdata',array("Foo")), 76 array('linebreak',array()), 77 array('p_close',array()), 78 array('p_open',array()), 79 array('cdata',array("Bar")), 80 array('p_close',array()), 81 array('document_end',array()), 82 ); 83 $this->assertEquals(array_map('stripByteIndex',$this->H->calls),$calls); 84 } 85 86 function testLinebreakInvalid() { 87 $this->P->addMode('linebreak',new Linebreak()); 88 $this->P->parse('Foo\\\\Bar'); 89 $calls = array ( 90 array('document_start',array()), 91 array('p_open',array()), 92 array('cdata',array("\n".'Foo\\\\Bar')), 93 array('p_close',array()), 94 array('document_end',array()), 95 ); 96 $this->assertEquals(array_map('stripByteIndex',$this->H->calls),$calls); 97 } 98 99 } 100
title
Description
Body
title
Description
Body
title
Description
Body
title
Body