From 26934df8e542aec749bea084f69c62bb1e057edc Mon Sep 17 00:00:00 2001 From: BlitzOffline <52609756+BlitzOffline@users.noreply.github.com> Date: Sat, 25 Mar 2023 03:25:09 +0200 Subject: [PATCH] Added unit tests for the new functionality --- src/test/java/me/clip/placeholderapi/Values.java | 5 +++++ .../placeholderapi/replacer/ReplacerUnitTester.java | 13 +++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/test/java/me/clip/placeholderapi/Values.java b/src/test/java/me/clip/placeholderapi/Values.java index 91c91f6..f985ad9 100644 --- a/src/test/java/me/clip/placeholderapi/Values.java +++ b/src/test/java/me/clip/placeholderapi/Values.java @@ -30,6 +30,8 @@ import org.jetbrains.annotations.Nullable; public interface Values { + String NO_ARGUMENTS_PLACEHOLDER = "%player%"; + String EMPTY_ARGUMENT_PLACEHOLDER = "%player_%"; String SMALL_TEXT = "My name is %player_name%"; String LARGE_TEXT = "My name is %player_name% and my location is (%player_x%, %player_y%, %player_z%), this placeholder is invalid %server_name%"; @@ -43,6 +45,7 @@ public interface Values { final class MockPlayerPlaceholderExpansion extends PlaceholderExpansion { + public static final String EMPTY_ARGUMENT = "Empty Argument"; public static final String PLAYER_X = "10"; public static final String PLAYER_Y = "20"; public static final String PLAYER_Z = "30"; @@ -83,6 +86,8 @@ public interface Values { return PLAYER_Y; case "z": return PLAYER_Z; + case "": + return EMPTY_ARGUMENT; } return null; diff --git a/src/test/java/me/clip/placeholderapi/replacer/ReplacerUnitTester.java b/src/test/java/me/clip/placeholderapi/replacer/ReplacerUnitTester.java index 4924a7e..5f1148e 100644 --- a/src/test/java/me/clip/placeholderapi/replacer/ReplacerUnitTester.java +++ b/src/test/java/me/clip/placeholderapi/replacer/ReplacerUnitTester.java @@ -24,6 +24,7 @@ import static me.clip.placeholderapi.Values.MockPlayerPlaceholderExpansion.PLAYE import static me.clip.placeholderapi.Values.MockPlayerPlaceholderExpansion.PLAYER_X; import static me.clip.placeholderapi.Values.MockPlayerPlaceholderExpansion.PLAYER_Y; import static me.clip.placeholderapi.Values.MockPlayerPlaceholderExpansion.PLAYER_Z; +import static me.clip.placeholderapi.Values.MockPlayerPlaceholderExpansion.EMPTY_ARGUMENT; import static org.junit.jupiter.api.Assertions.assertEquals; import me.clip.placeholderapi.Values; @@ -37,6 +38,18 @@ public final class ReplacerUnitTester { Values.CHARS_REPLACER.apply("%player_name%", null, Values.PLACEHOLDERS::get)); } + @Test + void charsReplacersDoesNotParsePlaceholdersWithNoArguments() { + assertEquals(Values.NO_ARGUMENTS_PLACEHOLDER, + Values.CHARS_REPLACER.apply(Values.NO_ARGUMENTS_PLACEHOLDER, null, Values.PLACEHOLDERS::get)); + } + + @Test + void charsReplacersParsesPlaceholdersWithOneArgumentThatIsEmpty() { + assertEquals(EMPTY_ARGUMENT, + Values.CHARS_REPLACER.apply(Values.EMPTY_ARGUMENT_PLACEHOLDER, null, Values.PLACEHOLDERS::get)); + } + @Test void testCharsReplacerProducesExpectedSentence() { assertEquals(String.format(