summaryrefslogtreecommitdiff
path: root/test/getopt.t
diff options
context:
space:
mode:
Diffstat (limited to 'test/getopt.t')
-rwxr-xr-xtest/getopt.t28
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');