diff options
author | Wesley Wolfe <weswolf@aol.com> | 2012-12-17 01:31:41 -0600 |
---|---|---|
committer | Wesley Wolfe <weswolf@aol.com> | 2012-12-17 01:31:41 -0600 |
commit | 78f48258d8ab491065498492588acc5287a6fb6c (patch) | |
tree | 11027439669a05c335fc6cb07c12a82b9c551f31 /src/test/java/org/bukkit/support | |
parent | d20d4dc43aaa74fba457c44994cda8180523c9db (diff) | |
download | craftbukkit-78f48258d8ab491065498492588acc5287a6fb6c.tar craftbukkit-78f48258d8ab491065498492588acc5287a6fb6c.tar.gz craftbukkit-78f48258d8ab491065498492588acc5287a6fb6c.tar.lz craftbukkit-78f48258d8ab491065498492588acc5287a6fb6c.tar.xz craftbukkit-78f48258d8ab491065498492588acc5287a6fb6c.zip |
Implement ItemFactory and ItemMeta values. Adds BUKKIT-15
Diffstat (limited to 'src/test/java/org/bukkit/support')
5 files changed, 141 insertions, 0 deletions
diff --git a/src/test/java/org/bukkit/support/AbstractTestingBase.java b/src/test/java/org/bukkit/support/AbstractTestingBase.java index ca14db9b..e04158d6 100644 --- a/src/test/java/org/bukkit/support/AbstractTestingBase.java +++ b/src/test/java/org/bukkit/support/AbstractTestingBase.java @@ -17,5 +17,8 @@ public abstract class AbstractTestingBase { @BeforeClass public static void setup() { StatisticList.a(); + DummyServer.setup(); + DummyPotions.setup(); + DummyEnchantments.setup(); } }
\ No newline at end of file diff --git a/src/test/java/org/bukkit/support/DummyEnchantments.java b/src/test/java/org/bukkit/support/DummyEnchantments.java new file mode 100644 index 00000000..5ed00a72 --- /dev/null +++ b/src/test/java/org/bukkit/support/DummyEnchantments.java @@ -0,0 +1,12 @@ +package org.bukkit.support; + +import net.minecraft.server.Enchantment; + +public class DummyEnchantments { + static { + Enchantment.byId.getClass(); + org.bukkit.enchantments.Enchantment.stopAcceptingRegistrations(); + } + + public static void setup() {} +} diff --git a/src/test/java/org/bukkit/support/DummyPotions.java b/src/test/java/org/bukkit/support/DummyPotions.java new file mode 100644 index 00000000..30666abd --- /dev/null +++ b/src/test/java/org/bukkit/support/DummyPotions.java @@ -0,0 +1,17 @@ +package org.bukkit.support; + +import net.minecraft.server.MobEffectList; + +import org.bukkit.craftbukkit.potion.CraftPotionBrewer; +import org.bukkit.potion.Potion; +import org.bukkit.potion.PotionEffectType; + +public class DummyPotions { + static { + Potion.setPotionBrewer(new CraftPotionBrewer()); + MobEffectList.BLINDNESS.getClass(); + PotionEffectType.stopAcceptingRegistrations(); + } + + public static void setup() {} +} diff --git a/src/test/java/org/bukkit/support/DummyServer.java b/src/test/java/org/bukkit/support/DummyServer.java new file mode 100644 index 00000000..e5215bb4 --- /dev/null +++ b/src/test/java/org/bukkit/support/DummyServer.java @@ -0,0 +1,79 @@ +package org.bukkit.support;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.util.HashMap;
+import java.util.logging.Logger;
+
+import org.bukkit.Bukkit;
+import org.bukkit.Server;
+import org.bukkit.craftbukkit.inventory.CraftItemFactory;
+import org.bukkit.craftbukkit.util.Versioning;
+
+public class DummyServer implements InvocationHandler {
+ private static interface MethodHandler {
+ Object handle(DummyServer server, Object[] args);
+ }
+ private static final HashMap<Method, MethodHandler> methods = new HashMap<Method, MethodHandler>();
+ static {
+ try {
+ methods.put(
+ Server.class.getMethod("getItemFactory"),
+ new MethodHandler() {
+ public Object handle(DummyServer server, Object[] args) {
+ return CraftItemFactory.instance();
+ }
+ }
+ );
+ methods.put(
+ Server.class.getMethod("getName"),
+ new MethodHandler() {
+ public Object handle(DummyServer server, Object[] args) {
+ return DummyServer.class.getName();
+ }
+ }
+ );
+ methods.put(
+ Server.class.getMethod("getVersion"),
+ new MethodHandler() {
+ public Object handle(DummyServer server, Object[] args) {
+ return DummyServer.class.getPackage().getImplementationVersion();
+ }
+ }
+ );
+ methods.put(
+ Server.class.getMethod("getBukkitVersion"),
+ new MethodHandler() {
+ public Object handle(DummyServer server, Object[] args) {
+ return Versioning.getBukkitVersion();
+ }
+ }
+ );
+ methods.put(
+ Server.class.getMethod("getLogger"),
+ new MethodHandler() {
+ final Logger logger = Logger.getLogger(DummyServer.class.getCanonicalName());
+ public Object handle(DummyServer server, Object[] args) {
+ return logger;
+ }
+ }
+ );
+ Bukkit.setServer(Proxy.getProxyClass(Server.class.getClassLoader(), Server.class).asSubclass(Server.class).getConstructor(InvocationHandler.class).newInstance(new DummyServer()));
+ } catch (Throwable t) {
+ throw new Error(t);
+ }
+ }
+
+ public static void setup() {}
+
+ private DummyServer() {};
+
+ public Object invoke(Object proxy, Method method, Object[] args) {
+ MethodHandler handler = methods.get(method);
+ if (handler != null) {
+ return handler.handle(this, args);
+ }
+ throw new UnsupportedOperationException(String.valueOf(method));
+ }
+}
diff --git a/src/test/java/org/bukkit/support/Matchers.java b/src/test/java/org/bukkit/support/Matchers.java new file mode 100644 index 00000000..b190c673 --- /dev/null +++ b/src/test/java/org/bukkit/support/Matchers.java @@ -0,0 +1,30 @@ +package org.bukkit.support; + +import org.hamcrest.BaseMatcher; +import org.hamcrest.Description; +import org.hamcrest.Matcher; + +public final class Matchers { + + private Matchers() {} + + public static <T> Matcher<T> sameHash(T value) { + return new SameHash<T>(value); + } + + static class SameHash<T> extends BaseMatcher<T> { + private final int expected; + + SameHash(T object) { + expected = object.hashCode(); + } + + public boolean matches(Object item) { + return item.hashCode() == expected; + } + + public void describeTo(Description description) { + description.appendValue(expected); + } + } +} |