1*591ebe45SGerrit Uitslag<?php 2*591ebe45SGerrit Uitslag 3*591ebe45SGerrit Uitslagclass CascadeExtraDefaultsTest extends DokuWikiTest { 4*591ebe45SGerrit Uitslag 5*591ebe45SGerrit Uitslag protected $oldSetting = []; 6*591ebe45SGerrit Uitslag 7*591ebe45SGerrit Uitslag public function setUp() : void 8*591ebe45SGerrit Uitslag { 9*591ebe45SGerrit Uitslag global $config_cascade; 10*591ebe45SGerrit Uitslag 11*591ebe45SGerrit Uitslag $this->pluginsEnabled = [ 12*591ebe45SGerrit Uitslag 'testing' 13*591ebe45SGerrit Uitslag ]; 14*591ebe45SGerrit Uitslag 15*591ebe45SGerrit Uitslag $out = "<?php\n/*\n * protected settings, cannot modified in the Config manager\n" . 16*591ebe45SGerrit Uitslag " * Some test data */\n"; 17*591ebe45SGerrit Uitslag $out .= "\$conf['title'] = 'New default Title';\n"; 18*591ebe45SGerrit Uitslag $out .= "\$conf['tagline'] = 'New default Tagline';\n"; 19*591ebe45SGerrit Uitslag $out .= "\$conf['plugin']['testing']['schnibble'] = 1;\n"; 20*591ebe45SGerrit Uitslag $out .= "\$conf['plugin']['testing']['second'] = 'New default setting';\n"; 21*591ebe45SGerrit Uitslag 22*591ebe45SGerrit Uitslag $file = DOKU_CONF . 'otherdefaults.php'; 23*591ebe45SGerrit Uitslag file_put_contents($file, $out); 24*591ebe45SGerrit Uitslag 25*591ebe45SGerrit Uitslag //store original settings 26*591ebe45SGerrit Uitslag $this->oldSetting = $config_cascade['main']['default']; 27*591ebe45SGerrit Uitslag //add second file with defaults, which override the defaults of DokuWiki 28*591ebe45SGerrit Uitslag $config_cascade['main']['default'][] = $file; 29*591ebe45SGerrit Uitslag 30*591ebe45SGerrit Uitslag parent::setUp(); 31*591ebe45SGerrit Uitslag } 32*591ebe45SGerrit Uitslag 33*591ebe45SGerrit Uitslag public function testNewDefaults() 34*591ebe45SGerrit Uitslag { 35*591ebe45SGerrit Uitslag global $conf; 36*591ebe45SGerrit Uitslag 37*591ebe45SGerrit Uitslag $this->assertEquals('New default Tagline', $conf['tagline'], 'new default value'); 38*591ebe45SGerrit Uitslag $testing = plugin_load('action', 'testing'); 39*591ebe45SGerrit Uitslag $this->assertEquals(1, $testing->getConf('schnibble'), 'new default value'); 40*591ebe45SGerrit Uitslag 41*591ebe45SGerrit Uitslag 42*591ebe45SGerrit Uitslag $this->assertEquals('My Test Wiki', $conf['title'], 'local value still overrides default'); 43*591ebe45SGerrit Uitslag $this->assertEquals('Local setting', $testing->getConf('second'), 'local value still overrides default'); 44*591ebe45SGerrit Uitslag } 45*591ebe45SGerrit Uitslag 46*591ebe45SGerrit Uitslag public function tearDown() : void 47*591ebe45SGerrit Uitslag { 48*591ebe45SGerrit Uitslag global $config_cascade; 49*591ebe45SGerrit Uitslag 50*591ebe45SGerrit Uitslag $config_cascade['main']['default'] = $this->oldSetting; 51*591ebe45SGerrit Uitslag unlink(DOKU_CONF . 'otherdefaults.php'); 52*591ebe45SGerrit Uitslag 53*591ebe45SGerrit Uitslag parent::tearDown(); 54*591ebe45SGerrit Uitslag } 55*591ebe45SGerrit Uitslag} 56