summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl-Frederik Hallberg <carl-frederik.hallberg@ericsson.com>2016-03-03 15:07:22 +0100
committerCarl-Frederik Hallberg <carl-frederik.hallberg@ericsson.com>2016-04-07 16:17:44 +0200
commit4f1b74bd464a27281f6924ba2733f3d528f214e4 (patch)
tree82be971a9a8612207edfb051821d76247e2b92a9 /src
parentc8e76b06111ab095f01882f565a2ccd0b63a0be9 (diff)
downloadjcommander-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.java8
-rw-r--r--src/test/java/com/beust/jcommander/JCommanderTest.java4
-rw-r--r--src/test/java/com/beust/jcommander/command/CommandTest.java15
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();
}