Skip to content

Commit 3486939

Browse files
committed
Add property test for Posix Parser
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/cli/branches/cli-1.x@667600 13f79535-47bb-0310-9956-ffa450edef68
1 parent 84d333a commit 3486939

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

src/test/org/apache/commons/cli/PosixParserTest.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717

1818
package org.apache.commons.cli;
1919

20+
import java.util.Arrays;
21+
import java.util.List;
22+
2023
import junit.framework.TestCase;
2124

2225
/**
@@ -269,4 +272,26 @@ public void testLongOptionWithShort() throws Exception {
269272
assertEquals(line.getOptionValue("age"), "5");
270273
assertEquals(line.getOptionValue("file"), "filename");
271274
}
275+
276+
public void testPropertiesOption() throws Exception
277+
{
278+
String[] args = new String[] { "-Jsource=1.5", "-J", "target", "1.5", "foo" };
279+
280+
Options options = new Options();
281+
options.addOption(OptionBuilder.withValueSeparator().hasArgs(2).create('J'));
282+
283+
Parser parser = new PosixParser();
284+
CommandLine cl = parser.parse(options, args);
285+
286+
List values = Arrays.asList(cl.getOptionValues("J"));
287+
assertNotNull("null values", values);
288+
assertEquals("number of values", 4, values.size());
289+
assertEquals("value 1", "source", values.get(0));
290+
assertEquals("value 2", "1.5", values.get(1));
291+
assertEquals("value 3", "target", values.get(2));
292+
assertEquals("value 4", "1.5", values.get(3));
293+
List argsleft = cl.getArgList();
294+
assertEquals("Should be 1 arg left",1,argsleft.size());
295+
assertEquals("Expecting foo","foo",argsleft.get(0));
296+
}
272297
}

0 commit comments

Comments
 (0)