summaryrefslogtreecommitdiffstats
path: root/src/test/java/org/bukkit/support
diff options
context:
space:
mode:
authorWesley Wolfe <weswolf@aol.com>2012-12-17 01:31:41 -0600
committerWesley Wolfe <weswolf@aol.com>2012-12-17 01:31:41 -0600
commit78f48258d8ab491065498492588acc5287a6fb6c (patch)
tree11027439669a05c335fc6cb07c12a82b9c551f31 /src/test/java/org/bukkit/support
parentd20d4dc43aaa74fba457c44994cda8180523c9db (diff)
downloadcraftbukkit-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')
-rw-r--r--src/test/java/org/bukkit/support/AbstractTestingBase.java3
-rw-r--r--src/test/java/org/bukkit/support/DummyEnchantments.java12
-rw-r--r--src/test/java/org/bukkit/support/DummyPotions.java17
-rw-r--r--src/test/java/org/bukkit/support/DummyServer.java79
-rw-r--r--src/test/java/org/bukkit/support/Matchers.java30
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);
+ }
+ }
+}