xref: /dokuwiki/_test/tests/inc/parser/parser_quote.test.php (revision be906b566b9bdfd92c032ee07c4fd077d820a8d1)
1f8369d7dSTobias Sarnowski<?php
236dc94bbSAndreas Gohr
3*be906b56SAndreas Gohruse dokuwiki\Parsing\ParserMode\Eol;
4*be906b56SAndreas Gohruse dokuwiki\Parsing\ParserMode\Quote;
536dc94bbSAndreas Gohr
6f8369d7dSTobias Sarnowskirequire_once 'parser.inc.php';
7f8369d7dSTobias Sarnowski
8f8369d7dSTobias Sarnowskiclass TestOfDoku_Parser_Quote extends TestOfDoku_Parser {
9f8369d7dSTobias Sarnowski
10f8369d7dSTobias Sarnowski    function testQuote() {
1136dc94bbSAndreas Gohr        $this->P->addMode('quote',new Quote());
12f8369d7dSTobias Sarnowski        $this->P->parse("abc\n> def\n>>ghi\nklm");
13f8369d7dSTobias Sarnowski        $calls = array (
14f8369d7dSTobias Sarnowski            array('document_start',array()),
15f8369d7dSTobias Sarnowski            array('p_open',array()),
16f8369d7dSTobias Sarnowski            array('cdata',array("\nabc")),
17f8369d7dSTobias Sarnowski            array('p_close',array()),
18f8369d7dSTobias Sarnowski            array('quote_open',array()),
19f8369d7dSTobias Sarnowski            array('cdata',array(" def")),
20f8369d7dSTobias Sarnowski            array('quote_open',array()),
21f8369d7dSTobias Sarnowski            array('cdata',array("ghi")),
22f8369d7dSTobias Sarnowski            array('quote_close',array()),
23f8369d7dSTobias Sarnowski            array('quote_close',array()),
24f8369d7dSTobias Sarnowski            array('p_open',array()),
25f8369d7dSTobias Sarnowski            array('cdata',array("klm")),
26f8369d7dSTobias Sarnowski            array('p_close',array()),
27f8369d7dSTobias Sarnowski            array('document_end',array()),
28f8369d7dSTobias Sarnowski
29f8369d7dSTobias Sarnowski        );
30f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
31f8369d7dSTobias Sarnowski    }
32f8369d7dSTobias Sarnowski
33f8369d7dSTobias Sarnowski    function testQuoteWinCr() {
3436dc94bbSAndreas Gohr        $this->P->addMode('quote',new Quote());
35f8369d7dSTobias Sarnowski        $this->P->parse("abc\r\n> def\r\n>>ghi\r\nklm");
36f8369d7dSTobias Sarnowski        $calls = array (
37f8369d7dSTobias Sarnowski            array('document_start',array()),
38f8369d7dSTobias Sarnowski            array('p_open',array()),
39f8369d7dSTobias Sarnowski            array('cdata',array("\nabc")),
40f8369d7dSTobias Sarnowski            array('p_close',array()),
41f8369d7dSTobias Sarnowski            array('quote_open',array()),
42f8369d7dSTobias Sarnowski            array('cdata',array(" def")),
43f8369d7dSTobias Sarnowski            array('quote_open',array()),
44f8369d7dSTobias Sarnowski            array('cdata',array("ghi")),
45f8369d7dSTobias Sarnowski            array('quote_close',array()),
46f8369d7dSTobias Sarnowski            array('quote_close',array()),
47f8369d7dSTobias Sarnowski            array('p_open',array()),
48f8369d7dSTobias Sarnowski            array('cdata',array("klm")),
49f8369d7dSTobias Sarnowski            array('p_close',array()),
50f8369d7dSTobias Sarnowski            array('document_end',array()),
51f8369d7dSTobias Sarnowski
52f8369d7dSTobias Sarnowski        );
53f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
54f8369d7dSTobias Sarnowski    }
55f8369d7dSTobias Sarnowski
56f8369d7dSTobias Sarnowski    function testQuoteMinumumContext() {
5736dc94bbSAndreas Gohr        $this->P->addMode('quote',new Quote());
58f8369d7dSTobias Sarnowski        $this->P->parse("\n> def\n>>ghi\n ");
59f8369d7dSTobias Sarnowski        $calls = array (
60f8369d7dSTobias Sarnowski            array('document_start',array()),
61f8369d7dSTobias Sarnowski            array('quote_open',array()),
62f8369d7dSTobias Sarnowski            array('cdata',array(" def")),
63f8369d7dSTobias Sarnowski            array('quote_open',array()),
64f8369d7dSTobias Sarnowski            array('cdata',array("ghi")),
65f8369d7dSTobias Sarnowski            array('quote_close',array()),
66f8369d7dSTobias Sarnowski            array('quote_close',array()),
67f8369d7dSTobias Sarnowski            array('document_end',array()),
68f8369d7dSTobias Sarnowski
69f8369d7dSTobias Sarnowski        );
70f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
71f8369d7dSTobias Sarnowski    }
72f8369d7dSTobias Sarnowski
73f8369d7dSTobias Sarnowski    function testQuoteEol() {
7436dc94bbSAndreas Gohr        $this->P->addMode('quote',new Quote());
7536dc94bbSAndreas Gohr        $this->P->addMode('eol',new Eol());
76f8369d7dSTobias Sarnowski        $this->P->parse("abc\n> def\n>>ghi\nklm");
77f8369d7dSTobias Sarnowski        $calls = array (
78f8369d7dSTobias Sarnowski            array('document_start',array()),
79f8369d7dSTobias Sarnowski            array('p_open',array()),
80f8369d7dSTobias Sarnowski            array('cdata',array("abc")),
81f8369d7dSTobias Sarnowski            array('p_close',array()),
82f8369d7dSTobias Sarnowski            array('quote_open',array()),
83f8369d7dSTobias Sarnowski            array('cdata',array(" def")),
84f8369d7dSTobias Sarnowski            array('quote_open',array()),
85f8369d7dSTobias Sarnowski            array('cdata',array("ghi")),
86f8369d7dSTobias Sarnowski            array('quote_close',array()),
87f8369d7dSTobias Sarnowski            array('quote_close',array()),
88f8369d7dSTobias Sarnowski            array('p_open',array()),
89f8369d7dSTobias Sarnowski            array('cdata',array("klm")),
90f8369d7dSTobias Sarnowski            array('p_close',array()),
91f8369d7dSTobias Sarnowski            array('document_end',array()),
92f8369d7dSTobias Sarnowski
93f8369d7dSTobias Sarnowski        );
94f8369d7dSTobias Sarnowski        $this->assertEquals(array_map('stripbyteindex',$this->H->calls),$calls);
95f8369d7dSTobias Sarnowski    }
96f8369d7dSTobias Sarnowski
97f8369d7dSTobias Sarnowski}
98f8369d7dSTobias Sarnowski
99