Browse Source

* update PEAR_Config test

experimental/ZendEngine2
Stig Bakken 24 years ago
parent
commit
80f1212660
  1. 1
      pear/tests/merge.input
  2. 140
      pear/tests/pear_config.phpt
  3. 2
      pear/tests/toonew.conf
  4. 1
      pear/tests/user2.input

1
pear/tests/merge.input

@ -0,0 +1 @@
a:1:{s:7:"verbose";i:100;}

140
pear/tests/pear_config.phpt

@ -8,35 +8,84 @@ chdir(dirname(__FILE__));
include "../PEAR/Config.php";
copy("system.input", "system.conf");
copy("user.input", "user.conf");
PEAR::setErrorHandling(PEAR_ERROR_DIE, "%s\n");
dumpall();
copy("user2.input", "user2.conf");
copy("merge.input", "merge.conf");
PEAR::setErrorHandling(PEAR_ERROR_PRINT, "%s\n");
print "#0 starting up\n";
dump_files();
print "creating config object\n";
print "#1 testing: constructor\n";
$config = new PEAR_Config("user.conf", "system.conf");
dump_array("files", $config->files);
print "overriding system values\n";
$config->set("master_server", "pear.localdomain");
$config->writeConfigFile(null, "user");
print "#2 testing: singleton\n";
$cf2 = PEAR_Config::singleton();
dump_array("files", $cf2->files);
print "#3 testing: readConfigFile\n";
$config->readConfigFile("user2.conf", "user");
dump_config($config);
$config->readConfigFile("user.conf");
dump_config($config);
print "#4 testing: mergeConfigFile\n";
$config->readConfigFile("user2.conf");
dump_config($config, "user");
$config->mergeConfigFile("merge.conf", true);
dump_config($config, "user");
$config->readConfigFile("user2.conf");
$config->mergeConfigFile("merge.conf", false);
dump_config($config, "user");
$config->readConfigFile("user.conf");
dump_config($config, "user");
$config->mergeConfigFile("merge.conf", true, "xyzzy");
print "#5 testing: config file version detection\n";
$config->readConfigFile("user.conf", "user");
$config->readConfigFile("toonew.conf", "user");
print "#6 testing: get/set/remove\n";
var_dump($config->get("verbose"));
$config->set("verbose", 100, "system");
var_dump($config->get("verbose"));
$config->set("verbose", 2, "user");
var_dump($config->get("verbose"));
$config->set("verbose", 2, "system");
$config->set("verbose", 50, "user");
var_dump($config->get("verbose"));
$config->remove("verbose", "user");
var_dump($config->get("verbose"));
$config->remove("verbose", "system");
var_dump($config->get("verbose"));
/*
print "setting user values\n";
var_dump($config->set("master_server", "pear.localdomain"));
var_dump($config->writeConfigFile(null, "user"));
dumpall();
var_dump($config->get("master_server"));
print "going back to defaults\n";
$config->remove("master_server", "user");
$config->writeConfigFile(null, "user");
dumpall();
*/
//
print "done\n";
unlink("user.conf");
unlink("user2.conf");
unlink("system.conf");
unlink("merge.conf");
// ------------------------------------------------------------------------- //
function dumpit($file)
function dump_file($file)
{
print "$file:";
print "..$file:";
$data = PEAR_Config::_readConfigDataFrom($file);
if (empty($data)) {
print " <empty>\n";
@ -48,26 +97,63 @@ function dumpit($file)
print "\n";
}
function dumpall()
{
print "dumping...\n";
dumpit("system.conf");
dumpit("user.conf");
function dump_files() {
dump_file("system.conf");
dump_file("user.conf");
}
function dump_array($name, $arr) {
print "$name:";
if (empty($arr)) {
print " <empty>";
} else {
foreach ($arr as $k => $v) {
print " $k=\"$v\"";
}
}
print "\n";
}
function dump_config(&$obj, $layer = null) {
if ($layer !== null) {
dump_array($layer, $obj->configuration[$layer]);
return;
}
foreach ($obj->configuration as $layer => $data) {
if ($layer == "default") {
continue;
}
dump_array($layer, $data);
}
}
?>
--EXPECT--
dumping...
system.conf: master_server="pear.php.net"
user.conf: <empty>
creating config object
overriding system values
dumping...
system.conf: master_server="pear.php.net"
user.conf: master_server="pear.localdomain"
string(16) "pear.localdomain"
going back to defaults
dumping...
system.conf: master_server="pear.php.net"
user.conf: <empty>
#0 starting up
..system.conf: master_server="pear.php.net"
..user.conf: <empty>
#1 testing: constructor
files: system="system.conf" user="user.conf"
#2 testing: singleton
files: system="system.conf" user="user.conf"
#3 testing: readConfigFile
user: verbose="2"
system: master_server="pear.php.net"
user: <empty>
system: master_server="pear.php.net"
#4 testing: mergeConfigFile
user: verbose="2"
user: verbose="100"
user: verbose="2"
user: <empty>
unknown config file type `xyzzy'
#5 testing: config file version detection
toonew.conf: unknown version `2.0'
#6 testing: get/set/remove
int(1)
int(100)
int(2)
int(50)
int(2)
int(1)
done

2
pear/tests/toonew.conf

@ -0,0 +1,2 @@
#PEAR_Config 2.0
master_server = pear.php.net

1
pear/tests/user2.input

@ -0,0 +1 @@
a:1:{s:7:"verbose";i:2;}
Loading…
Cancel
Save