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