1<?php 2require_once 'parser.inc.php'; 3 4class TestOfDoku_Parser_Quote extends TestOfDoku_Parser { 5 6 function testQuote() { 7 $this->P->addMode('quote',new Doku_Parser_Mode_Quote()); 8 $this->P->parse("abc\n> def\n>>ghi\nklm"); 9 $calls = array ( 10 array('document_start',array()), 11 array('p_open',array()), 12 array('cdata',array("\nabc")), 13 array('p_close',array()), 14 array('quote_open',array()), 15 array('cdata',array(" def")), 16 array('quote_open',array()), 17 array('cdata',array("ghi")), 18 array('quote_close',array()), 19 array('quote_close',array()), 20 array('p_open',array()), 21 array('cdata',array("klm")), 22 array('p_close',array()), 23 array('document_end',array()), 24 25 ); 26 $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 27 } 28 29 function testQuoteWinCr() { 30 $this->P->addMode('quote',new Doku_Parser_Mode_Quote()); 31 $this->P->parse("abc\r\n> def\r\n>>ghi\r\nklm"); 32 $calls = array ( 33 array('document_start',array()), 34 array('p_open',array()), 35 array('cdata',array("\nabc")), 36 array('p_close',array()), 37 array('quote_open',array()), 38 array('cdata',array(" def")), 39 array('quote_open',array()), 40 array('cdata',array("ghi")), 41 array('quote_close',array()), 42 array('quote_close',array()), 43 array('p_open',array()), 44 array('cdata',array("klm")), 45 array('p_close',array()), 46 array('document_end',array()), 47 48 ); 49 $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 50 } 51 52 function testQuoteMinumumContext() { 53 $this->P->addMode('quote',new Doku_Parser_Mode_Quote()); 54 $this->P->parse("\n> def\n>>ghi\n "); 55 $calls = array ( 56 array('document_start',array()), 57 array('quote_open',array()), 58 array('cdata',array(" def")), 59 array('quote_open',array()), 60 array('cdata',array("ghi")), 61 array('quote_close',array()), 62 array('quote_close',array()), 63 array('document_end',array()), 64 65 ); 66 $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 67 } 68 69 function testQuoteEol() { 70 $this->P->addMode('quote',new Doku_Parser_Mode_Quote()); 71 $this->P->addMode('eol',new Doku_Parser_Mode_Eol()); 72 $this->P->parse("abc\n> def\n>>ghi\nklm"); 73 $calls = array ( 74 array('document_start',array()), 75 array('p_open',array()), 76 array('cdata',array("abc")), 77 array('p_close',array()), 78 array('quote_open',array()), 79 array('cdata',array(" def")), 80 array('quote_open',array()), 81 array('cdata',array("ghi")), 82 array('quote_close',array()), 83 array('quote_close',array()), 84 array('p_open',array()), 85 array('cdata',array("klm")), 86 array('p_close',array()), 87 array('document_end',array()), 88 89 ); 90 $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls); 91 } 92 93} 94 95