result.mixinStandardHelpOptions(mixinStandardHelpOptions); //#377 Standard help options should be added last if (command instanceof Method) { Method method = (Method) command; initSubcommands(cmd, result, factory); hasCommandAnnotation = true; result.mixinStandardHelpOptions(method.getAnnotation(Command.class).mixinStandardHelpOptions()); initFromMethodParameters(instance, method, result, factory);
result.mixinStandardHelpOptions(mixinStandardHelpOptions); //#377 Standard help options should be added last } else if (element.getKind() == ElementKind.METHOD) { ExecutableElement method = (ExecutableElement) element; result.mixinStandardHelpOptions(method.getAnnotation(Command.class).mixinStandardHelpOptions()); buildOptionsAndPositionalsFromMethodParameters(method, result, factory, options, parameters);
@Test public void testMixinStandardHelpOptions_SettingToTrueAddsHelpOptions() { CommandSpec spec = CommandSpec.create(); assertTrue(spec.mixins().isEmpty()); assertTrue(spec.optionsMap().isEmpty()); assertTrue(spec.posixOptionsMap().isEmpty()); assertTrue(spec.options().isEmpty()); spec.mixinStandardHelpOptions(true); assertFalse(spec.mixins().isEmpty()); assertFalse(spec.optionsMap().isEmpty()); assertFalse(spec.posixOptionsMap().isEmpty()); assertFalse(spec.options().isEmpty()); assertTrue(spec.mixinStandardHelpOptions()); OptionSpec usageHelp = spec.posixOptionsMap().get('h'); assertSame(usageHelp, spec.optionsMap().get("--help")); assertTrue(usageHelp.usageHelp()); OptionSpec versionHelp = spec.posixOptionsMap().get('V'); assertSame(versionHelp, spec.optionsMap().get("--version")); assertTrue(versionHelp.versionHelp()); }
result.mixinStandardHelpOptions(mixinStandardHelpOptions); //#377 Standard help options should be added last if (command instanceof Method) { Method method = (Method) command; commandClassName = method.toString(); hasCommandAnnotation |= updateCommandAttributes(method, result, factory); result.mixinStandardHelpOptions(method.getAnnotation(Command.class).mixinStandardHelpOptions()); initFromMethodParameters(instance, method, result, factory);
@Test public void testMixinStandardHelpOptions_SettingToFalseRemovesHelpOptions() { CommandSpec spec = CommandSpec.create(); spec.mixinStandardHelpOptions(true); assertFalse(spec.mixins().isEmpty()); assertFalse(spec.optionsMap().isEmpty()); assertFalse(spec.posixOptionsMap().isEmpty()); assertFalse(spec.options().isEmpty()); assertTrue(spec.mixinStandardHelpOptions()); assertNotNull(spec.posixOptionsMap().get('h')); assertNotNull(spec.optionsMap().get("--help")); assertNotNull(spec.posixOptionsMap().get('V')); assertNotNull(spec.optionsMap().get("--version")); spec.mixinStandardHelpOptions(false); assertTrue(spec.mixins().isEmpty()); assertTrue(spec.optionsMap().isEmpty()); assertTrue(spec.posixOptionsMap().isEmpty()); assertTrue(spec.options().isEmpty()); assertFalse(spec.mixinStandardHelpOptions()); }
@Test public void testMixinStandardHelpOptions_SettingToTrueAddsHelpOptions() { CommandSpec spec = CommandSpec.create(); assertTrue(spec.mixins().isEmpty()); assertTrue(spec.optionsMap().isEmpty()); assertTrue(spec.posixOptionsMap().isEmpty()); assertTrue(spec.options().isEmpty()); spec.mixinStandardHelpOptions(true); assertFalse(spec.mixins().isEmpty()); assertFalse(spec.optionsMap().isEmpty()); assertFalse(spec.posixOptionsMap().isEmpty()); assertFalse(spec.options().isEmpty()); assertTrue(spec.mixinStandardHelpOptions()); OptionSpec usageHelp = spec.posixOptionsMap().get('h'); assertSame(usageHelp, spec.optionsMap().get("--help")); assertTrue(usageHelp.usageHelp()); OptionSpec versionHelp = spec.posixOptionsMap().get('V'); assertSame(versionHelp, spec.optionsMap().get("--version")); assertTrue(versionHelp.versionHelp()); }
@Test public void testCommandSpec_forAnnotatedObjectLenient_returnsEmptyCommandSpec() { CommandSpec spec = CommandSpec.forAnnotatedObjectLenient(new Object()); assertTrue(spec.optionsMap().isEmpty()); assertTrue(spec.posixOptionsMap().isEmpty()); assertTrue(spec.options().isEmpty()); assertTrue(spec.positionalParameters().isEmpty()); assertTrue(spec.unmatchedArgsBindings().isEmpty()); assertTrue(spec.subcommands().isEmpty()); assertTrue(spec.mixins().isEmpty()); assertTrue(spec.requiredArgs().isEmpty()); assertFalse(spec.mixinStandardHelpOptions()); assertFalse(spec.helpCommand()); assertEquals("<main class>", spec.name()); assertArrayEquals(new String[0], spec.version()); assertNull(spec.versionProvider()); }
private static CommandSpec createCmd(String name, String description) { CommandSpec cmd = CommandSpec.create().name(name).mixinStandardHelpOptions(true); cmd.usageMessage().description(description); return cmd; }
@Test public void testMixinStandardHelpOptions_FalseByDefault() { CommandSpec spec = CommandSpec.create(); assertFalse(spec.mixinStandardHelpOptions()); }
sep = append(pw, sep, indent, "mixinStandardHelpOptions = %s", spec.mixinStandardHelpOptions(), false); sep = append(pw, sep, indent, "headerHeading = \"%s\"", spec.usageMessage().headerHeading(), ""); sep = appendStringArray(pw, sep, indent, "header = %s", spec.usageMessage().header(), EMPTY_ARRAY);
public static void main(final String[] args) { spec.mixinStandardHelpOptions(true); spec.addOption(OptionSpec.builder("-c", "--count") .paramLabel("COUNT")
public static void main(final String[] args) { spec.mixinStandardHelpOptions(true); spec.addOption(OptionSpec.builder("-c", "--count") .paramLabel("COUNT")
@Test public void testMixinStandardHelpOptions_SettingToFalseRemovesHelpOptions() { CommandSpec spec = CommandSpec.create(); spec.mixinStandardHelpOptions(true); assertFalse(spec.mixins().isEmpty()); assertFalse(spec.optionsMap().isEmpty()); assertFalse(spec.posixOptionsMap().isEmpty()); assertFalse(spec.options().isEmpty()); assertTrue(spec.mixinStandardHelpOptions()); assertNotNull(spec.posixOptionsMap().get('h')); assertNotNull(spec.optionsMap().get("--help")); assertNotNull(spec.posixOptionsMap().get('V')); assertNotNull(spec.optionsMap().get("--version")); spec.mixinStandardHelpOptions(false); assertTrue(spec.mixins().isEmpty()); assertTrue(spec.optionsMap().isEmpty()); assertTrue(spec.posixOptionsMap().isEmpty()); assertTrue(spec.options().isEmpty()); assertFalse(spec.mixinStandardHelpOptions()); }
@Test public void testCommandSpec_forAnnotatedObjectLenient_returnsEmptyCommandSpec() { CommandSpec spec = CommandSpec.forAnnotatedObjectLenient(new Object()); assertTrue(spec.optionsMap().isEmpty()); assertTrue(spec.posixOptionsMap().isEmpty()); assertTrue(spec.options().isEmpty()); assertTrue(spec.positionalParameters().isEmpty()); assertTrue(spec.unmatchedArgsBindings().isEmpty()); assertTrue(spec.subcommands().isEmpty()); assertTrue(spec.mixins().isEmpty()); assertTrue(spec.requiredArgs().isEmpty()); assertFalse(spec.mixinStandardHelpOptions()); assertFalse(spec.helpCommand()); assertEquals("<main class>", spec.name()); assertArrayEquals(new String[0], spec.version()); assertNull(spec.versionProvider()); }
private static CommandSpec createCmd(String name, String description) { CommandSpec cmd = CommandSpec.create().name(name).mixinStandardHelpOptions(true); cmd.usageMessage().description(description); return cmd; }
@Test public void testMixinStandardHelpOptions_FalseByDefault() { CommandSpec spec = CommandSpec.create(); assertFalse(spec.mixinStandardHelpOptions()); }