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