49 lines
1.4 KiB
PHP
49 lines
1.4 KiB
PHP
<?php
|
|
namespace nulib\app\cli;
|
|
|
|
use nur\t\TestCase;
|
|
|
|
class ArgTest extends TestCase {
|
|
function testBase() {
|
|
$arg = new Arg(["-o", "--longo"]);
|
|
self::assertSame(["-o", "--longo"], $arg->getOptions());
|
|
self::assertFalse($arg->haveArgs);
|
|
self::assertFalse($arg->optionalArgs);
|
|
|
|
$arg = new Arg(["-o:", "--longo"]);
|
|
self::assertSame(["-o", "--longo"], $arg->getOptions());
|
|
self::assertTrue($arg->haveArgs);
|
|
self::assertFalse($arg->optionalArgs);
|
|
|
|
$arg = new Arg(["-o::", "--longo"]);
|
|
self::assertSame(["-o", "--longo"], $arg->getOptions());
|
|
self::assertTrue($arg->haveArgs);
|
|
self::assertTrue($arg->optionalArgs);
|
|
|
|
$arg = new Arg(["-o:", "--longo:"]);
|
|
self::assertSame(["-o", "--longo"], $arg->getOptions());
|
|
self::assertTrue($arg->haveArgs);
|
|
self::assertFalse($arg->optionalArgs);
|
|
|
|
$arg = new Arg(["-o:", "--longo::"]);
|
|
self::assertSame(["-o", "--longo"], $arg->getOptions());
|
|
self::assertTrue($arg->haveArgs);
|
|
self::assertFalse($arg->optionalArgs);
|
|
}
|
|
|
|
function testExtends() {
|
|
$basedef = ["-o:", "--longo"];
|
|
$def = [
|
|
"extends" => [
|
|
"arg" => $basedef,
|
|
"add" => ["-a", "--longa"],
|
|
"remove" => ["-o", "--longo"],
|
|
],
|
|
];
|
|
$arg = new Arg($def);
|
|
self::assertSame(["-a", "--longa"], $arg->getOptions());
|
|
self::assertFalse($arg->haveArgs);
|
|
self::assertFalse($arg->optionalArgs);
|
|
}
|
|
}
|