Skip to content
Permalink
Browse files

The 'default' config for Configure class is now auto created on first…

… use if not already created.
  • Loading branch information...
ADmad committed Sep 17, 2011
1 parent 0e5797d commit 08026e58289d8f249517a82ca1a66b7ed92c390a
Showing with 23 additions and 1 deletion.
  1. +9 −1 lib/Cake/Core/Configure.php
  2. +14 −0 lib/Cake/Test/Case/Core/ConfigureTest.php
@@ -287,6 +287,9 @@ public static function drop($name) {
*
* `Configure::load('setup', 'default');`
*
* If using `default` config and no reader has been configured for it yet,
* one will be automatically created using PhpReader
*
* @link http://book.cakephp.org/view/929/load
* @param string $key name of configuration resource to load.
* @param string $config Name of the configured reader to use to read the resource identified by $key.
@@ -296,7 +299,12 @@ public static function drop($name) {
*/
public static function load($key, $config = 'default', $merge = true) {
if (!isset(self::$_readers[$config])) {
return false;
if ($config === 'default') {
App::uses('PhpReader', 'Configure');
self::$_readers[$config] = new PhpReader();
} else {
return false;
}
}
$values = self::$_readers[$config]->read($key);
@@ -191,6 +191,20 @@ public function testLoadExceptionOnNonExistantFile() {
$result = Configure::load('non_existing_configuration_file', 'test');
}
/**
* test load method for default config creation
*
* @return void
*/
public function testLoadDefaultConfig() {
try {
Configure::load('non_existing_configuration_file');
} catch (Exception $e) {
$result = Configure::configured('default');
$this->assertTrue($result);
}
}
/**
* test load with merging
*

0 comments on commit 08026e5

Please sign in to comment.
You can’t perform that action at this time.