[tests/event] Add some more tests for trigger-time args

This commit is contained in:
tobi-wan-kenobi 2020-04-04 08:44:41 +02:00
parent 52e5ad7b43
commit a43917594e
3 changed files with 25 additions and 6 deletions

View file

@ -2,15 +2,21 @@
__callbacks = {}
def register(event, callback, *args, **kwargs):
__callbacks.setdefault(event, []).append(
lambda: callback(*args, **kwargs)
)
cb = callback
if len(args) + len(kwargs) > 0:
print("registering lambda: {} {}".format(len(args), len(kwargs)))
cb = lambda: callback(*args, **kwargs)
__callbacks.setdefault(event, []).append(cb)
def clear():
__callbacks.clear()
def trigger(event):
def trigger(event, *args, **kwargs):
for callback in __callbacks.get(event, []):
callback()
if len(args) + len(kwargs) == 0:
callback()
else:
callback(*args, **kwargs)
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4