nur-ture/tests/app/cli/ArgTest.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);
}
}