use of org.bukkit.event.TestEvent in project Bukkit by Bukkit.
the class PluginManagerTest method testSyncSameThread.
@Test
public void testSyncSameThread() {
final Event event = new TestEvent(false);
pm.callEvent(event);
}
use of org.bukkit.event.TestEvent in project Bukkit by Bukkit.
the class PluginManagerTest method testSyncLocked.
@Test
public void testSyncLocked() throws InterruptedException {
final Event event = new TestEvent(false);
Thread secondThread = new Thread(new Runnable() {
public void run() {
try {
synchronized (pm) {
pm.callEvent(event);
}
} catch (Throwable ex) {
store.value = ex;
}
}
});
secondThread.start();
secondThread.join();
if (store.value != null) {
throw new RuntimeException((Throwable) store.value);
}
}
use of org.bukkit.event.TestEvent in project Bukkit by Bukkit.
the class PluginManagerTest method testAsyncLocked.
@Test
public void testAsyncLocked() throws InterruptedException {
final Event event = new TestEvent(true);
Thread secondThread = new Thread(new Runnable() {
public void run() {
try {
synchronized (pm) {
pm.callEvent(event);
}
} catch (Throwable ex) {
store.value = ex;
}
}
});
secondThread.start();
secondThread.join();
assertThat(store.value, is(instanceOf(IllegalStateException.class)));
assertThat(event.getEventName() + " cannot be triggered asynchronously from inside synchronized code.", is(((Throwable) store.value).getMessage()));
}
use of org.bukkit.event.TestEvent in project Bukkit by Bukkit.
the class PluginManagerTest method testSyncUnlocked.
@Test
public void testSyncUnlocked() throws InterruptedException {
final Event event = new TestEvent(false);
Thread secondThread = new Thread(new Runnable() {
public void run() {
try {
pm.callEvent(event);
} catch (Throwable ex) {
store.value = ex;
}
}
});
secondThread.start();
secondThread.join();
if (store.value != null) {
throw new RuntimeException((Throwable) store.value);
}
}
use of org.bukkit.event.TestEvent in project Bukkit by Bukkit.
the class PluginManagerTest method testAsyncUnlocked.
@Test
public void testAsyncUnlocked() throws InterruptedException {
final Event event = new TestEvent(true);
Thread secondThread = new Thread(new Runnable() {
public void run() {
try {
pm.callEvent(event);
} catch (Throwable ex) {
store.value = ex;
}
}
});
secondThread.start();
secondThread.join();
if (store.value != null) {
throw new RuntimeException((Throwable) store.value);
}
}