From 184cb38cbb3dec4686a4be8db2c5090105adcaed Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Wed, 6 Mar 2024 14:25:45 +0100 Subject: [PATCH] Updates MockBukkit, and fixes some test-related issues Fixes JUnit 5's After being used instead of AfterEach Fixes a potential NullPointerException when tearing down GateLayoutTest --- pom.xml | 4 ++-- .../stargate/command/ConfigTabCompleter.java | 13 ++++++------- .../net/knarcraft/stargate/BlockLocationTest.java | 4 ++-- .../knarcraft/stargate/portal/GateLayoutTest.java | 6 +++++- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/pom.xml b/pom.xml index 103b255..23d01ae 100644 --- a/pom.xml +++ b/pom.xml @@ -66,8 +66,8 @@ com.github.seeseemelk - MockBukkit-v1.18 - 2.85.2 + MockBukkit-v1.20 + 3.78.0 test diff --git a/src/main/java/net/knarcraft/stargate/command/ConfigTabCompleter.java b/src/main/java/net/knarcraft/stargate/command/ConfigTabCompleter.java index c2319d2..e0323de 100644 --- a/src/main/java/net/knarcraft/stargate/command/ConfigTabCompleter.java +++ b/src/main/java/net/knarcraft/stargate/command/ConfigTabCompleter.java @@ -65,23 +65,22 @@ public class ConfigTabCompleter implements TabCompleter { private List getPossibleOptionValues(@NotNull ConfigOption selectedOption, @NotNull String typedText) { switch (selectedOption) { - case LANGUAGE: + case LANGUAGE -> { //Return available languages return filterMatchingStartsWith(languages, typedText); - case GATE_FOLDER: - case PORTAL_FOLDER: - case DEFAULT_GATE_NETWORK: + } + case GATE_FOLDER, PORTAL_FOLDER, DEFAULT_GATE_NETWORK -> { //Just return the default value as most values should be possible if (typedText.trim().isEmpty()) { return List.of((String) selectedOption.getDefaultValue()); } else { return new ArrayList<>(); } - case MAIN_SIGN_COLOR: - case HIGHLIGHT_SIGN_COLOR: - case FREE_GATES_COLOR: + } + case MAIN_SIGN_COLOR, HIGHLIGHT_SIGN_COLOR, FREE_GATES_COLOR -> { //Return all colors return filterMatchingStartsWith(chatColors, typedText); + } } //If the config value is a boolean, show the two boolean values diff --git a/src/test/java/net/knarcraft/stargate/BlockLocationTest.java b/src/test/java/net/knarcraft/stargate/BlockLocationTest.java index 0935057..61ddc86 100644 --- a/src/test/java/net/knarcraft/stargate/BlockLocationTest.java +++ b/src/test/java/net/knarcraft/stargate/BlockLocationTest.java @@ -4,7 +4,7 @@ import be.seeseemelk.mockbukkit.MockBukkit; import be.seeseemelk.mockbukkit.WorldMock; import net.knarcraft.stargate.container.BlockLocation; import org.bukkit.Material; -import org.junit.After; +import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -19,7 +19,7 @@ public class BlockLocationTest { mockWorld = new WorldMock(Material.DIRT, 5); } - @After + @AfterEach public void tearDown() { MockBukkit.unmock(); } diff --git a/src/test/java/net/knarcraft/stargate/portal/GateLayoutTest.java b/src/test/java/net/knarcraft/stargate/portal/GateLayoutTest.java index e966521..acb613e 100644 --- a/src/test/java/net/knarcraft/stargate/portal/GateLayoutTest.java +++ b/src/test/java/net/knarcraft/stargate/portal/GateLayoutTest.java @@ -9,6 +9,7 @@ import net.knarcraft.stargate.portal.property.gate.Gate; import net.knarcraft.stargate.portal.property.gate.GateHandler; import net.knarcraft.stargate.portal.property.gate.GateLayout; import org.bukkit.Material; +import org.jetbrains.annotations.Nullable; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; @@ -39,7 +40,10 @@ public class GateLayoutTest { @AfterAll public static void tearDown() { - MockBukkit.getMock().getPluginManager().disablePlugins(); + @Nullable ServerMock mock = MockBukkit.getMock(); + if (mock != null) { + mock.getPluginManager().disablePlugins(); + } MockBukkit.unmock(); }