summaryrefslogtreecommitdiffstats
path: root/src/test/java/com/beust/jcommander/JCommanderTest.java
diff options
context:
space:
mode:
authorSergey Tyurin <Sergey.V.Tyurin@gmail.com>2012-09-17 22:03:11 +0600
committerSergey Tyurin <Sergey.V.Tyurin@gmail.com>2012-09-18 11:19:40 +0600
commitc36c84f608a9a0f3877b37e2889bff6d8a1da88d (patch)
treef21356ee7f772d8b825a35a10a9bf7fd19d60b5b /src/test/java/com/beust/jcommander/JCommanderTest.java
parent8a4c3d11d8d74628fbe55dce61771810a841723e (diff)
downloadplatform_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.java50
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 {