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); +} |