diff options
author | Urban Müller | 2021-06-15 16:57:36 +0200 |
---|---|---|
committer | Urban Müller | 2021-06-15 16:57:47 +0200 |
commit | 5aef64122fbb5a5855af095206bd642ca08cca61 (patch) | |
tree | 7e58360b7273d02c3d8e6ef2be78da60926d4464 /test | |
parent | bb27969a215de7f0091f8bd1f63a74107dbb3a1e (diff) | |
download | itools-5aef64122fbb5a5855af095206bd642ca08cca61.tar.gz itools-5aef64122fbb5a5855af095206bd642ca08cca61.tar.bz2 itools-5aef64122fbb5a5855af095206bd642ca08cca61.zip |
allow leading - in ::getopt option arguments, add tests
Diffstat (limited to 'test')
-rwxr-xr-x | test/it.t | 26 |
1 files changed, 26 insertions, 0 deletions
@@ -509,3 +509,29 @@ function requesturi($teststring, $expect) it::params2utf8(); is(urldecode($_SERVER['REQUEST_URI']), $expect, "parms2utf8('$expect')"); } + +_getopt(["val"], ['foo' => "val"]); +_getopt(["--", "-val"], ['foo' => "-val"]); +_getopt(["-v", "val"], ['verbose' => true, 'foo' => "val"]); +_getopt(["--verbose", "val"], ['verbose' => true, 'foo' => "val"]); +_getopt(["-vw", "val"], ['verbose' => true, 'werbose' => true, 'foo' => "val"]); +_getopt(["-a", "val1", "val2"], ['arg' => "val1", 'foo' => "val2"]); +_getopt(["--arg", "val1", "val2"], ['arg' => "val1", 'foo' => "val2"]); +_getopt(["--arg=val1", "val2"], ['arg' => "val1", 'foo' => "val2"]); +_getopt(["-va", "val1", "val2"], ['verbose' => true, 'arg' => "val1", 'foo' => "val2"]); +_getopt(["-va", "-val1", "val2"], ['verbose' => true, 'arg' => "-val1", 'foo' => "val2"]); +_getopt(["val1", "val2"], ['args' => ["val2"], 'foo' => 'val1']); + +function _getopt($in, $expect) +{ + $_SERVER['argv'] = array_merge(["cmd.php"], $in); + $opts = it::getopt(" + Usage: test [OPTIONS] FOO [BAR] + -v, --verbose Be verbose + -w, --werbose Be werbose + -a, --arg=ARG Have argument + -b, --brg=ARG Have another arg + "); + + is($opts, ['args' => $expect['args'] ?? []] + $expect); +} |