diff --git a/lib/src/main/java/com/uwyn/urlencoder/UrlEncoder.java b/lib/src/main/java/com/uwyn/urlencoder/UrlEncoder.java index 3fbcfe0..3486188 100644 --- a/lib/src/main/java/com/uwyn/urlencoder/UrlEncoder.java +++ b/lib/src/main/java/com/uwyn/urlencoder/UrlEncoder.java @@ -237,9 +237,9 @@ public final class UrlEncoder { var option = args.remove(0); if (option.equals("-d")) { perform_decode = true; - valid_arguments = !args.isEmpty(); + valid_arguments = (args.size() == 1); } else if (option.equals("-e")) { - valid_arguments = !args.isEmpty(); + valid_arguments = (args.size() == 1); } else { args.clear(); } diff --git a/lib/src/test/java/com/uwyn/urlencoder/UrlEncoderTest.java b/lib/src/test/java/com/uwyn/urlencoder/UrlEncoderTest.java index f0f67a7..a095b35 100644 --- a/lib/src/test/java/com/uwyn/urlencoder/UrlEncoderTest.java +++ b/lib/src/test/java/com/uwyn/urlencoder/UrlEncoderTest.java @@ -94,6 +94,20 @@ class UrlEncoderTest { assertTrue(result.output.contains("Usage :")); } + @Test + void testMainWrongArgs4() { + var result = UrlEncoder.processMain(new String[] {"-d", "stuff", "txt"}); + assertEquals(1, result.status); + assertTrue(result.output.contains("Usage :")); + } + + @Test + void testMainWrongArgs5() { + var result = UrlEncoder.processMain(new String[] {"-e", "stuff", "txt"}); + assertEquals(1, result.status); + assertTrue(result.output.contains("Usage :")); + } + @Test void testDecodeMainOption() { validMap.forEach((expected, source) -> {