From b5fd834dc709e3ba3e82e7ce7a5c6dbce7662985 Mon Sep 17 00:00:00 2001 From: NorbiPeti Date: Tue, 27 Jun 2023 01:39:35 +0200 Subject: [PATCH] Fix chat tests with MockBukkit and fix Paper version #130 --- pom.xml | 8 +++++++- .../components/formatter/ChatProcessing.java | 14 ++++++++------ .../components/formatter/ChatFormatIT.java | 19 +++++++++---------- 3 files changed, 24 insertions(+), 17 deletions(-) diff --git a/pom.xml b/pom.xml index 3db9190..44e3528 100644 --- a/pom.xml +++ b/pom.xml @@ -109,7 +109,7 @@ io.papermc.paper paper-api - 1.20.1-R0.1-SNAPSHOT + 1.19.1-R0.1-SNAPSHOT provided @@ -189,6 +189,12 @@ 1.0.500 provided + + com.github.seeseemelk + MockBukkit-v1.19 + 2.29.0 + test + Chroma-Chat diff --git a/src/main/java/buttondevteam/chat/components/formatter/ChatProcessing.java b/src/main/java/buttondevteam/chat/components/formatter/ChatProcessing.java index 13a4c17..2d2b373 100644 --- a/src/main/java/buttondevteam/chat/components/formatter/ChatProcessing.java +++ b/src/main/java/buttondevteam/chat/components/formatter/ChatProcessing.java @@ -233,12 +233,14 @@ public class ChatProcessing { val channelHover = (ChatUtils.MCORIGIN.equals(origin) ? "" : "From " + origin + "\n") + "Copy message"; json.append(text(channelidentifier) .hoverEvent(hoverEvent(SHOW_TEXT, text(channelHover).color(BLUE))).clickEvent(suggestCommand(message))); - if (PluginMain.permission.has(player, "tbmc.badge.diamond")) // TODO: Cross-platform permissions - json.append(text("[P]").color(AQUA).decorate(TextDecoration.BOLD) - .hoverEvent(hoverEvent(SHOW_TEXT, text("Diamond Patreon supporter")))); - else if (PluginMain.permission.has(player, "tbmc.badge.gold")) - json.append(text("[P]").color(GOLD).decorate(TextDecoration.BOLD) - .hoverEvent(hoverEvent(SHOW_TEXT, text("Gold Patreon supporter")))); + if (player != null) { + if (PluginMain.permission.has(player, "tbmc.badge.diamond")) // TODO: Cross-platform permissions + json.append(text("[P]").color(AQUA).decorate(TextDecoration.BOLD) + .hoverEvent(hoverEvent(SHOW_TEXT, text("Diamond Patreon supporter")))); + else if (PluginMain.permission.has(player, "tbmc.badge.gold")) + json.append(text("[P]").color(GOLD).decorate(TextDecoration.BOLD) + .hoverEvent(hoverEvent(SHOW_TEXT, text("Gold Patreon supporter")))); + } json.append(text(" <")); json.append(text(user.getName()).hoverEvent(hoverEvent(SHOW_TEXT, text(user.getInfo(ChromaGamerBase.InfoTarget.MCHover))))); json.append(text("> ")); diff --git a/src/test/java/buttondevteam/chat/components/formatter/ChatFormatIT.java b/src/test/java/buttondevteam/chat/components/formatter/ChatFormatIT.java index 46436e5..2343a5b 100644 --- a/src/test/java/buttondevteam/chat/components/formatter/ChatFormatIT.java +++ b/src/test/java/buttondevteam/chat/components/formatter/ChatFormatIT.java @@ -9,24 +9,23 @@ import buttondevteam.chat.commands.ucmds.admin.DebugCommand; import buttondevteam.chat.components.formatter.formatting.ChatFormatter; import buttondevteam.chat.components.formatter.formatting.FormatSettings; import buttondevteam.chat.components.formatter.formatting.MatchProviderBase; -import buttondevteam.core.TestPrepare; +import buttondevteam.core.MainPlugin; import buttondevteam.core.component.channel.Channel; -import buttondevteam.lib.TBMCCoreAPI; import buttondevteam.lib.player.ChromaGamerBase; -import buttondevteam.lib.player.TBMCPlayer; -import buttondevteam.lib.player.TBMCPlayerBase; +import buttondevteam.lib.test.TestPermissions; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.TextComponent; -import net.milkbowl.vault.permission.Permission; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; -import org.mockito.Mockito; import java.util.ArrayList; import java.util.List; +import java.util.UUID; import java.util.function.Function; +import static be.seeseemelk.mockbukkit.MockBukkit.load; +import static be.seeseemelk.mockbukkit.MockBukkit.mock; import static net.kyori.adventure.text.Component.text; import static net.kyori.adventure.text.event.ClickEvent.Action.OPEN_URL; import static net.kyori.adventure.text.event.ClickEvent.clickEvent; @@ -39,11 +38,11 @@ import static net.kyori.adventure.text.format.TextDecoration.*; public class ChatFormatIT { @Objects public static List data() { - TestPrepare.PrepareServer(); - var sender = ChromaGamerBase.getUser("test", ChatPlayer.class); + mock(); + load(MainPlugin.class, true); + var sender = ChromaGamerBase.getUser(UUID.randomUUID().toString(), ChatPlayer.class); DebugCommand.DebugMode = true; - PluginMain.permission = Mockito.mock(Permission.class); - TBMCCoreAPI.RegisterUserClass(TBMCPlayerBase.class, TBMCPlayer::new); + PluginMain.permission = new TestPermissions(); List list = new ArrayList<>();