Compare commits

...

2 commits

Author SHA1 Message Date
9c103b8f9c Added exception trapping in main 2023-01-02 12:39:35 -08:00
a7eaf1a608 Test for main unknown options 2023-01-02 11:40:01 -08:00
2 changed files with 29 additions and 18 deletions

View file

@ -270,6 +270,7 @@ public final class UrlEncoder {
* @since 1.1
*/
public static void main(String[] arguments) {
try {
var result = processMain(arguments);
if (result.status == 0) {
System.out.println(result.output);
@ -277,5 +278,9 @@ public final class UrlEncoder {
System.err.println(result.output);
}
System.exit(result.status);
} catch(IllegalArgumentException e) {
System.err.println(UrlEncoder.class.getSimpleName() + ": " + e.getMessage());
System.exit(1);
}
}
}

View file

@ -37,12 +37,6 @@ class UrlEncoderTest {
);
}
@ParameterizedTest(name = "decode({0}) should be {1}")
@MethodSource("validMap")
void testDecodeUrl(String expected, String source) {
assertEquals(expected, UrlEncoder.decode(source));
}
@Test
void testDecodeNotNeeded() {
assertSame(same, UrlEncoder.decode(same));
@ -50,6 +44,12 @@ class UrlEncoderTest {
assertEquals(" ", UrlEncoder.decode(" "), "decode(' ')");
}
@ParameterizedTest(name = "decode({0}) should be {1}")
@MethodSource("validMap")
void testDecodeUrl(String expected, String source) {
assertEquals(expected, UrlEncoder.decode(source));
}
@ParameterizedTest(name = "decode({0})")
@MethodSource("invalid")
void testDecodeWithException(String source) {
@ -61,6 +61,12 @@ class UrlEncoderTest {
assertNull(UrlEncoder.decode(null), "decode(null)");
}
@ParameterizedTest(name = "encode({0}) should be {1}")
@MethodSource("validMap")
void testEncodeUrl(String source, String expected) {
assertEquals(expected, UrlEncoder.encode(source));
}
@Test
void testEncodeWhenNoneNeeded() {
assertSame(same, UrlEncoder.encode(same));
@ -82,12 +88,6 @@ class UrlEncoderTest {
assertEquals("%20", UrlEncoder.encode(" "), "encode('')");
}
@ParameterizedTest(name = "encode({0}) should be {1}")
@MethodSource("validMap")
void testEncodeUrl(String source, String expected) {
assertEquals(expected, UrlEncoder.encode(source));
}
@Test
void testEncodeWithNulls() {
assertNull(UrlEncoder.encode(null), "encode(null)");
@ -147,4 +147,10 @@ class UrlEncoderTest {
assertEquals(expected, result.output);
assertEquals(0, result.status, "processMain(-e " + source + ").status");
}
@Test
void testMainWithUnknownOptions() {
assertTrue(UrlEncoder.processMain(new String[]{"-p"}).output.contains("Usage :"), "processMain(-p)");
assertTrue(UrlEncoder.processMain(new String[]{"-"}).output.contains("Usage :"), "processMain(-)");
}
}