Updated Upstream (Bukkit/CraftBukkit)
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: fb23cbb3 Define surefire plugin version d022084a Define ordering for MetadataStoreTest 99a7f6f0 PR-910: Match generic max absorption attribute name style with the rest c7390d71 PR-909: Update tests to JUnit 5 CraftBukkit Changes: f0661c351 PR-1230: Move unstructured PDC NBT serialisation to SNBT 452fcb599 PR-1256: Update tests to JUnit 5
This commit is contained in:
@@ -40,6 +40,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+import com.destroystokyo.paper.event.player.PlayerArmorChangeEvent;
|
||||
+import java.util.ArrayList;
|
||||
+import java.util.List;
|
||||
+import java.util.stream.Stream;
|
||||
+import net.minecraft.world.entity.EquipmentSlot;
|
||||
+import net.minecraft.world.item.Equipable;
|
||||
+import net.minecraft.world.item.Item;
|
||||
@@ -47,45 +48,38 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+import org.bukkit.Material;
|
||||
+import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
||||
+import org.bukkit.support.AbstractTestingBase;
|
||||
+import org.junit.Test;
|
||||
+import org.junit.runner.RunWith;
|
||||
+import org.junit.runners.Parameterized;
|
||||
+import org.junit.jupiter.params.ParameterizedTest;
|
||||
+import org.junit.jupiter.params.provider.MethodSource;
|
||||
+
|
||||
+import static org.junit.Assert.assertEquals;
|
||||
+import static org.junit.Assert.assertNotNull;
|
||||
+import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
+import static org.junit.jupiter.api.Assertions.assertNotNull;
|
||||
+
|
||||
+@RunWith(Parameterized.class)
|
||||
+public class ExtraArmorSlotTypeMaterialTest extends AbstractTestingBase {
|
||||
+
|
||||
+ @Parameterized.Parameter(0)
|
||||
+ public PlayerArmorChangeEvent.SlotType slotType;
|
||||
+
|
||||
+ @Parameterized.Parameter(1)
|
||||
+ public Material item;
|
||||
+
|
||||
+ @Parameterized.Parameters(name = "{0}: {1}")
|
||||
+ public static Iterable<Object[]> parameters() {
|
||||
+ @MethodSource("parameters")
|
||||
+ public static Stream<Object[]> parameters() {
|
||||
+ final List<Object[]> parameters = new ArrayList<>();
|
||||
+ for (final PlayerArmorChangeEvent.SlotType slotType : PlayerArmorChangeEvent.SlotType.values()) {
|
||||
+ for (final Material item : slotType.getTypes()) {
|
||||
+ parameters.add(new Object[]{ slotType, item });
|
||||
+ }
|
||||
+ }
|
||||
+ return parameters;
|
||||
+ return parameters.stream();
|
||||
+ }
|
||||
+
|
||||
+ @Test
|
||||
+ public void test() {
|
||||
+ final Item nmsItem = CraftMagicNumbers.getItem(this.item);
|
||||
+ @ParameterizedTest
|
||||
+ @MethodSource("parameters")
|
||||
+ public void test(PlayerArmorChangeEvent.SlotType slotType, Material item) {
|
||||
+ final Item nmsItem = CraftMagicNumbers.getItem(item);
|
||||
+ final Equipable equipable = Equipable.get(new ItemStack(nmsItem));
|
||||
+ assertNotNull(this.item + " isn't equipable", equipable);
|
||||
+ final EquipmentSlot slot = switch (this.slotType) {
|
||||
+ assertNotNull(equipable, item + " isn't equipable");
|
||||
+ final EquipmentSlot slot = switch (slotType) {
|
||||
+ case HEAD -> EquipmentSlot.HEAD;
|
||||
+ case CHEST -> EquipmentSlot.CHEST;
|
||||
+ case LEGS -> EquipmentSlot.LEGS;
|
||||
+ case FEET -> EquipmentSlot.FEET;
|
||||
+ };
|
||||
+ assertEquals(this.item + " isn't set to the right slot", equipable.getEquipmentSlot(), slot);
|
||||
+ assertEquals(equipable.getEquipmentSlot(), slot, item + " isn't set to the right slot");
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/test/java/io/papermc/paper/inventory/item/MissingArmorSlotTypeMaterialTest.java b/src/test/java/io/papermc/paper/inventory/item/MissingArmorSlotTypeMaterialTest.java
|
||||
@@ -99,6 +93,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+import com.destroystokyo.paper.event.player.PlayerArmorChangeEvent;
|
||||
+import java.util.ArrayList;
|
||||
+import java.util.List;
|
||||
+import java.util.stream.Stream;
|
||||
+import net.minecraft.core.registries.BuiltInRegistries;
|
||||
+import net.minecraft.world.entity.EquipmentSlot;
|
||||
+import net.minecraft.world.item.Equipable;
|
||||
@@ -106,39 +101,32 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+import net.minecraft.world.item.ItemStack;
|
||||
+import org.bukkit.craftbukkit.util.CraftMagicNumbers;
|
||||
+import org.bukkit.support.AbstractTestingBase;
|
||||
+import org.junit.Test;
|
||||
+import org.junit.runner.RunWith;
|
||||
+import org.junit.runners.Parameterized;
|
||||
+import org.junit.jupiter.params.ParameterizedTest;
|
||||
+import org.junit.jupiter.params.provider.MethodSource;
|
||||
+
|
||||
+import static org.junit.Assert.assertTrue;
|
||||
+import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
+
|
||||
+/**
|
||||
+ * Test for {@link com.destroystokyo.paper.event.player.PlayerArmorChangeEvent.SlotType}
|
||||
+ */
|
||||
+@RunWith(Parameterized.class)
|
||||
+public class MissingArmorSlotTypeMaterialTest extends AbstractTestingBase {
|
||||
+
|
||||
+ @Parameterized.Parameter(0)
|
||||
+ public Equipable equipable;
|
||||
+
|
||||
+ @Parameterized.Parameter(1)
|
||||
+ public Item item;
|
||||
+
|
||||
+ @Parameterized.Parameters(name = "{1}")
|
||||
+ public static Iterable<Object[]> parameters() {
|
||||
+ @MethodSource("parameters")
|
||||
+ public static Stream<Object[]> parameters() {
|
||||
+ final List<Object[]> parameters = new ArrayList<>();
|
||||
+ for (final Item item : BuiltInRegistries.ITEM) {
|
||||
+ final Equipable equipable = Equipable.get(new ItemStack(item));
|
||||
+ if (equipable != null) {
|
||||
+ parameters.add(new Object[]{ equipable, item });
|
||||
+ parameters.add(new Object[]{equipable, item});
|
||||
+ }
|
||||
+ }
|
||||
+ return parameters;
|
||||
+ return parameters.stream();
|
||||
+ }
|
||||
+
|
||||
+ @Test
|
||||
+ public void test() {
|
||||
+ final EquipmentSlot equipmentSlot = this.equipable.getEquipmentSlot();
|
||||
+ @ParameterizedTest
|
||||
+ @MethodSource("parameters")
|
||||
+ public void test(Equipable equipable, Item item) {
|
||||
+ final EquipmentSlot equipmentSlot = equipable.getEquipmentSlot();
|
||||
+ PlayerArmorChangeEvent.SlotType slotType = switch (equipmentSlot) {
|
||||
+ case HEAD -> PlayerArmorChangeEvent.SlotType.HEAD;
|
||||
+ case CHEST -> PlayerArmorChangeEvent.SlotType.CHEST;
|
||||
@@ -147,7 +135,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
|
||||
+ default -> null;
|
||||
+ };
|
||||
+ if (slotType != null) {
|
||||
+ assertTrue("SlotType " + slotType + " doesn't include " + this.item, slotType.getTypes().contains(CraftMagicNumbers.getMaterial(this.item)));
|
||||
+ assertTrue(slotType.getTypes().contains(CraftMagicNumbers.getMaterial(item)), "SlotType " + slotType + " doesn't include " + item);
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
|
||||
Reference in New Issue
Block a user