/tests/org/osflash/signals/RedispatchedEventTest.as

http://github.com/robertpenner/as3-signals · ActionScript · 51 lines · 42 code · 8 blank · 1 comment · 0 complexity · b46f4cfa211be551f7393eb2765d8627 MD5 · raw file

  1. package org.osflash.signals
  2. {
  3. import asunit.asserts.*;
  4. import asunit.framework.IAsync;
  5. import org.osflash.signals.events.GenericEvent;
  6. public class RedispatchedEventTest
  7. {
  8. [Inject]
  9. public var async:IAsync;
  10. public var completed:DeluxeSignal;
  11. protected var originalEvent:GenericEvent;
  12. [Before]
  13. public function setUp():void
  14. {
  15. completed = new DeluxeSignal(this);
  16. }
  17. [After]
  18. public function tearDown():void
  19. {
  20. completed.removeAll();
  21. completed = null;
  22. }
  23. //////
  24. [Test]
  25. public function dispatch_event_already_dispatched_should_clone_it():void
  26. {
  27. completed.add(async.add(redispatchEvent, 10));
  28. originalEvent = new GenericEvent();
  29. completed.dispatch(originalEvent);
  30. }
  31. private function redispatchEvent(e:GenericEvent):void
  32. {
  33. DeluxeSignal(e.signal).removeAll();
  34. assertSame(originalEvent, e);
  35. completed.add(async.add(check_redispatched_event_is_not_original, 10));
  36. completed.dispatch(originalEvent);
  37. }
  38. private function check_redispatched_event_is_not_original(e:GenericEvent):void
  39. {
  40. assertNotSame(originalEvent, e);
  41. }
  42. }
  43. }