diff --git a/application/config/ConfigPhp.php b/application/config/ConfigPhp.php index 2f66e8e..8add8bc 100644 --- a/application/config/ConfigPhp.php +++ b/application/config/ConfigPhp.php @@ -83,10 +83,10 @@ class ConfigPhp implements ConfigIO $out = array(); foreach (self::$ROOT_KEYS as $key) { - $out[$key] = $GLOBALS[$key]; + $out[$key] = isset($GLOBALS[$key]) ? $GLOBALS[$key] : ''; } - $out['config'] = $GLOBALS['config']; - $out['plugins'] = !empty($GLOBALS['plugins']) ? $GLOBALS['plugins'] : array(); + $out['config'] = isset($GLOBALS['config']) ? $GLOBALS['config'] : []; + $out['plugins'] = isset($GLOBALS['plugins']) ? $GLOBALS['plugins'] : []; return $out; } diff --git a/tests/config/ConfigPhpTest.php b/tests/config/ConfigPhpTest.php index abfbb30..be23eea 100644 --- a/tests/config/ConfigPhpTest.php +++ b/tests/config/ConfigPhpTest.php @@ -36,6 +36,20 @@ class ConfigPhpTest extends \PHPUnit_Framework_TestCase $this->assertEquals(array(), $this->configIO->read('nope')); } + /** + * Read an empty existent config file -> array with blank default values. + */ + public function testReadEmpty() + { + $dataFile = 'tests/utils/config/emptyConfigPhp.php'; + $conf = $this->configIO->read($dataFile); + $this->assertEmpty($conf['login']); + $this->assertEmpty($conf['title']); + $this->assertEmpty($conf['titleLink']); + $this->assertEmpty($conf['config']); + $this->assertEmpty($conf['plugins']); + } + /** * Write a new config file. */ diff --git a/tests/utils/config/emptyConfigPhp.php b/tests/utils/config/emptyConfigPhp.php new file mode 100644 index 0000000..b3d9bbc --- /dev/null +++ b/tests/utils/config/emptyConfigPhp.php @@ -0,0 +1 @@ +