diff options
author | Cedric Beust <cedric@beust.com> | 2013-07-05 23:36:56 -0700 |
---|---|---|
committer | Cedric Beust <cedric@beust.com> | 2013-07-05 23:36:56 -0700 |
commit | 33dcbc6fdca9e9318a37b9f3b8e4f821c69b0f7b (patch) | |
tree | 878c54383520597e0cfdba7bf6732547f9bb4a0a | |
parent | e014aa0143809847d06e6923ce4a5949b3c0e401 (diff) | |
parent | b2435441a8c891f9577fdab4421a580f5f807758 (diff) | |
download | platform_external_jcommander-33dcbc6fdca9e9318a37b9f3b8e4f821c69b0f7b.tar.gz platform_external_jcommander-33dcbc6fdca9e9318a37b9f3b8e4f821c69b0f7b.tar.bz2 platform_external_jcommander-33dcbc6fdca9e9318a37b9f3b8e4f821c69b0f7b.zip |
Merge pull request #157 from mikedrob/quotes
Quotes
-rw-r--r-- | src/main/java/com/beust/jcommander/JCommander.java | 3 | ||||
-rw-r--r-- | src/test/java/test/QuotedMainTest.java | 29 |
2 files changed, 31 insertions, 1 deletions
diff --git a/src/main/java/com/beust/jcommander/JCommander.java b/src/main/java/com/beust/jcommander/JCommander.java index 1bc0084..b78d890 100644 --- a/src/main/java/com/beust/jcommander/JCommander.java +++ b/src/main/java/com/beust/jcommander/JCommander.java @@ -680,6 +680,7 @@ public class JCommander { while (i < args.length && ! commandParsed) { String arg = args[i]; String a = trim(arg); + args[i] = a; p("Parsing arg: " + a); JCommander jc = findCommandByAlias(arg); @@ -748,7 +749,7 @@ public class JCommander { // Regular (non-command) parsing // List mp = getMainParameter(arg); - String value = arg; + String value = a; // If there's a non-quoted version, prefer that one Object convertedValue = value; if (m_mainParameter.getGenericType() instanceof ParameterizedType) { diff --git a/src/test/java/test/QuotedMainTest.java b/src/test/java/test/QuotedMainTest.java new file mode 100644 index 0000000..abb97c0 --- /dev/null +++ b/src/test/java/test/QuotedMainTest.java @@ -0,0 +1,29 @@ +package test; + +import java.util.ArrayList; +import java.util.List; + +import org.testng.Assert; +import org.testng.annotations.Test; + +import com.beust.jcommander.JCommander; +import com.beust.jcommander.Parameter; + +public class QuotedMainTest { + @Parameter + List<String> args = new ArrayList<String>(); + + String quoted = "\" \""; + + @Test + public void testMain() { + JCommander jc = new JCommander(this); + jc.parse(quoted); + Assert.assertEquals(args.size(), 1); + Assert.assertEquals(args.get(0), " "); + } + + public static void main(String[] args) { + new QuotedMainTest().testMain(); + } +} |