require __DIR__."/../../autoload.php";
+use pharext\Cli\Args as CliArgs;
+
class CliArgsTest extends \PHPUnit_Framework_TestCase
{
/**
$spec["-".$arg[0]] = $arg;
$spec["--".$arg[1]] = $arg;
}
- $this->assertSame($args->getSpec(), $spec);
+ $this->assertSame($args->getCompiledSpec(), $spec);
}
public function testParseNothing() {
}
$this->assertTrue(isset($error));
}
+
+ public function testLongEquals() {
+ $this->assertNull($this->args->configure);
+ foreach ($this->args->parse(1, ["--configure=--with-lib=/opt/lib"]) as $error) {
+ throw new \Exception("Unexpected parse error: $error");
+ }
+ $this->assertSame(["--with-lib=/opt/lib"], $this->args->configure);
+ }
public function testValidate() {
$this->args->compile([
$this->assertTrue(isset($error));
}
- public function testHelp() {
- $this->expectOutputString(<<<EOF
-
-Usage:
-
- $ testprog [-h|-v|-q|-s] [-p|-n|-c <arg>]
-
- -h|--help Display help
- -v|--verbose More output
- -q|--quiet Less output
- -p|--prefix <arg> PHP installation prefix if phpize is not in \$PATH, e.g. /opt/php7
- -n|--common-name <arg> PHP common program name, e.g. php5 or zts-php [php]
- -c|--configure <arg> Additional extension configure flags, e.g. -c --with-flag
- -s|--sudo [<arg>] Installation might need increased privileges [sudo -S %s]
-
-
-EOF
- );
- $this->args->help("testprog");
- }
-
}