#!/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');