1<?php
2
3namespace dokuwiki\plugin\config\test;
4
5use dokuwiki\plugin\config\core\ConfigParser;
6
7/**
8 * @group plugin_config
9 * @group admin_plugins
10 * @group plugins
11 * @group bundled_plugins
12 */
13class ConfigParserTest extends \DokuWikiTest {
14
15    function test_readconfig() {
16        $parser = new ConfigParser();
17        $conf = $parser->parse(__DIR__ . '/data/config.php');
18
19        // var_dump($conf);
20
21        $this->assertEquals('42', $conf['int1']);
22        $this->assertEquals('6*7', $conf['int2']);
23
24        $this->assertEquals('Hello World', $conf['str1']);
25        $this->assertEquals('G\'day World', $conf['str2']);
26        $this->assertEquals('Hello World', $conf['str3']);
27        $this->assertEquals("Hello 'World'", $conf['str4']);
28        $this->assertEquals('Hello "World"', $conf['str5']);
29
30        $this->assertEquals(array('foo', 'bar', 'baz'), $conf['arr1']);
31    }
32
33    function test_readconfig_onoff() {
34        $parser = new ConfigParser();
35        $conf = $parser->parse(__DIR__ . '/data/config.php');
36
37        // var_dump($conf);
38
39        $this->assertEquals(0, $conf['onoff1']);
40        $this->assertEquals(1, $conf['onoff2']);
41        $this->assertEquals(2, $conf['onoff3']);
42        $this->assertEquals(0, $conf['onoff4']);
43        $this->assertEquals(1, $conf['onoff5']);
44        $this->assertEquals(false, $conf['onoff6']);
45        $this->assertEquals(true, $conf['onoff7']);
46        $this->assertEquals('false', $conf['onoff8']);
47        $this->assertEquals('true', $conf['onoff9']);
48
49        $this->assertEquals('false senctence', $conf['str11']);
50        $this->assertEquals('true sentence', $conf['str12']);
51        $this->assertEquals('truesfdf', $conf['str13']);
52        $this->assertEquals("true", $conf['str14']);
53        $this->assertEquals("truesfdsf", $conf['str15']);
54
55        $this->assertTrue($conf['onoff1'] == false);
56        $this->assertTrue($conf['onoff2'] == true);
57        $this->assertTrue($conf['onoff3'] == true);
58        $this->assertTrue($conf['onoff4'] == false);
59        $this->assertTrue($conf['onoff5'] == true);
60        $this->assertTrue($conf['onoff6'] == false);
61        $this->assertTrue($conf['onoff7'] == true);
62        $this->assertTrue($conf['onoff8'] == true); //string
63        $this->assertTrue($conf['onoff9'] == true); //string
64    }
65
66}
67