async def emit_async(): emitter = EventEmitter() emitted = [] async def listener(value): emitted.append(value) emitter.add_listener("foo", listener) emitter.emit("foo", "bar") emitter.emit("bar", "baz") await sleep(0) assert emitted == ["bar"]
def emit_sync(): emitter = EventEmitter() emitted = [] def listener(value): emitted.append(value) emitter.add_listener("foo", listener) assert emitter.emit("foo", "bar") is True assert emitted == ["bar"] assert emitter.emit("bar", "baz") is False assert emitted == ["bar"]
async def emit_async(): emitter = EventEmitter() emitted = [] async def listener(value): emitted.append(value) emitter.add_listener('foo', listener) emitter.emit('foo', 'bar') emitter.emit('bar', 'baz') await sleep(0) assert emitted == ['bar']
def emit_sync(): emitter = EventEmitter() emitted = [] def listener(value): emitted.append(value) emitter.add_listener('foo', listener) assert emitter.emit('foo', 'bar') is True assert emitted == ['bar'] assert emitter.emit('bar', 'baz') is False assert emitted == ['bar']
def add_and_remove_listeners(): emitter = EventEmitter() def listener1(value): pass def listener2(value): pass emitter.add_listener("foo", listener1) emitter.add_listener("foo", listener2) emitter.add_listener("bar", listener1) assert emitter.listeners["foo"] == [listener1, listener2] assert emitter.listeners["bar"] == [listener1] emitter.remove_listener("foo", listener1) assert emitter.listeners["foo"] == [listener2] assert emitter.listeners["bar"] == [listener1] emitter.remove_listener("foo", listener2) assert emitter.listeners["foo"] == [] assert emitter.listeners["bar"] == [listener1] emitter.remove_listener("bar", listener1) assert emitter.listeners["bar"] == []
def add_and_remove_listeners(): emitter = EventEmitter() def listener1(value): pass def listener2(value): pass emitter.add_listener('foo', listener1) emitter.add_listener('foo', listener2) emitter.add_listener('bar', listener1) assert emitter.listeners['foo'] == [listener1, listener2] assert emitter.listeners['bar'] == [listener1] emitter.remove_listener('foo', listener1) assert emitter.listeners['foo'] == [listener2] assert emitter.listeners['bar'] == [listener1] emitter.remove_listener('foo', listener2) assert emitter.listeners['foo'] == [] assert emitter.listeners['bar'] == [listener1] emitter.remove_listener('bar', listener1) assert emitter.listeners['bar'] == []