diff options
author | Frank Karlitschek <karlitschek@kde.org> | 2012-02-15 20:40:37 +0100 |
---|---|---|
committer | Frank Karlitschek <karlitschek@kde.org> | 2012-02-15 20:40:37 +0100 |
commit | dccdeca2581f705c69eb4266aa646173f588a9de (patch) | |
tree | f4cb27fc31b331e03f14cf1c2a1f4719ebb62cdc /3rdparty/simpletest/arguments.php | |
parent | c2fb5fed029a77f4cdcd6a8b9a6308ef40091639 (diff) | |
download | nextcloud-server-dccdeca2581f705c69eb4266aa646173f588a9de.tar.gz nextcloud-server-dccdeca2581f705c69eb4266aa646173f588a9de.zip |
remove the 3rdparty files. everything is now in https://gitorious.org/owncloud/3rdparty
Diffstat (limited to '3rdparty/simpletest/arguments.php')
-rwxr-xr-x | 3rdparty/simpletest/arguments.php | 224 |
1 files changed, 0 insertions, 224 deletions
diff --git a/3rdparty/simpletest/arguments.php b/3rdparty/simpletest/arguments.php deleted file mode 100755 index 89e7f9de6ef..00000000000 --- a/3rdparty/simpletest/arguments.php +++ /dev/null @@ -1,224 +0,0 @@ -<?php -/** - * base include file for SimpleTest - * @package SimpleTest - * @subpackage UnitTester - * @version $Id: dumper.php 1909 2009-07-29 15:58:11Z dgheath $ - */ - -/** - * Parses the command line arguments. - * @package SimpleTest - * @subpackage UnitTester - */ -class SimpleArguments { - private $all = array(); - - /** - * Parses the command line arguments. The usual formats - * are supported: - * -f value - * -f=value - * --flag=value - * --flag value - * -f (true) - * --flag (true) - * @param array $arguments Normally the PHP $argv. - */ - function __construct($arguments) { - array_shift($arguments); - while (count($arguments) > 0) { - list($key, $value) = $this->parseArgument($arguments); - $this->assign($key, $value); - } - } - - /** - * Sets the value in the argments object. If multiple - * values are added under the same key, the key will - * give an array value in the order they were added. - * @param string $key The variable to assign to. - * @param string value The value that would norally - * be colected on the command line. - */ - function assign($key, $value) { - if ($this->$key === false) { - $this->all[$key] = $value; - } elseif (! is_array($this->$key)) { - $this->all[$key] = array($this->$key, $value); - } else { - $this->all[$key][] = $value; - } - } - - /** - * Extracts the next key and value from the argument list. - * @param array $arguments The remaining arguments to be parsed. - * The argument list will be reduced. - * @return array Two item array of key and value. - * If no value can be found it will - * have the value true assigned instead. - */ - private function parseArgument(&$arguments) { - $argument = array_shift($arguments); - if (preg_match('/^-(\w)=(.+)$/', $argument, $matches)) { - return array($matches[1], $matches[2]); - } elseif (preg_match('/^-(\w)$/', $argument, $matches)) { - return array($matches[1], $this->nextNonFlagElseTrue($arguments)); - } elseif (preg_match('/^--(\w+)=(.+)$/', $argument, $matches)) { - return array($matches[1], $matches[2]); - } elseif (preg_match('/^--(\w+)$/', $argument, $matches)) { - return array($matches[1], $this->nextNonFlagElseTrue($arguments)); - } - } - - /** - * Attempts to use the next argument as a value. It - * won't use what it thinks is a flag. - * @param array $arguments Remaining arguments to be parsed. - * This variable is modified if there - * is a value to be extracted. - * @return string/boolean The next value unless it's a flag. - */ - private function nextNonFlagElseTrue(&$arguments) { - return $this->valueIsNext($arguments) ? array_shift($arguments) : true; - } - - /** - * Test to see if the next available argument is a valid value. - * If it starts with "-" or "--" it's a flag and doesn't count. - * @param array $arguments Remaining arguments to be parsed. - * Not affected by this call. - * boolean True if valid value. - */ - function valueIsNext($arguments) { - return isset($arguments[0]) && ! $this->isFlag($arguments[0]); - } - - /** - * It's a flag if it starts with "-" or "--". - * @param string $argument Value to be tested. - * @return boolean True if it's a flag. - */ - function isFlag($argument) { - return strncmp($argument, '-', 1) == 0; - } - - /** - * The arguments are available as individual member - * variables on the object. - * @param string $key Argument name. - * @return string/array/boolean Either false for no value, - * the value as a string or - * a list of multiple values if - * the flag had been specified more - * than once. - */ - function __get($key) { - if (isset($this->all[$key])) { - return $this->all[$key]; - } - return false; - } - - /** - * The entire argument set as a hash. - * @return hash Each argument and it's value(s). - */ - function all() { - return $this->all; - } -} - -/** - * Renders the help for the command line arguments. - * @package SimpleTest - * @subpackage UnitTester - */ -class SimpleHelp { - private $overview; - private $flag_sets = array(); - private $explanations = array(); - - /** - * Sets up the top level explanation for the program. - * @param string $overview Summary of program. - */ - function __construct($overview = '') { - $this->overview = $overview; - } - - /** - * Adds the explanation for a group of flags that all - * have the same function. - * @param string/array $flags Flag and alternates. Don't - * worry about leading dashes - * as these are inserted automatically. - * @param string $explanation What that flag group does. - */ - function explainFlag($flags, $explanation) { - $flags = is_array($flags) ? $flags : array($flags); - $this->flag_sets[] = $flags; - $this->explanations[] = $explanation; - } - - /** - * Generates the help text. - * @returns string The complete formatted text. - */ - function render() { - $tab_stop = $this->longestFlag($this->flag_sets) + 4; - $text = $this->overview . "\n"; - for ($i = 0; $i < count($this->flag_sets); $i++) { - $text .= $this->renderFlagSet($this->flag_sets[$i], $this->explanations[$i], $tab_stop); - } - return $this->noDuplicateNewLines($text); - } - - /** - * Works out the longest flag for formatting purposes. - * @param array $flag_sets The internal flag set list. - */ - private function longestFlag($flag_sets) { - $longest = 0; - foreach ($flag_sets as $flags) { - foreach ($flags as $flag) { - $longest = max($longest, strlen($this->renderFlag($flag))); - } - } - return $longest; - } - - /** - * Generates the text for a single flag and it's alternate flags. - * @returns string Help text for that flag group. - */ - private function renderFlagSet($flags, $explanation, $tab_stop) { - $flag = array_shift($flags); - $text = str_pad($this->renderFlag($flag), $tab_stop, ' ') . $explanation . "\n"; - foreach ($flags as $flag) { - $text .= ' ' . $this->renderFlag($flag) . "\n"; - } - return $text; - } - - /** - * Generates the flag name including leading dashes. - * @param string $flag Just the name. - * @returns Fag with apropriate dashes. - */ - private function renderFlag($flag) { - return (strlen($flag) == 1 ? '-' : '--') . $flag; - } - - /** - * Converts multiple new lines into a single new line. - * Just there to trap accidental duplicate new lines. - * @param string $text Text to clean up. - * @returns string Text with no blank lines. - */ - private function noDuplicateNewLines($text) { - return preg_replace('/(\n+)/', "\n", $text); - } -} -?>
\ No newline at end of file |