[ Index ] |
PHP Cross Reference of DokuWiki |
[Summary view] [Print] [Text view]
1 <?php 2 3 namespace dokuwiki\plugin\config\test; 4 5 use dokuwiki\plugin\config\core\ConfigParser; 6 use dokuwiki\plugin\config\core\Loader; 7 8 /** 9 * @group plugin_config 10 * @group admin_plugins 11 * @group plugins 12 * @group bundled_plugins 13 */ 14 class LoaderExtraDefaultsTest extends \DokuWikiTest 15 { 16 17 protected $pluginsEnabled = ['testing']; 18 19 protected $oldSetting = []; 20 21 public function setUp(): void 22 { 23 global $config_cascade; 24 25 $out = "<?php\n/*\n * protected settings, cannot modified in the Config manager\n" . 26 " * Some test data */\n"; 27 $out .= "\$conf['title'] = 'New default Title';\n"; 28 $out .= "\$conf['tagline'] = 'New default Tagline';\n"; 29 $out .= "\$conf['plugin']['testing']['schnibble'] = 1;\n"; 30 $out .= "\$conf['plugin']['testing']['second'] = 'New default setting';\n"; 31 32 $file = DOKU_CONF . 'otherdefaults.php'; 33 file_put_contents($file, $out); 34 35 //store original settings 36 $this->oldSetting = $config_cascade['main']['default']; 37 //add second file with defaults, which override the defaults of DokuWiki 38 $config_cascade['main']['default'][] = $file; 39 40 parent::setUp(); 41 } 42 43 /** 44 * Ensure loading the defaults work, and that the extra default for plugins provided via an extra main default file 45 * override the plugin defaults as well 46 */ 47 public function testDefaultsOverwriting() 48 { 49 $loader = new Loader(new ConfigParser()); 50 51 $conf = $loader->loadDefaults(); 52 $this->assertTrue(is_array($conf)); 53 54 // basic defaults 55 $this->assertArrayHasKey('title', $conf); 56 $this->assertEquals('New default Title', $conf['title']); 57 $this->assertEquals('New default Tagline', $conf['tagline']); 58 59 // plugin defaults 60 $this->assertArrayHasKey('plugin____testing____schnibble', $conf); 61 $this->assertEquals(1, $conf['plugin____testing____schnibble']); 62 $this->assertEquals('New default setting', $conf['plugin____testing____second']); 63 64 } 65 66 public function tearDown(): void 67 { 68 global $config_cascade; 69 70 $config_cascade['main']['default'] = $this->oldSetting; 71 unlink(DOKU_CONF . 'otherdefaults.php'); 72 73 parent::tearDown(); 74 } 75 76 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body