diff options
author | John Conwell <john@iamjohn.me> | 2014-06-06 19:00:27 -0700 |
---|---|---|
committer | John Conwell <john@iamjohn.me> | 2014-06-06 19:00:27 -0700 |
commit | 44ef916dcf74e46adbf7c2ae99643bd0e97c16e6 (patch) | |
tree | 352ae6effcf133c6c337c27cff15f65b8ed62249 /src/test/java/com/beust/jcommander | |
parent | 649895bc27f8b294e596727a88d765d923be2226 (diff) | |
download | platform_external_jcommander-44ef916dcf74e46adbf7c2ae99643bd0e97c16e6.tar.gz platform_external_jcommander-44ef916dcf74e46adbf7c2ae99643bd0e97c16e6.tar.bz2 platform_external_jcommander-44ef916dcf74e46adbf7c2ae99643bd0e97c16e6.zip |
Adding functionality that allows commands to be hidden from usage output
Diffstat (limited to 'src/test/java/com/beust/jcommander')
-rw-r--r-- | src/test/java/com/beust/jcommander/command/CommandHidden.java | 17 | ||||
-rw-r--r-- | src/test/java/com/beust/jcommander/command/CommandTest.java | 22 |
2 files changed, 39 insertions, 0 deletions
diff --git a/src/test/java/com/beust/jcommander/command/CommandHidden.java b/src/test/java/com/beust/jcommander/command/CommandHidden.java new file mode 100644 index 0000000..a3fc4fa --- /dev/null +++ b/src/test/java/com/beust/jcommander/command/CommandHidden.java @@ -0,0 +1,17 @@ +package com.beust.jcommander.command; + +import com.beust.jcommander.Parameter; +import com.beust.jcommander.Parameters; + +import java.util.List; + +@Parameters(commandNames = "add", commandDescription = "Hidden command to add file contents to the index", hidden = true) +public class CommandHidden { + + @Parameter(description = "Patterns of files to be added") + public List<String> patterns; + + @Parameter(names = "-i") + public Boolean interactive = false; + +} diff --git a/src/test/java/com/beust/jcommander/command/CommandTest.java b/src/test/java/com/beust/jcommander/command/CommandTest.java index 97e0007..cf921bd 100644 --- a/src/test/java/com/beust/jcommander/command/CommandTest.java +++ b/src/test/java/com/beust/jcommander/command/CommandTest.java @@ -87,6 +87,28 @@ public class CommandTest { Assert.assertEquals(commit.files, Arrays.asList("A.java", "B.java")); } + @Test + public void hiddenCommandTest() { + CommandMain cm = new CommandMain(); + JCommander jc = new JCommander(cm); + CommandAdd add = new CommandAdd(); + jc.addCommand("add", add); + CommandHidden hidden = new CommandHidden(); + jc.addCommand("hidden", hidden); + jc.parse("hidden", "-i", "A.java"); + + Assert.assertEquals(jc.getParsedCommand(), "hidden"); + Assert.assertEquals(hidden.interactive.booleanValue(), true); + Assert.assertEquals(hidden.patterns, Arrays.asList("A.java")); + + jc.setProgramName("TestCommander"); + StringBuilder out = new StringBuilder(); + jc.usage(out); + + Assert.assertTrue(out.toString().contains("add Add file contents to the index")); + Assert.assertFalse(out.toString().contains("hidden Hidden command to add file contents to the index")); + } + public static void main(String[] args) { new CommandTest().shouldComplainIfNoAnnotations(); } |