Exemple #1
0
 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);
 }
Exemple #2
0
 /**
  * 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);
     });
 }
Exemple #3
0
 public static function __set_state(array $data)
 {
     return parent::__set_state($data);
 }
Exemple #4
0
 public function testSetState()
 {
     $config = new \Phalcon\Config(array('a' => 'b'));
     $configCopy = \Phalcon\Config::__set_state($config->toArray());
     $this->assertEquals($configCopy->toArray(), $config->toArray());
 }