xref: /dokuwiki/_test/tests/Parsing/ParserMode/FileTest.php (revision 504c13e8df88563c11b3720b317991bc38835a35)
1<?php
2
3namespace dokuwiki\test\Parsing\ParserMode;
4
5use dokuwiki\Parsing\ParserMode\File;
6
7class FileTest extends ParserTestBase
8{
9
10    function setUp() : void {
11        parent::setUp();
12        $this->P->addMode('file',new File());
13    }
14
15    function testFile() {
16        $this->P->parse('Foo <file>Test</file> Bar');
17        $calls = [
18            ['document_start',[]],
19            ['p_open',[]],
20            ['cdata',["\n".'Foo ']],
21            ['p_close',[]],
22            ['file',['Test',null,null]],
23            ['p_open',[]],
24            ['cdata',[' Bar']],
25            ['p_close',[]],
26            ['document_end',[]],
27        ];
28        $this->assertCalls($calls, $this->H->calls);
29    }
30
31    function testFileHighlightDownload() {
32        $this->P->parse('Foo <file txt test.txt>Test</file> Bar');
33        $calls = [
34            ['document_start',[]],
35            ['p_open',[]],
36            ['cdata',["\n".'Foo ']],
37            ['p_close',[]],
38            ['file',['Test','txt','test.txt']],
39            ['p_open',[]],
40            ['cdata',[' Bar']],
41            ['p_close',[]],
42            ['document_end',[]],
43        ];
44        $this->assertCalls($calls, $this->H->calls);
45    }
46
47    function testFileToken() {
48        $this->P->parse('Foo <file2>Test</file2> Bar');
49        $calls = [
50            ['document_start',[]],
51            ['p_open',[]],
52            ['cdata',["\n".'Foo <file2>Test</file2> Bar']],
53            ['p_close',[]],
54            ['document_end',[]],
55        ];
56        $this->assertCalls($calls, $this->H->calls);
57    }
58
59}
60