nur-ture/tests/app/cli/ArgDefsTest.php

32 lines
913 B
PHP

<?php
namespace nulib\app\cli;
use nur\t\TestCase;
class ArgDefsTest extends TestCase {
function testBase() {
$argDefs = new ArgDefs([
["-a"],
["--longb"],
["-c", "--longc"],
["-m:", "--mandatory"],
["-o::", "--optional"],
["-x", "--x1"],
["-x", "--x2"],
]);
self::assertSame(["--"]
, $argDefs->normalize([]));
self::assertSame(["--", "a", "b"]
, $argDefs->normalize(["a", "b"]));
self::assertSame(["-a", "--mandatory", "x", "--mandatory", "y", "--", "z", "x"]
, $argDefs->normalize(["-a", "--m", "x", "z", "--m=y", "x"]));
self::assertSame(["-m", "x", "-m", "y", "--"]
, $argDefs->normalize(["-mx", "-m", "y"]));
self::assertSame(["-ox", "-o", "--", "y"]
, $argDefs->normalize(["-ox", "-o", "y"]));
self::assertSame(["-a", "--", "-a", "-c"]
, $argDefs->normalize(["-a", "--", "-a", "-c"]));
}
}