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