|
17 | 17 |
|
18 | 18 | package org.apache.commons.cli; |
19 | 19 |
|
| 20 | +import java.util.Arrays; |
| 21 | +import java.util.List; |
| 22 | + |
20 | 23 | import junit.framework.TestCase; |
21 | 24 |
|
22 | 25 | /** |
@@ -269,4 +272,26 @@ public void testLongOptionWithShort() throws Exception { |
269 | 272 | assertEquals(line.getOptionValue("age"), "5"); |
270 | 273 | assertEquals(line.getOptionValue("file"), "filename"); |
271 | 274 | } |
| 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 | + } |
272 | 297 | } |
0 commit comments