public function testConfigMerge() { $config1 = new \Phalcon\Config(array("controllersDir" => "../x/y/z", "modelsDir" => "../x/y/z", "database" => array("adapter" => "Mysql", "host" => "localhost", "username" => "scott", "password" => "cheetah", "name" => "test_db", "charset" => array("primary" => "utf8"), "alternatives" => array("primary" => "latin1", "second" => "latin1")))); $config2 = new \Phalcon\Config(array("modelsDir" => "../x/y/z", "database" => array("adapter" => "Postgresql", "host" => "localhost", "username" => "peter", "options" => array("case" => "lower"), "alternatives" => array("primary" => "swedish", "third" => "american")))); $config1->merge($config2); $expected = \Phalcon\Config::__set_state(array('controllersDir' => '../x/y/z', 'modelsDir' => '../x/y/z', 'database' => \Phalcon\Config::__set_state(array('adapter' => 'Postgresql', 'host' => 'localhost', 'username' => 'peter', 'password' => 'cheetah', 'name' => 'test_db', 'charset' => \Phalcon\Config::__set_state(array('primary' => 'utf8')), 'alternatives' => \Phalcon\Config::__set_state(array('primary' => 'swedish', 'second' => 'latin1', 'third' => 'american')), 'options' => \Phalcon\Config::__set_state(array('case' => 'lower')))))); $this->assertEquals($expected, $config1); }
/** * Tests merging complex config objects * * @author Andres Gutierrez <*****@*****.**> * @since 2012-12-16 */ public function testConfigMergeComplexObjects() { $this->specify("Config objects does not merged properly", function () { $config1 = new PhConfig(['controllersDir' => '../x/y/z', 'modelsDir' => '../x/y/z', 'database' => ['adapter' => 'Mysql', 'host' => 'localhost', 'username' => 'scott', 'password' => 'cheetah', 'name' => 'test_db', 'charset' => ['primary' => 'utf8'], 'alternatives' => ['primary' => 'latin1', 'second' => 'latin1']]]); $config2 = new PhConfig(['modelsDir' => '../x/y/z', 'database' => ['adapter' => 'Postgresql', 'host' => 'localhost', 'username' => 'peter', 'options' => ['case' => 'lower', \PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'], 'alternatives' => ['primary' => 'swedish', 'third' => 'american']]]); $config1->merge($config2); $expected = PhConfig::__set_state(['controllersDir' => '../x/y/z', 'modelsDir' => '../x/y/z', 'database' => PhConfig::__set_state(['adapter' => 'Postgresql', 'host' => 'localhost', 'username' => 'peter', 'password' => 'cheetah', 'name' => 'test_db', 'charset' => PhConfig::__set_state(['primary' => 'utf8']), 'alternatives' => PhConfig::__set_state(['primary' => 'swedish', 'second' => 'latin1', 'third' => 'american']), 'options' => PhConfig::__set_state(['case' => 'lower', (string) \PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'])])]); expect($config1)->equals($expected); }); }
public static function __set_state(array $data) { return parent::__set_state($data); }
public function testSetState() { $config = new \Phalcon\Config(array('a' => 'b')); $configCopy = \Phalcon\Config::__set_state($config->toArray()); $this->assertEquals($configCopy->toArray(), $config->toArray()); }