refining configuration test generator, now supporting conditions on

tests (i.e. if syntax highlighting is false, highlighting should never
be loaded)
This commit is contained in:
El RIDO
2015-08-29 10:41:10 +02:00
parent 1c4d1aa6b6
commit 99dbb22e21
3 changed files with 459 additions and 193 deletions

View File

@@ -8,6 +8,12 @@ require PATH . 'lib/auto.php';
class helper
{
/**
* delete directory and all its contents recursively
*
* @param string $path
* @throws Exception
*/
public static function rmdir($path)
{
$path .= DIRECTORY_SEPARATOR;
@@ -28,4 +34,59 @@ class helper
throw new Exception('Error deleting directory "' . $path . '".');
}
}
/**
* create ini file
*
* @param string $pathToFile
* @param array $values
*/
public static function createIniFile($pathToFile, $values)
{
if (count($values)) {
@unlink($pathToFile);
$ini = fopen($pathToFile, 'a');
foreach ($values as $section => $options) {
fwrite($ini, "[$section]" . PHP_EOL);
foreach($options as $option => $setting) {
if (is_null($setting)) {
continue;
} elseif (is_string($setting)) {
$setting = '"' . $setting . '"';
} else {
$setting = var_export($setting, true);
}
fwrite($ini, "$option = $setting" . PHP_EOL);
}
fwrite($ini, PHP_EOL);
}
fclose($ini);
}
}
/**
* a var_export that returns arrays without line breaks
* by linus@flowingcreativity.net via php.net
*
* @param mixed $var
* @param bool $return
* @return void|string
*/
public static function var_export_min($var, $return = false)
{
if (is_array($var)) {
$toImplode = array();
foreach ($var as $key => $value) {
$toImplode[] = var_export($key, true) . ' => ' . self::var_export_min($value, true);
}
$code = 'array(' . implode(', ', $toImplode) . ')';
if ($return) {
return $code;
} else {
echo $code;
}
} else {
return var_export($var, $return);
}
}
}