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