ConfigTest: Fix tests for getting empty config value as int

The tests were set up to expect an IllegalArgumentException when
the Config.getInt method was called with a section.key that has
not been set, or explicitly set to an empty string.

However, the IllegalArgumentException never gets thrown because
the getInt method returns the provided default ("1"), and because
there was no call to "fail" after getInt, the incorrect behavior
of the test was not noticed.

Remove the try/catch around getInt, and instead assert that the
expected default value is returned.

Found by Error Prone, which reported:

  Not calling fail() when expecting an exception masks bugs

See https://errorprone.info/bugpattern/MissingFail

Change-Id: Ie8e692aba9fb8523241fb8f298d57493923d9f78
Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>
This commit is contained in:
David Pursehouse 2018-09-29 12:54:37 +09:00
parent 873b0b7754
commit 00698f9e27
1 changed files with 2 additions and 10 deletions

View File

@ -702,11 +702,7 @@ public void testExplicitlySetEmptyString() throws Exception {
assertEquals("", c.getString("a", null, "y"));
assertArrayEquals(new String[]{""}, c.getStringList("a", null, "y"));
try {
c.getInt("a", null, "y", 1);
} catch (IllegalArgumentException e) {
assertEquals("Invalid integer value: a.y=", e.getMessage());
}
assertEquals(1, c.getInt("a", null, "y", 1));
assertNull(c.getString("a", null, "z"));
assertArrayEquals(new String[]{}, c.getStringList("a", null, "z"));
@ -723,11 +719,7 @@ public void testParsedEmptyString() throws Exception {
assertNull(c.getString("a", null, "y"));
assertArrayEquals(new String[]{null}, c.getStringList("a", null, "y"));
try {
c.getInt("a", null, "y", 1);
} catch (IllegalArgumentException e) {
assertEquals("Invalid integer value: a.y=", e.getMessage());
}
assertEquals(1, c.getInt("a", null, "y", 1));
assertNull(c.getString("a", null, "z"));
assertArrayEquals(new String[]{}, c.getStringList("a", null, "z"));