kopia lustrzana https://github.com/micropython/micropython-lib
127 wiersze
3.2 KiB
Python
127 wiersze
3.2 KiB
Python
![]() |
# coding: utf-8
|
||
|
|
||
|
|
||
|
import unittest
|
||
|
|
||
|
from pymitter import EventEmitter
|
||
|
|
||
|
|
||
|
class AllTestCase(unittest.TestCase):
|
||
|
def __init__(self, *args, **kwargs):
|
||
|
super(AllTestCase, self).__init__(*args, **kwargs)
|
||
|
|
||
|
self.ee1 = EventEmitter()
|
||
|
self.ee2 = EventEmitter(wildcard=True)
|
||
|
self.ee3 = EventEmitter(wildcard=True, delimiter=":")
|
||
|
self.ee4 = EventEmitter(new_listener=True)
|
||
|
self.ee5 = EventEmitter(max_listeners=1)
|
||
|
|
||
|
def test_1_callback_usage(self):
|
||
|
stack = []
|
||
|
|
||
|
def handler(arg):
|
||
|
stack.append("1_callback_usage_" + arg)
|
||
|
|
||
|
self.ee1.on("1_callback_usage", handler)
|
||
|
|
||
|
self.ee1.emit("1_callback_usage", "foo")
|
||
|
self.assertTrue(stack[-1] == "1_callback_usage_foo")
|
||
|
|
||
|
def test_1_decorator_usage(self):
|
||
|
stack = []
|
||
|
|
||
|
@self.ee1.on("1_decorator_usage")
|
||
|
def handler(arg):
|
||
|
stack.append("1_decorator_usage_" + arg)
|
||
|
|
||
|
self.ee1.emit("1_decorator_usage", "bar")
|
||
|
self.assertTrue(stack[-1] == "1_decorator_usage_bar")
|
||
|
|
||
|
def test_1_ttl_on(self):
|
||
|
stack = []
|
||
|
|
||
|
@self.ee1.on("1_ttl_on", ttl=1)
|
||
|
def handler(arg):
|
||
|
stack.append("1_ttl_on_" + arg)
|
||
|
|
||
|
self.ee1.emit("1_ttl_on", "foo")
|
||
|
self.assertTrue(stack[-1] == "1_ttl_on_foo")
|
||
|
|
||
|
self.ee1.emit("1_ttl_on", "bar")
|
||
|
self.assertTrue(stack[-1] == "1_ttl_on_foo")
|
||
|
|
||
|
def test_1_ttl_once(self):
|
||
|
stack = []
|
||
|
|
||
|
@self.ee1.once("1_ttl_once")
|
||
|
def handler(arg):
|
||
|
stack.append("1_ttl_once_" + arg)
|
||
|
|
||
|
self.ee1.emit("1_ttl_once", "foo")
|
||
|
self.assertTrue(stack[-1] == "1_ttl_once_foo")
|
||
|
|
||
|
self.ee1.emit("1_ttl_once", "bar")
|
||
|
self.assertTrue(stack[-1] == "1_ttl_once_foo")
|
||
|
|
||
|
def test_2_on_all(self):
|
||
|
stack = []
|
||
|
|
||
|
@self.ee2.on("2_on_all.*")
|
||
|
def handler():
|
||
|
stack.append("2_on_all")
|
||
|
|
||
|
self.ee2.emit("2_on_all.foo")
|
||
|
self.assertTrue(stack[-1] == "2_on_all")
|
||
|
|
||
|
def test_2_emit_all(self):
|
||
|
stack = []
|
||
|
|
||
|
@self.ee2.on("2_emit_all.foo")
|
||
|
def handler():
|
||
|
stack.append("2_emit_all.foo")
|
||
|
|
||
|
self.ee2.emit("2_emit_all.*")
|
||
|
self.assertTrue(stack[-1] == "2_emit_all.foo")
|
||
|
|
||
|
def test_3_delimiter(self):
|
||
|
stack = []
|
||
|
|
||
|
@self.ee3.on("3_delimiter:*")
|
||
|
def handler():
|
||
|
stack.append("3_delimiter")
|
||
|
|
||
|
self.ee3.emit("3_delimiter:foo")
|
||
|
self.assertTrue(stack[-1] == "3_delimiter")
|
||
|
|
||
|
def test_4_new(self):
|
||
|
stack = []
|
||
|
|
||
|
@self.ee4.on("new_listener")
|
||
|
def handler(func, event=None):
|
||
|
stack.append((func, event))
|
||
|
|
||
|
def newhandler():
|
||
|
pass
|
||
|
|
||
|
self.ee4.on("4_new", newhandler)
|
||
|
|
||
|
self.assertTrue(stack[-1] == (newhandler, "4_new"))
|
||
|
|
||
|
def test_5_max(self):
|
||
|
stack = []
|
||
|
|
||
|
@self.ee5.on("5_max")
|
||
|
def handler1():
|
||
|
stack.append("5_max_1")
|
||
|
|
||
|
@self.ee5.on("5_max")
|
||
|
def handler2():
|
||
|
stack.append("5_max_2")
|
||
|
|
||
|
self.ee5.emit("5_max")
|
||
|
self.assertTrue(stack[-1] == "5_max_1")
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
unittest.main()
|