processExtends(); $argDef->processArgs(); $argDef->processAction(); self::assertSame($options, $argDef->getOptions()); self::assertSame($haveShortOptions, $argDef->haveShortOptions, "haveShortOptions"); self::assertSame($haveLongOptions, $argDef->haveLongOptions, "haveLongOptions"); self::assertSame($haveCommands, $argDef->haveCommands, "haveCommands"); self::assertSame($haveArgs, $argDef->haveArgs, "haveArgs"); self::assertSame($minArgs, $argDef->minArgs, "minArgs"); self::assertSame($maxArgs, $argDef->maxArgs, "maxArgs"); self::assertSame($argsdesc, $argDef->argsdesc, "argsdesc"); } function testBase() { $argDef = new ArgDef(["-o", "--longo"]); self::assertArg($argDef, ["-o", "--longo"], true, true, false, false, 0, 0, ""); $argDef = new ArgDef(["-o:", "--longo"]); self::assertArg($argDef, ["-o", "--longo"], true, true, false, true, 1, 1, "VALUE"); $argDef = new ArgDef(["-o::", "--longo"]); self::assertArg($argDef, ["-o", "--longo"], true, true, false, true, 0, 1, "[VALUE]"); $argDef = new ArgDef(["-o:", "--longo:"]); self::assertArg($argDef, ["-o", "--longo"], true, true, false, true, 1, 1, "VALUE"); $argDef = new ArgDef(["-o:", "--longo::"]); self::assertArg($argDef, ["-o", "--longo"], true, true, false, true, 1, 1, "VALUE"); } function testExtends() { $argDef = [ "extends" => [ "arg" => ["-o:", "--longo"], "add" => ["-a", "--longa"], "remove" => ["-o", "--longo"], ], ]; $arg = new ArgDef($argDef); self::assertArg($arg, ["-a", "--longa"], true, true, false, false, 0, 0, ""); } }