diff --git a/src/main/java/de/oliver/fancynpcs/tests/impl/FancyNpcsTests.java b/src/main/java/de/oliver/fancynpcs/tests/impl/FancyNpcsTests.java index b5a5bc2e..852de87a 100644 --- a/src/main/java/de/oliver/fancynpcs/tests/impl/FancyNpcsTests.java +++ b/src/main/java/de/oliver/fancynpcs/tests/impl/FancyNpcsTests.java @@ -1,6 +1,7 @@ package de.oliver.fancynpcs.tests.impl; import de.oliver.fancynpcs.tests.FNTestClass; +import de.oliver.fancynpcs.tests.impl.api.ChatColorHandlerTest; import de.oliver.fancynpcs.tests.impl.api.CreateNpcTest; import de.oliver.fancynpcs.tests.impl.commands.*; import org.bukkit.entity.Player; @@ -19,6 +20,7 @@ public class FancyNpcsTests { public FancyNpcsTests() { // api tests addTest(CreateNpcTest.class); + addTest(ChatColorHandlerTest.class); // command tests addTest(CreateCMDTest.class); diff --git a/src/main/java/de/oliver/fancynpcs/tests/impl/api/ChatColorHandlerTest.java b/src/main/java/de/oliver/fancynpcs/tests/impl/api/ChatColorHandlerTest.java new file mode 100644 index 00000000..d0a6964d --- /dev/null +++ b/src/main/java/de/oliver/fancynpcs/tests/impl/api/ChatColorHandlerTest.java @@ -0,0 +1,32 @@ +package de.oliver.fancynpcs.tests.impl.api; + +import de.oliver.fancynpcs.tests.annotations.FNTest; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.plugin.Plugin; +import org.lushplugins.chatcolorhandler.ChatColorHandler; +import org.lushplugins.chatcolorhandler.parsers.ParserTypes; + +import static de.oliver.fancynpcs.tests.Expectable.expect; + +public class ChatColorHandlerTest { + + @FNTest(name = "Test Placeholders") + public void testPlaceholders(Player player) { + if (!isPlaceholderAPIEnabled()) { + return; + } + + String input = "Player name: %player_name%"; + String got = ChatColorHandler.translate(input, player, ParserTypes.placeholder()); + String expected = "Player name: " + player.getName(); + + expect(got).toEqual(expected); + } + + private boolean isPlaceholderAPIEnabled() { + Plugin placeholderAPI = Bukkit.getPluginManager().getPlugin("PlaceholderAPI"); + return placeholderAPI != null && placeholderAPI.isEnabled(); + } + +}