1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.cli.bug;
19
20 import static org.junit.jupiter.api.Assertions.assertThrows;
21
22 import org.apache.commons.cli.AmbiguousOptionException;
23 import org.apache.commons.cli.DefaultParser;
24 import org.apache.commons.cli.Option;
25 import org.apache.commons.cli.Options;
26 import org.apache.commons.cli.ParseException;
27 import org.junit.Test;
28
29 public class BugCLI252Test {
30
31 private Options getOptions() {
32 final Options options = new Options();
33 options.addOption(Option.builder().longOpt("prefix").build());
34 options.addOption(Option.builder().longOpt("prefixplusplus").build());
35 return options;
36 }
37
38 @Test
39 public void testAmbiquousOptionName() {
40 assertThrows(AmbiguousOptionException.class, () ->
41 new DefaultParser().parse(getOptions(), new String[]{"--pref"})
42 );
43 }
44
45 @Test
46 public void testExactOptionNameMatch() throws ParseException {
47 new DefaultParser().parse(getOptions(), new String[] {"--prefix"});
48 }
49
50 }