1591ebe45SGerrit Uitslag<?php 2591ebe45SGerrit Uitslag 3*5d2c5d7eSGerrit Uitslagclass CascadeExtraDefaultsTest extends DokuWikiTest 4*5d2c5d7eSGerrit Uitslag{ 5591ebe45SGerrit Uitslag 6591ebe45SGerrit Uitslag protected $oldSetting = []; 7591ebe45SGerrit Uitslag 8591ebe45SGerrit Uitslag public function setUp(): void 9591ebe45SGerrit 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'] = 'New default Title';\n"; 19591ebe45SGerrit Uitslag $out .= "\$conf['tagline'] = 'New default Tagline';\n"; 20591ebe45SGerrit Uitslag $out .= "\$conf['plugin']['testing']['schnibble'] = 1;\n"; 21591ebe45SGerrit Uitslag $out .= "\$conf['plugin']['testing']['second'] = 'New default setting';\n"; 22591ebe45SGerrit Uitslag 23591ebe45SGerrit Uitslag $file = DOKU_CONF . 'otherdefaults.php'; 24591ebe45SGerrit Uitslag file_put_contents($file, $out); 25591ebe45SGerrit Uitslag 26591ebe45SGerrit Uitslag //store original settings 27591ebe45SGerrit Uitslag $this->oldSetting = $config_cascade['main']['default']; 28591ebe45SGerrit Uitslag //add second file with defaults, which override the defaults of DokuWiki 29591ebe45SGerrit Uitslag $config_cascade['main']['default'][] = $file; 30591ebe45SGerrit Uitslag 31591ebe45SGerrit Uitslag parent::setUp(); 32591ebe45SGerrit Uitslag } 33591ebe45SGerrit Uitslag 34591ebe45SGerrit Uitslag public function testNewDefaults() 35591ebe45SGerrit Uitslag { 36591ebe45SGerrit Uitslag global $conf; 37591ebe45SGerrit Uitslag 38591ebe45SGerrit Uitslag $this->assertEquals('New default Tagline', $conf['tagline'], 'new default value'); 39591ebe45SGerrit Uitslag $testing = plugin_load('action', 'testing'); 40591ebe45SGerrit Uitslag $this->assertEquals(1, $testing->getConf('schnibble'), 'new default value'); 41591ebe45SGerrit Uitslag 42591ebe45SGerrit Uitslag 43591ebe45SGerrit Uitslag $this->assertEquals('My Test Wiki', $conf['title'], 'local value still overrides default'); 44591ebe45SGerrit Uitslag $this->assertEquals('Local setting', $testing->getConf('second'), 'local value still overrides default'); 45591ebe45SGerrit Uitslag } 46591ebe45SGerrit Uitslag 47591ebe45SGerrit Uitslag public function tearDown(): void 48591ebe45SGerrit Uitslag { 49591ebe45SGerrit Uitslag global $config_cascade; 50591ebe45SGerrit Uitslag 51591ebe45SGerrit Uitslag $config_cascade['main']['default'] = $this->oldSetting; 52591ebe45SGerrit Uitslag unlink(DOKU_CONF . 'otherdefaults.php'); 53591ebe45SGerrit Uitslag 54591ebe45SGerrit Uitslag parent::tearDown(); 55591ebe45SGerrit Uitslag } 56591ebe45SGerrit Uitslag} 57