1<?php
2
3/**
4 * General tests for the svgpureinsert plugin
5 *
6 * @group plugin_svgpureinsert
7 * @group plugins
8 */
9class syntax_plugin_svgpureinsert_test extends DokuWikiTest {
10    protected $pluginsEnabled = array('svgpureinsert');
11
12    public function test_localparse() {
13        $source = '{{just:some.svg?400x500 |test}}';
14        $parser_response = p_get_instructions($source);
15
16        $calls = array(
17            array('document_start', array()),
18            array('p_open', array()),
19            array(
20                'plugin',
21                array(
22                    'svgpureinsert',
23                    array(
24                        'id'     => 'just:some.svg',
25                        'title'  => 'test',
26                        'align'  => 'left',
27                        'width'  => 400,
28                        'height' => 500,
29                        'cache'  => 'cache'
30                    ),
31                    5, // pos?
32                    $source
33                )
34            ),
35            array('cdata', array(null)),
36            array('p_close', array()),
37            array('document_end', array()),
38        );
39        $this->assertEquals($calls, array_map('stripbyteindex', $parser_response));
40    }
41
42    public function test_svgsize() {
43        /** @var helper_plugin_svgpureinsert $hlp */
44        $hlp = plugin_load('helper', 'svgpureinsert');
45
46        $dimension = $hlp->readSVGsize(__DIR__.'/svglogo.svg');
47        $this->assertEquals(array(300, 300), $dimension);
48
49        $dimension = $hlp->readSVGsize(__DIR__.'/dokuwiki.svg');
50        $this->assertEquals(array(745, 1053), $dimension);
51    }
52}
53