def test_dispatch_eat(self, loop, evt):
        dispatcher = event.EventDispatcher()
        called = [False] * 3

        @event.event(evt.name, priority=1)
        def corofunc():
            called[0] = True

        @event.event(evt.name, priority=0)
        async def corofunc2():
            called[1] = True
            return event.ReturnValue(eat=True)

        @event.event(evt.name, priority=-1)
        async def corofunc3():
            called[2] = True

        dispatcher.register(event.HandlerInstance.from_handler(corofunc))
        dispatcher.register(event.HandlerInstance.from_handler(corofunc2))
        dispatcher.register(event.HandlerInstance.from_handler(corofunc3))
        result = loop.run_until_complete(dispatcher.dispatch(evt))
        assert result.eat
        assert called == [True, True, False]