commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oliver Heger (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (CLI-158) deafult arguments only works if no arguments are submitted
Date Thu, 24 Jul 2008 19:39:31 GMT

     [ https://issues.apache.org/jira/browse/CLI-158?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Oliver Heger resolved CLI-158.
------------------------------

    Resolution: Fixed

Patch applied. Many thanks!

> deafult arguments only works if no arguments are submitted
> ----------------------------------------------------------
>
>                 Key: CLI-158
>                 URL: https://issues.apache.org/jira/browse/CLI-158
>             Project: Commons CLI
>          Issue Type: Bug
>          Components: CLI-2.x
>    Affects Versions: 2.0
>            Reporter: Andrew Oxenburgh
>             Fix For: 2.0
>
>         Attachments: cli_158.r676502.patch
>
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> When using multple arguments and defaults, the behaviour is counter-intuitive and will
only pick up a default if no args are passed in.
> For instance in the code below I have set up so 0, 1, or 2 args may bve accepted, with
defaults 100 and 1000.
> I expect it to behave as follows.
> 1. for 2 args, 1 and 2 the values should be 1 and 2. This works as expected.
> 2. for 0 args passed in the values should be 100 and 1000, picking up both of the defaults.
This works as expected
> 3. for 1 arg passed in the values should be 1 and 1000, so the second argument picks
up the second default value. The valuse become just 1, which is not as expected..
> Currently, in the second case will only return 1 and ignore the defaults.
>     public void testSingleOptionSingleArgument() throws Exception {
>         String defaulValue1 = "100";
>         String defaultValue2 = "1000";
>         final DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
>         final ArgumentBuilder abuilder = new ArgumentBuilder();
>         final GroupBuilder gbuilder = new GroupBuilder();
>         DefaultOption bOption = obuilder.withShortName("b")
>                 .withLongName("b")
>                 .withArgument(abuilder.withName("b")
>                         .withMinimum(0)
>                         .withMaximum(2)
>                         .withDefault(defaulValue1)
>                         .withDefault(defaultValue2)
>                         .create())
>                 .create();
>         Group options = gbuilder
>                 .withName("options")
>                 .withOption(bOption)
>                 .create();
>         Parser parser = new Parser();
>         parser.setHelpTrigger("--help");
>         parser.setGroup(options);
>         String enteredValue1 = "1";
>         String[] args = new String[]{"-b", enteredValue1};
>         CommandLine cl = parser.parse(args);
>         CommandLine cmd = cl;
>         assertNotNull(cmd);
>         List b = cmd.getValues("-b");
>         assertEquals("[" + enteredValue1 + "]", b + "");
>     }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message