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