xref: /dokuwiki/_test/tests/conf/CascadeProtectedTest.php (revision 591ebe4523e0e3be14097d6d097eb5796628dcba)
1*591ebe45SGerrit Uitslag<?php
2*591ebe45SGerrit Uitslag
3*591ebe45SGerrit Uitslagclass CascadeProtectedTest extends DokuWikiTest {
4*591ebe45SGerrit Uitslag
5*591ebe45SGerrit Uitslag    public function setUp() : void {
6*591ebe45SGerrit Uitslag        global $config_cascade;
7*591ebe45SGerrit Uitslag
8*591ebe45SGerrit Uitslag        $this->pluginsEnabled = [
9*591ebe45SGerrit Uitslag            'testing'
10*591ebe45SGerrit Uitslag        ];
11*591ebe45SGerrit Uitslag
12*591ebe45SGerrit Uitslag        $out = "<?php\n/*\n * protected settings, cannot modified in the Config manager\n" .
13*591ebe45SGerrit Uitslag            " * Some test data */\n";
14*591ebe45SGerrit Uitslag        $out .= "\$conf['title'] = 'Protected Title';\n";
15*591ebe45SGerrit Uitslag        $out .= "\$conf['tagline'] = 'Protected Tagline';\n";
16*591ebe45SGerrit Uitslag        $out .= "\$conf['plugin']['testing']['schnibble'] = 1;\n";
17*591ebe45SGerrit Uitslag        $out .= "\$conf['plugin']['testing']['second'] = 'Protected setting';\n";
18*591ebe45SGerrit Uitslag
19*591ebe45SGerrit Uitslag        file_put_contents(end($config_cascade['main']['protected']), $out);
20*591ebe45SGerrit Uitslag
21*591ebe45SGerrit Uitslag        parent::setUp();
22*591ebe45SGerrit Uitslag    }
23*591ebe45SGerrit Uitslag
24*591ebe45SGerrit Uitslag    public function testDefaults() {
25*591ebe45SGerrit Uitslag        global $conf;
26*591ebe45SGerrit Uitslag
27*591ebe45SGerrit Uitslag        $this->assertEquals('Protected Title', $conf['title'], 'protected local value, overrides local');
28*591ebe45SGerrit Uitslag        $this->assertEquals('Protected Tagline', $conf['tagline'], 'protected local value, override default');
29*591ebe45SGerrit Uitslag
30*591ebe45SGerrit Uitslag        $testing = plugin_load('action', 'testing');
31*591ebe45SGerrit Uitslag        $this->assertEquals(1, $testing->getConf('schnibble'), 'protected local value, ');
32*591ebe45SGerrit Uitslag        $this->assertEquals('Protected setting', $testing->getConf('second'), 'protected local value');
33*591ebe45SGerrit Uitslag    }
34*591ebe45SGerrit Uitslag
35*591ebe45SGerrit Uitslag    public function tearDown() : void
36*591ebe45SGerrit Uitslag    {
37*591ebe45SGerrit Uitslag        global $config_cascade;
38*591ebe45SGerrit Uitslag
39*591ebe45SGerrit Uitslag        unlink(end($config_cascade['main']['protected']));
40*591ebe45SGerrit Uitslag
41*591ebe45SGerrit Uitslag        parent::tearDown();
42*591ebe45SGerrit Uitslag    }
43*591ebe45SGerrit Uitslag}
44