annotate vendor/pear/console_getopt/tests/001-getopt.phpt @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents af1871eacc83
children
rev   line source
Chris@18 1 --TEST--
Chris@18 2 Console_Getopt
Chris@18 3 --FILE--
Chris@18 4 <?php
Chris@18 5 require_once 'Console/Getopt.php';
Chris@18 6 PEAR::setErrorHandling(PEAR_ERROR_PRINT, "%s\n\n");
Chris@18 7
Chris@18 8 function test($argstr, $optstr) {
Chris@18 9 $argv = preg_split('/[[:space:]]+/', $argstr);
Chris@18 10 if (PEAR::isError($options = Console_Getopt::getopt($argv, $optstr))) {
Chris@18 11 return;
Chris@18 12 }
Chris@18 13 $opts = $options[0];
Chris@18 14 $non_opts = $options[1];
Chris@18 15 $i = 0;
Chris@18 16 print "options: ";
Chris@18 17 foreach ($opts as $o => $d) {
Chris@18 18 if ($i++ > 0) {
Chris@18 19 print ", ";
Chris@18 20 }
Chris@18 21 print $d[0] . '=' . $d[1];
Chris@18 22 }
Chris@18 23 print "\n";
Chris@18 24 print "params: " . implode(", ", $non_opts) . "\n";
Chris@18 25 print "\n";
Chris@18 26 }
Chris@18 27
Chris@18 28 test("-abc", "abc");
Chris@18 29 test("-abc foo", "abc");
Chris@18 30 test("-abc foo", "abc:");
Chris@18 31 test("-abc foo bar gazonk", "abc");
Chris@18 32 test("-abc foo bar gazonk", "abc:");
Chris@18 33 test("-a -b -c", "abc");
Chris@18 34 test("-a -b -c", "abc:");
Chris@18 35 test("-abc", "ab:c");
Chris@18 36 test("-abc foo -bar gazonk", "abc");
Chris@18 37 ?>
Chris@18 38 --EXPECT--
Chris@18 39 options: a=, b=, c=
Chris@18 40 params:
Chris@18 41
Chris@18 42 options: a=, b=, c=
Chris@18 43 params: foo
Chris@18 44
Chris@18 45 options: a=, b=, c=foo
Chris@18 46 params:
Chris@18 47
Chris@18 48 options: a=, b=, c=
Chris@18 49 params: foo, bar, gazonk
Chris@18 50
Chris@18 51 options: a=, b=, c=foo
Chris@18 52 params: bar, gazonk
Chris@18 53
Chris@18 54 options: a=, b=, c=
Chris@18 55 params:
Chris@18 56
Chris@18 57 Console_Getopt: option requires an argument --c
Chris@18 58
Chris@18 59 options: a=, b=c
Chris@18 60 params:
Chris@18 61
Chris@18 62 options: a=, b=, c=
Chris@18 63 params: foo, -bar, gazonk