/tests/core/test_event_serialization.py

https://bitbucket.org/prologic/circuits/ · Python · 43 lines · 27 code · 11 blank · 5 comment · 1 complexity · b2138eaa88e592be8564465b92ef9f71 MD5 · raw file

  1. # Module: test_event_serialization
  2. # Date: 13th February 2010
  3. # Author: James Mills, prologic at shortcircuit dot net dot au
  4. """Event Serialization Tests"""
  5. from pickle import dumps, loads
  6. from circuits import Event, Component
  7. class Test(Event):
  8. """Test Event"""
  9. success = ("test_successful",)
  10. class App(Component):
  11. def test(self):
  12. return "Hello World!"
  13. def test():
  14. app = App()
  15. while app: app.flush()
  16. e = Test()
  17. app.fire(e)
  18. app.flush()
  19. s = dumps(e, -1)
  20. x = loads(s)
  21. assert e == x
  22. assert hasattr(x, "args")
  23. assert hasattr(x, "kwargs")
  24. assert hasattr(x, "channel")
  25. assert hasattr(x, "target")
  26. assert hasattr(x, "success")
  27. assert hasattr(x, "failure")
  28. assert hasattr(x, "filter")
  29. assert hasattr(x, "start")
  30. assert hasattr(x, "end")
  31. assert hasattr(x, "value")
  32. assert hasattr(x, "source")