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.Argument;
22 import org.apache.commons.cli2.CommandLine;
23 import org.apache.commons.cli2.Group;
24 import org.apache.commons.cli2.Option;
25 import org.apache.commons.cli2.builder.ArgumentBuilder;
26 import org.apache.commons.cli2.builder.GroupBuilder;
27 import org.apache.commons.cli2.commandline.Parser;
28 import org.apache.commons.cli2.option.PropertyOption;
29
30
31
32
33 public class BugCLI12Test extends TestCase {
34
35 public void testBug() {
36 Argument arg = new ArgumentBuilder().withName("file").create();
37
38 PropertyOption option = new PropertyOption();
39
40 Group group = new GroupBuilder().withOption(option).withOption(arg).create();
41
42 Parser p = new Parser();
43 p.setGroup(group);
44
45 CommandLine cl = p.parseAndHelp( new String[] { "-Dmyprop1=myval1", "-Dmyprop2=myval2", "myfile" } );
46 if(cl == null) {
47 assertTrue("Couldn't parse valid commandLine", false);
48 }
49
50 assertEquals( "myval1", cl.getProperty(option, "myprop1"));
51 assertEquals( "myval2", cl.getProperty(option, "myprop2"));
52
53 String extraArgs = (String) cl.getValue(arg);
54 assertEquals( "myfile", extraArgs);
55 }
56
57 }