summaryrefslogtreecommitdiff
path: root/devel-utf8/tests/getopt.t
blob: 7a84588efc606f67d92d3238f4f2a84c44dab202 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/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');