[
https://issues.apache.org/jira/browse/CLI-317?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17750340#comment-17750340
]
Sruteesh Kumar Paramata edited comment on CLI-317 at 8/2/23 1:54 PM:
---------------------------------------------------------------------
[~ggregory]
The below one is throwing NullPointerException
{{{code:java}}}
public void testAmbiguousLongWithoutEqualSingleDash() throws Exception {
final String[] args = \{"-b", "-foobar"};
final Options options = new Options();
options.addOption(Option.builder().option("f").longOpt("foo").optionalArg(true).build());
options.addOption(Option.builder().option("b").longOpt("bar").optionalArg(false).build());
final CommandLine cl = parser.parse(options, args);
assertTrue(cl.hasOption("b"));
assertTrue(cl.hasOption("f"));
assertEquals("bar", cl.getOptionValue("foo"));
}
{{}}
{code}{{{}{}}}
was (Author: JIRAUSER301594):
[~ggregory]
The below one is throwing NullPointerException
{{{}{code:title=Bar.java|borderStyle=solid}{}}}{{{}{}}}
public void testAmbiguousLongWithoutEqualSingleDash() throws Exception {
final String[] args = \{"-b", "-foobar"};
final Options options = new Options();
options.addOption(Option.builder().option("f").longOpt("foo").optionalArg(true).build());
options.addOption(Option.builder().option("b").longOpt("bar").optionalArg(false).build());
final CommandLine cl = parser.parse(options, args);
assertTrue(cl.hasOption("b"));
assertTrue(cl.hasOption("f"));
assertEquals("bar", cl.getOptionValue("foo"));
}{{{}{}}}
{{}}
{{{code}}}
> NullPointerException thrown by CommandLineParser.parse()
> --------------------------------------------------------
>
> Key: CLI-317
> URL: https://issues.apache.org/jira/browse/CLI-317
> Project: Commons CLI
> Issue Type: Bug
> Components: Parser
> Affects Versions: 1.5.0
> Reporter: Philippe Bastiani
> Priority: Critical
> Labels: exception
>
> # First at all, your *testAmbiguousLongWithoutEqualSingleDash* does not lead
> to a AmbiguousOptionException
> # For this same test, if I replace the deprecated OptionBuilder with
> Option.Builder as follows
> {code:java}
> options.addOption(Option.builder().option("f").longOpt("foo").optionalArg(true).build());
> options.addOption(Option.builder().option("b").longOpt("bar").optionalArg(false).build());
> {code}
> the test leads to a NPE
> {code:java}
> java.lang.NullPointerException
> at xx.DefaultParser.handleShortAndLongOption(DefaultParser.java:476)
> at xx.DefaultParser.handleToken(DefaultParser.java:535)
> at xx.DefaultParser.parse(DefaultParser.java:714)
> at xx.DefaultParser.parse(DefaultParser.java:677)
> at xx.DefaultParser.parse(DefaultParser.java:654)
> {code}
> _Note_ : tested with Github code (January 22, 2023)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)