diff options
author | Carl-Frederik Hallberg <carl-frederik.hallberg@ericsson.com> | 2016-03-03 15:07:22 +0100 |
---|---|---|
committer | Carl-Frederik Hallberg <carl-frederik.hallberg@ericsson.com> | 2016-04-07 16:17:44 +0200 |
commit | 4f1b74bd464a27281f6924ba2733f3d528f214e4 (patch) | |
tree | 82be971a9a8612207edfb051821d76247e2b92a9 /src | |
parent | c8e76b06111ab095f01882f565a2ccd0b63a0be9 (diff) | |
download | jcommander-4f1b74bd464a27281f6924ba2733f3d528f214e4.tar.gz |
Usage no longer has a trailing space at the end of the line.
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/beust/jcommander/JCommander.java | 8 | ||||
-rw-r--r-- | src/test/java/com/beust/jcommander/JCommanderTest.java | 4 | ||||
-rw-r--r-- | src/test/java/com/beust/jcommander/command/CommandTest.java | 15 |
3 files changed, 23 insertions, 4 deletions
diff --git a/src/main/java/com/beust/jcommander/JCommander.java b/src/main/java/com/beust/jcommander/JCommander.java index 0f96b9b..e6202ff 100644 --- a/src/main/java/com/beust/jcommander/JCommander.java +++ b/src/main/java/com/beust/jcommander/JCommander.java @@ -1192,8 +1192,12 @@ public class JCommander { while (i < words.length) { String word = words[i]; if (word.length() > max || current + 1 + word.length() <= max) { - out.append(word).append(" "); - current += word.length() + 1; + out.append(word); + current += word.length(); + if(i != words.length -1) { + out.append(" "); + current++; + } } else { out.append("\n").append(s(indent)).append(word).append(" "); current = indent + 1 + word.length(); diff --git a/src/test/java/com/beust/jcommander/JCommanderTest.java b/src/test/java/com/beust/jcommander/JCommanderTest.java index 53adb59..260f1b2 100644 --- a/src/test/java/com/beust/jcommander/JCommanderTest.java +++ b/src/test/java/com/beust/jcommander/JCommanderTest.java @@ -1086,7 +1086,7 @@ public class JCommanderTest { StringBuilder sb = new StringBuilder(); c.usage(sb); - Assert.assertTrue(sb.toString().contains("[command options] \n Commands:")); + Assert.assertTrue(sb.toString().contains("[command options]\n Commands:")); } public void usageWithEmpytLine() { @@ -1111,7 +1111,7 @@ public class JCommanderTest { StringBuilder sb = new StringBuilder(); c.usage(sb); - Assert.assertTrue(sb.toString().contains("command a parameters \n\n b")); + Assert.assertTrue(sb.toString().contains("command a parameters\n\n b")); } public void partialValidation() { diff --git a/src/test/java/com/beust/jcommander/command/CommandTest.java b/src/test/java/com/beust/jcommander/command/CommandTest.java index f594881..146175a 100644 --- a/src/test/java/com/beust/jcommander/command/CommandTest.java +++ b/src/test/java/com/beust/jcommander/command/CommandTest.java @@ -123,6 +123,21 @@ public class CommandTest { Assert.assertTrue(out.toString().contains("no-annotation")); } + @Test + public void noTrailingSpaceInUsageTest() { + CommandMain cm = new CommandMain(); + JCommander jc = new JCommander(cm); + CommandAdd add = new CommandAdd(); + jc.addCommand("add", add); + CommandCommit commit = new CommandCommit(); + jc.addCommand("commit", commit); + jc.parse("-v", "commit", "--amend", "--author=cbeust", "A.java", "B.java"); + StringBuilder out = new StringBuilder(); + jc.usage(out); + String firstLine = out.toString().split("\n")[0]; + Assert.assertFalse(firstLine.endsWith(" "), "Usage should not have trailing spaces"); + } + public static void main(String[] args) { new CommandTest().shouldComplainIfNoAnnotations(); } |