diff options
Diffstat (limited to 'test/getopt.t')
-rwxr-xr-x | test/getopt.t | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/getopt.t b/test/getopt.t new file mode 100755 index 0000000..8b0ff70 --- /dev/null +++ b/test/getopt.t @@ -0,0 +1,28 @@ +#!/www/server/bin/php -qC +<?php + +# Tests for getopt in it.class + +$GLOBALS['usage'] = "Usage: doesnotexist.php [OPTIONS] + Some help to a not existing program + -h,--help the help argument + -a,--argument=ARG the arg argument + -0,--zero testworthy shortarg +"; + +function getopt_ok($argv, $exp, $name) +{ + $_SERVER['argv'] = array_merge(array('doesnotexist.php'), $argv); + $got = it::getopt($GLOBALS['usage']); + return is($got['argument'], $exp, $name); +} + +foreach (array("" => "blah gnaber", " (umlaute)" => "pre üäpost") as $variant => $testarg) { + getopt_ok(array('-a', $testarg), $testarg, "Short version" . $variant); + getopt_ok(array('--argument', $testarg), $testarg, "Long version with space" . $variant); + getopt_ok(array("--argument=$testarg"), $testarg, "Long version with equal" . $variant); +} + +$_SERVER['argv'] = array('doesnotexist.php', '-0'); +$zero_opts = it::getopt($GLOBALS['usage']); +ok($zero_opts['zero'], '-0'); |