5 require __DIR__
."/../../autoload.php";
7 use pharext\Cli\Args
as CliArgs
;
8 use pharext\Cli\Command
as CliCommand
;
10 class CliCommandTest
extends \PHPUnit_Framework_TestCase
19 protected function setUp() {
21 ["h", "help", "Display help",
22 CliArgs
::OPTIONAL|CliArgs
::SINGLE|CliArgs
::NOARG|CliArgs
::HALT
],
23 ["v", "verbose", "More output",
24 CliArgs
::OPTIONAL|CliArgs
::SINGLE|CliArgs
::NOARG
],
25 ["q", "quiet", "Less output",
26 CliArgs
::OPTIONAL|CliArgs
::SINGLE|CliArgs
::NOARG
],
27 ["p", "prefix", "PHP installation prefix if phpize is not in \$PATH, e.g. /opt/php7",
28 CliArgs
::OPTIONAL|CliArgs
::SINGLE|CliArgs
::REQARG
],
29 ["n", "common-name", "PHP common program name, e.g. php5 or zts-php",
30 CliArgs
::OPTIONAL|CliArgs
::SINGLE|CliArgs
::REQARG
,
32 ["c", "configure", "Additional extension configure flags, e.g. -c --with-flag",
33 CliArgs
::OPTIONAL|CliArgs
::MULTI|CliArgs
::REQARG
],
34 ["s", "sudo", "Installation might need increased privileges",
35 CliArgs
::OPTIONAL|CliArgs
::SINGLE|CliArgs
::OPTARG
,
38 $this->args
= new CliArgs($this->spec
);
41 public function testHelp() {
42 $this->expectOutputString(<<<EOF
45 $ testprog [-hvq] [-p|-n|-c <arg>] [-s [<arg>]]
47 -h|--help Display help
48 -v|--verbose More output
49 -q|--quiet Less output
50 -p|--prefix <arg> PHP installation prefix if phpize is not in \$PATH, e.g. /opt/php7
51 -n|--common-name <arg> PHP common program name, e.g. php5 or zts-php [php]
52 -c|--configure <arg> Additional extension configure flags, e.g. -c --with-flag (MULTIPLE)
53 -s|--sudo [<arg>] Installation might need increased privileges [sudo -S %s]
58 $this->help("testprog");