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