Skip to content

Commit 6279d46

Browse files
committed
Add test branches
1 parent b6ce51b commit 6279d46

2 files changed

Lines changed: 53 additions & 36 deletions

File tree

src/main/java/org/apache/commons/cli/Option.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -962,14 +962,16 @@ String toDeprecatedString() {
962962
if (!isDeprecated()) {
963963
return "";
964964
}
965-
final StringBuilder buf = new StringBuilder().append("Option '");
966-
buf.append(option).append(Char.APOS);
965+
// @formatter:off
966+
final StringBuilder buf = new StringBuilder()
967+
.append("Option '")
968+
.append(option)
969+
.append(Char.APOS);
970+
// @formatter:on
967971
if (longOption != null) {
968972
buf.append(Char.APOS).append(longOption).append(Char.APOS);
969973
}
970-
if (isDeprecated()) {
971-
buf.append(": ").append(deprecated);
972-
}
974+
buf.append(": ").append(deprecated);
973975
return buf.toString();
974976
}
975977

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

Lines changed: 46 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,14 @@ Licensed to the Apache Software Foundation (ASF) under one or more
3737

3838
@SuppressWarnings("deprecation") // tests some deprecated classes
3939
public class OptionsTest {
40+
41+
private void assertToStrings(Option option) {
42+
// Should never throw.
43+
// Should return a String, not null.
44+
assertNotNull(option.toString());
45+
assertNotNull(option.toDeprecatedString());
46+
}
47+
4048
@Test
4149
public void testAddConflictingOptions() {
4250
final Options options1 = new Options();
@@ -46,14 +54,12 @@ public void testAddConflictingOptions() {
4654
options1.addOptionGroup(group1);
4755
options1.addOption(Option.builder("x").build());
4856
options1.addOption(Option.builder("y").build());
49-
5057
final Options options2 = new Options();
5158
final OptionGroup group2 = new OptionGroup();
5259
group2.addOption(Option.builder("x").type(Integer.class).build());
5360
group2.addOption(Option.builder("b").type(Integer.class).build());
5461
options2.addOptionGroup(group2);
5562
options2.addOption(Option.builder("c").build());
56-
5763
assertThrows(IllegalArgumentException.class, () -> options1.addOptions(options2));
5864
}
5965

@@ -125,35 +131,43 @@ public void testAddOptions2X() {
125131

126132
@Test
127133
public void testDeprecated() {
128-
final Options opts = new Options();
129-
opts.addOption(Option.builder().option("a").build());
130-
opts.addOption(Option.builder().option("b").deprecated().build());
131-
opts.addOption(Option.builder().option("c")
134+
final Options options = new Options();
135+
options.addOption(Option.builder().option("a").build());
136+
options.addOption(Option.builder().option("b").deprecated().build());
137+
options.addOption(Option.builder().option("c")
132138
.deprecated(DeprecatedAttributes.builder().setForRemoval(true).setSince("2.0").setDescription("Use X.").get()).build());
139+
options.addOption(Option.builder().option("d").deprecated().longOpt("longD").hasArgs().build());
133140
// toString()
134-
assertTrue(opts.getOption("a").toString().startsWith("[ Option a"));
135-
assertTrue(opts.getOption("b").toString().startsWith("[ Option b"));
136-
assertTrue(opts.getOption("c").toString().startsWith("[ Option c"));
141+
assertTrue(options.getOption("a").toString().startsWith("[ Option a"));
142+
assertTrue(options.getOption("b").toString().startsWith("[ Option b"));
143+
assertTrue(options.getOption("c").toString().startsWith("[ Option c"));
137144
// toDeprecatedString()
138-
assertFalse(opts.getOption("a").toDeprecatedString().startsWith("Option a"));
139-
assertEquals("Option 'b': Deprecated", opts.getOption("b").toDeprecatedString());
140-
assertEquals("Option 'c': Deprecated for removal since 2.0: Use X.", opts.getOption("c").toDeprecatedString());
145+
assertFalse(options.getOption("a").toDeprecatedString().startsWith("Option a"));
146+
assertEquals("Option 'b': Deprecated", options.getOption("b").toDeprecatedString());
147+
assertEquals("Option 'c': Deprecated for removal since 2.0: Use X.", options.getOption("c").toDeprecatedString());
148+
assertToStrings(options.getOption("a"));
149+
assertToStrings(options.getOption("b"));
150+
assertToStrings(options.getOption("c"));
151+
assertToStrings(options.getOption("d"));
141152
}
142153

143154
@Test
144155
public void testDuplicateLong() {
145-
final Options opts = new Options();
146-
opts.addOption("a", "--a", false, "toggle -a");
147-
opts.addOption("a", "--a", false, "toggle -a*");
148-
assertEquals("toggle -a*", opts.getOption("a").getDescription(), "last one in wins");
156+
final Options options = new Options();
157+
options.addOption("a", "--a", false, "toggle -a");
158+
options.addOption("a", "--a", false, "toggle -a*");
159+
assertEquals("toggle -a*", options.getOption("a").getDescription(), "last one in wins");
160+
assertToStrings(options.getOption("a"));
149161
}
150162

151163
@Test
152164
public void testDuplicateSimple() {
153-
final Options opts = new Options();
154-
opts.addOption("a", false, "toggle -a");
155-
opts.addOption("a", true, "toggle -a*");
156-
assertEquals("toggle -a*", opts.getOption("a").getDescription(), "last one in wins");
165+
final Options options = new Options();
166+
options.addOption("a", false, "toggle -a");
167+
assertToStrings(options.getOption("a"));
168+
options.addOption("a", true, "toggle -a*");
169+
assertEquals("toggle -a*", options.getOption("a").getDescription(), "last one in wins");
170+
assertToStrings(options.getOption("a"));
157171
}
158172

159173
@Test
@@ -163,10 +177,11 @@ public void testGetMatchingOpts() {
163177
options.addOption(OptionBuilder.create());
164178
OptionBuilder.withLongOpt("verbose");
165179
options.addOption(OptionBuilder.create());
166-
167180
assertTrue(options.getMatchingOptions("foo").isEmpty());
168181
assertEquals(1, options.getMatchingOptions("version").size());
169182
assertEquals(2, options.getMatchingOptions("ver").size());
183+
assertToStrings(options.getOption("version"));
184+
assertToStrings(options.getOption("verbose"));
170185
}
171186

172187
@Test
@@ -225,13 +240,13 @@ public void testHelpOptions() {
225240

226241
@Test
227242
public void testLong() {
228-
final Options opts = new Options();
243+
final Options options = new Options();
229244

230-
opts.addOption("a", "--a", false, "toggle -a");
231-
opts.addOption("b", "--b", true, "set -b");
245+
options.addOption("a", "--a", false, "toggle -a");
246+
options.addOption("b", "--b", true, "set -b");
232247

233-
assertTrue(opts.hasOption("a"));
234-
assertTrue(opts.hasOption("b"));
248+
assertTrue(options.hasOption("a"));
249+
assertTrue(options.hasOption("b"));
235250
}
236251

237252
@Test
@@ -264,13 +279,13 @@ public void testMissingOptionsException() throws ParseException {
264279

265280
@Test
266281
public void testSimple() {
267-
final Options opts = new Options();
282+
final Options options = new Options();
268283

269-
opts.addOption("a", false, "toggle -a");
270-
opts.addOption("b", true, "toggle -b");
284+
options.addOption("a", false, "toggle -a");
285+
options.addOption("b", true, "toggle -b");
271286

272-
assertTrue(opts.hasOption("a"));
273-
assertTrue(opts.hasOption("b"));
287+
assertTrue(options.hasOption("a"));
288+
assertTrue(options.hasOption("b"));
274289
}
275290

276291
@Test

0 commit comments

Comments
 (0)