diff options
author | Sergey Tyurin <Sergey.V.Tyurin@gmail.com> | 2012-09-17 22:03:11 +0600 |
---|---|---|
committer | Sergey Tyurin <Sergey.V.Tyurin@gmail.com> | 2012-09-18 11:19:40 +0600 |
commit | c36c84f608a9a0f3877b37e2889bff6d8a1da88d (patch) | |
tree | f21356ee7f772d8b825a35a10a9bf7fd19d60b5b /src/test/java/com/beust/jcommander/JCommanderTest.java | |
parent | 8a4c3d11d8d74628fbe55dce61771810a841723e (diff) | |
download | platform_external_jcommander-c36c84f608a9a0f3877b37e2889bff6d8a1da88d.tar.gz platform_external_jcommander-c36c84f608a9a0f3877b37e2889bff6d8a1da88d.tar.bz2 platform_external_jcommander-c36c84f608a9a0f3877b37e2889bff6d8a1da88d.zip |
Fix usage() to print missing new-line characters.
The change affects the result of usage() when:
- there are commands and no main parameters
- there are commands without parameters
Diffstat (limited to 'src/test/java/com/beust/jcommander/JCommanderTest.java')
-rw-r--r-- | src/test/java/com/beust/jcommander/JCommanderTest.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/test/java/com/beust/jcommander/JCommanderTest.java b/src/test/java/com/beust/jcommander/JCommanderTest.java index 22c5082..b705bfa 100644 --- a/src/test/java/com/beust/jcommander/JCommanderTest.java +++ b/src/test/java/com/beust/jcommander/JCommanderTest.java @@ -895,6 +895,56 @@ public class JCommanderTest { Assert.assertEquals(V2.names, Arrays.asList(new String[] { "-h", "--host" })); Assert.assertTrue(V2.validateCalled); } + + public void usageCommandsUnderUsage() { + class Arg { + } + @Parameters(commandDescription = "command a") + class ArgCommandA { + @Parameter(description = "command a parameters") + List<String> parameters; + } + @Parameters(commandDescription = "command b") + class ArgCommandB { + @Parameter(description = "command b parameters") + List<String> parameters; + } + + Arg a = new Arg(); + + JCommander c = new JCommander(a); + c.addCommand("a", new ArgCommandA()); + c.addCommand("b", new ArgCommandB()); + + StringBuilder sb = new StringBuilder(); + c.usage(sb); + Assert.assertTrue(sb.toString().contains("[command options]\n Commands:")); + } + + public void usageWithEmpytLine() { + class Arg { + } + @Parameters(commandDescription = "command a") + class ArgCommandA { + @Parameter(description = "command a parameters") + List<String> parameters; + } + @Parameters(commandDescription = "command b") + class ArgCommandB { + @Parameter(description = "command b parameters") + List<String> parameters; + } + + Arg a = new Arg(); + + JCommander c = new JCommander(a); + c.addCommand("a", new ArgCommandA()); + c.addCommand("b", new ArgCommandB()); + + StringBuilder sb = new StringBuilder(); + c.usage(sb); + Assert.assertTrue(sb.toString().contains("command a parameters\n\n b")); + } @Test(enabled = false) public static void main(String[] args) throws Exception { |