xref: /dokuwiki/_test/tests/inc/parser/parser_quote.test.php (revision f8369d7d6e37248d6523fdac6e1d760fca4f1b52)
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