1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.cli2.bug;
18
19 import junit.framework.TestCase;
20
21 import org.apache.commons.cli2.CommandLine;
22 import org.apache.commons.cli2.Group;
23 import org.apache.commons.cli2.Option;
24 import org.apache.commons.cli2.builder.ArgumentBuilder;
25 import org.apache.commons.cli2.builder.DefaultOptionBuilder;
26 import org.apache.commons.cli2.builder.GroupBuilder;
27 import org.apache.commons.cli2.commandline.Parser;
28
29
30
31
32 public class Bug15648Test extends TestCase {
33
34 public Bug15648Test(final String name) {
35 super(name);
36 }
37
38 public void testQuotedArgumentValue() throws Exception {
39 final DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
40 final ArgumentBuilder abuilder = new ArgumentBuilder();
41 final GroupBuilder gbuilder = new GroupBuilder();
42
43 final Option testOption =
44 obuilder
45 .withShortName("a")
46 .withArgument(abuilder.withName("quoted string").create())
47 .create();
48
49 final Group options = gbuilder.withOption(testOption).create();
50
51 final Parser parser = new Parser();
52 parser.setGroup(options);
53
54 final CommandLine cmdLine =
55 parser.parse(new String[] { "-a", "\"two tokens\"" });
56
57 assertTrue(cmdLine.hasOption("-a"));
58 assertEquals("two tokens", cmdLine.getValue("-a"));
59 }
60 }