xref: /dokuwiki/_test/tests/conf/CascadeProtectedTest.php (revision 5d2c5d7e32d5b0d835d896a62533da6991c51291)
1591ebe45SGerrit Uitslag<?php
2591ebe45SGerrit Uitslag
3*5d2c5d7eSGerrit Uitslagclass CascadeProtectedTest extends DokuWikiTest
4*5d2c5d7eSGerrit Uitslag{
5591ebe45SGerrit Uitslag
6*5d2c5d7eSGerrit Uitslag    public function setUp(): void
7*5d2c5d7eSGerrit Uitslag    {
8591ebe45SGerrit Uitslag        global $config_cascade;
9591ebe45SGerrit Uitslag
10591ebe45SGerrit Uitslag        $this->pluginsEnabled = [
11591ebe45SGerrit Uitslag            'testing'
12591ebe45SGerrit Uitslag        ];
13591ebe45SGerrit Uitslag
14591ebe45SGerrit Uitslag        $out = "<?php\n/*\n * protected settings, cannot modified in the Config manager\n" .
15591ebe45SGerrit Uitslag            " * Some test data */\n";
16591ebe45SGerrit Uitslag        $out .= "\$conf['title'] = 'Protected Title';\n";
17591ebe45SGerrit Uitslag        $out .= "\$conf['tagline'] = 'Protected Tagline';\n";
18591ebe45SGerrit Uitslag        $out .= "\$conf['plugin']['testing']['schnibble'] = 1;\n";
19591ebe45SGerrit Uitslag        $out .= "\$conf['plugin']['testing']['second'] = 'Protected setting';\n";
20591ebe45SGerrit Uitslag
21591ebe45SGerrit Uitslag        file_put_contents(end($config_cascade['main']['protected']), $out);
22591ebe45SGerrit Uitslag
23591ebe45SGerrit Uitslag        parent::setUp();
24591ebe45SGerrit Uitslag    }
25591ebe45SGerrit Uitslag
26*5d2c5d7eSGerrit Uitslag    public function testDefaults()
27*5d2c5d7eSGerrit Uitslag    {
28591ebe45SGerrit Uitslag        global $conf;
29591ebe45SGerrit Uitslag
30591ebe45SGerrit Uitslag        $this->assertEquals('Protected Title', $conf['title'], 'protected local value, overrides local');
31591ebe45SGerrit Uitslag        $this->assertEquals('Protected Tagline', $conf['tagline'], 'protected local value, override default');
32591ebe45SGerrit Uitslag
33591ebe45SGerrit Uitslag        $testing = plugin_load('action', 'testing');
34591ebe45SGerrit Uitslag        $this->assertEquals(1, $testing->getConf('schnibble'), 'protected local value, ');
35591ebe45SGerrit Uitslag        $this->assertEquals('Protected setting', $testing->getConf('second'), 'protected local value');
36591ebe45SGerrit Uitslag    }
37591ebe45SGerrit Uitslag
38591ebe45SGerrit Uitslag    public function tearDown(): void
39591ebe45SGerrit Uitslag    {
40591ebe45SGerrit Uitslag        global $config_cascade;
41591ebe45SGerrit Uitslag
42591ebe45SGerrit Uitslag        unlink(end($config_cascade['main']['protected']));
43591ebe45SGerrit Uitslag
44591ebe45SGerrit Uitslag        parent::tearDown();
45591ebe45SGerrit Uitslag    }
46591ebe45SGerrit Uitslag}
47