Search in sources :

Example 16 with Event

use of org.bukkit.event.Event 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()));
}
Also used : TestEvent(org.bukkit.event.TestEvent) Event(org.bukkit.event.Event) TestEvent(org.bukkit.event.TestEvent) Test(org.junit.Test)

Example 17 with Event

use of org.bukkit.event.Event 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);
    }
}
Also used : TestEvent(org.bukkit.event.TestEvent) Event(org.bukkit.event.Event) TestEvent(org.bukkit.event.TestEvent) Test(org.junit.Test)

Example 18 with Event

use of org.bukkit.event.Event 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);
    }
}
Also used : TestEvent(org.bukkit.event.TestEvent) Event(org.bukkit.event.Event) TestEvent(org.bukkit.event.TestEvent) Test(org.junit.Test)

Example 19 with Event

use of org.bukkit.event.Event 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);
    }
}
Also used : TestEvent(org.bukkit.event.TestEvent) Event(org.bukkit.event.Event) TestEvent(org.bukkit.event.TestEvent) Test(org.junit.Test)

Example 20 with Event

use of org.bukkit.event.Event in project Glowstone by GlowstoneMC.

the class GlowPlayerTest method testGiveExp.

@Test
public void testGiveExp() {
    entity.giveExp(20);
    verify(eventFactory, times(2)).callEvent(argThat(input -> {
        if (input instanceof PlayerExpChangeEvent) {
            PlayerExpChangeEvent event = (PlayerExpChangeEvent) input;
            assertEquals(20, event.getAmount());
            return true;
        } else if (input instanceof PlayerLevelChangeEvent) {
            PlayerLevelChangeEvent event = (PlayerLevelChangeEvent) input;
            assertSame(entity, event.getPlayer());
            assertEquals(2, event.getNewLevel());
            assertEquals(1, event.getOldLevel());
            return true;
        }
        return false;
    }));
    assertEquals(2, entity.getLevel());
    assertEquals(0.17, entity.getExp(), 0.1);
    assertEquals(20, entity.getTotalExperience());
}
Also used : GlowBlock(net.glowstone.block.GlowBlock) ArgumentMatchers.argThat(org.mockito.ArgumentMatchers.argThat) Statistic(org.bukkit.Statistic) PlayerStatisticIncrementEvent(org.bukkit.event.player.PlayerStatisticIncrementEvent) Event(org.bukkit.event.Event) BlockFace(org.bukkit.block.BlockFace) MaterialValueManager(net.glowstone.block.MaterialValueManager) Location(org.bukkit.Location) PlayerReader(net.glowstone.io.PlayerDataService.PlayerReader) Material(org.bukkit.Material) Bukkit(org.bukkit.Bukkit) GlowScheduler(net.glowstone.scheduler.GlowScheduler) UUID(java.util.UUID) EntityType(org.bukkit.entity.EntityType) ItemStack(org.bukkit.inventory.ItemStack) AdditionalAnswers.returnsFirstArg(org.mockito.AdditionalAnswers.returnsFirstArg) List(java.util.List) PlayerExpChangeEvent(org.bukkit.event.player.PlayerExpChangeEvent) ChunkLock(net.glowstone.chunk.ChunkManager.ChunkLock) UuidListFile(net.glowstone.util.bans.UuidListFile) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) Cancellable(org.bukkit.event.Cancellable) Mock(org.mockito.Mock) RunWith(org.junit.runner.RunWith) InventoryUtil(net.glowstone.util.InventoryUtil) Assert.assertSame(org.junit.Assert.assertSame) Answer(org.mockito.stubbing.Answer) ImmutableList(com.google.common.collect.ImmutableList) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) PlayerStatisticIoService(net.glowstone.io.PlayerStatisticIoService) GlowSession(net.glowstone.net.GlowSession) PowerMockRunner(org.powermock.modules.junit4.PowerMockRunner) PowerMockito(org.powermock.api.mockito.PowerMockito) ArgumentMatchers.anyInt(org.mockito.ArgumentMatchers.anyInt) Nullable(javax.annotation.Nullable) Before(org.junit.Before) RETURNS_SMART_NULLS(org.mockito.Answers.RETURNS_SMART_NULLS) EventFactory(net.glowstone.EventFactory) GlowPlayerProfile(net.glowstone.entity.meta.profile.GlowPlayerProfile) Test(org.junit.Test) Mockito.times(org.mockito.Mockito.times) Mockito.when(org.mockito.Mockito.when) File(java.io.File) WorldScheduler(net.glowstone.scheduler.WorldScheduler) Mockito.verify(org.mockito.Mockito.verify) Mockito(org.mockito.Mockito) Mockito.never(org.mockito.Mockito.never) Assert.assertNull(org.junit.Assert.assertNull) BuiltinMaterialValueManager(net.glowstone.block.BuiltinMaterialValueManager) ChunkManager(net.glowstone.chunk.ChunkManager) PlayerLevelChangeEvent(org.bukkit.event.player.PlayerLevelChangeEvent) SessionRegistry(net.glowstone.net.SessionRegistry) Collections(java.util.Collections) GlowFishingHook(net.glowstone.entity.passive.GlowFishingHook) Assert.assertEquals(org.junit.Assert.assertEquals) PluginManager(org.bukkit.plugin.PluginManager) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) PlayerLevelChangeEvent(org.bukkit.event.player.PlayerLevelChangeEvent) PlayerExpChangeEvent(org.bukkit.event.player.PlayerExpChangeEvent) PrepareForTest(org.powermock.core.classloader.annotations.PrepareForTest) Test(org.junit.Test)

Aggregations

Event (org.bukkit.event.Event)26 Listener (org.bukkit.event.Listener)8 Test (org.junit.Test)7 EventException (org.bukkit.event.EventException)6 EventHandler (org.bukkit.event.EventHandler)6 EventExecutor (org.bukkit.plugin.EventExecutor)6 PluginManager (org.bukkit.plugin.PluginManager)6 RegisteredListener (org.bukkit.plugin.RegisteredListener)5 Cancellable (org.bukkit.event.Cancellable)4 TestEvent (org.bukkit.event.TestEvent)4 Field (java.lang.reflect.Field)3 Map (java.util.Map)3 Set (java.util.Set)3 EventPriority (org.bukkit.event.EventPriority)3 File (java.io.File)2 Method (java.lang.reflect.Method)2 List (java.util.List)2 ConquerFaction (me.andrew28.addons.conquer.api.ConquerFaction)2 ConquerPlayer (me.andrew28.addons.conquer.api.ConquerPlayer)2 ConquerFactionCreateEvent (me.andrew28.addons.conquer.api.events.ConquerFactionCreateEvent)2