From c6691e4b99fa5392511d7d2bed4430149f18ccfa Mon Sep 17 00:00:00 2001 From: Cotton Hou Date: Thu, 9 Jun 2011 16:55:33 +0800 Subject: [PATCH] Fix the checking lack for event class type --- .../signals/natives/NativeMappedSignal.as | 2 ++ .../osflash/signals/natives/FakeMouseEvent.as | 18 ++++++++++++++++++ .../NativeMappedSignalFunctionArgTest.as | 11 +++++++++++ 3 files changed, 31 insertions(+) create mode 100644 tests/org/osflash/signals/natives/FakeMouseEvent.as diff --git a/src/org/osflash/signals/natives/NativeMappedSignal.as b/src/org/osflash/signals/natives/NativeMappedSignal.as index 5154fc5..c778c18 100644 --- a/src/org/osflash/signals/natives/NativeMappedSignal.as +++ b/src/org/osflash/signals/natives/NativeMappedSignal.as @@ -144,10 +144,12 @@ package org.osflash.signals.natives var mappedData:Object = mapEvent(valueObjects[0] as Event); dispatchMappedData(mappedData); } + /* else { super.dispatch.apply(null, valueObjects); } + */ } private function areValueObjectValidForMapping(valueObjects:Array):Boolean diff --git a/tests/org/osflash/signals/natives/FakeMouseEvent.as b/tests/org/osflash/signals/natives/FakeMouseEvent.as new file mode 100644 index 0000000..fa29373 --- /dev/null +++ b/tests/org/osflash/signals/natives/FakeMouseEvent.as @@ -0,0 +1,18 @@ +package org.osflash.signals.natives +{ + +import flash.events.Event; + + +public class FakeMouseEvent extends Event +{ + + public static const CLICK:String = "click"; + + public function FakeMouseEvent (type:String) + { + super(type); + } +} +} + diff --git a/tests/org/osflash/signals/natives/NativeMappedSignalFunctionArgTest.as b/tests/org/osflash/signals/natives/NativeMappedSignalFunctionArgTest.as index 48d3006..7f237a0 100644 --- a/tests/org/osflash/signals/natives/NativeMappedSignalFunctionArgTest.as +++ b/tests/org/osflash/signals/natives/NativeMappedSignalFunctionArgTest.as @@ -115,6 +115,17 @@ package org.osflash.signals.natives dispatchTestEvent(); } + [Test] + public function shouldnt_callback_during_checking_of_event_class_type ():void + { + signalMappingToEventType.add(function (value:String):void + { + fail("should fail"); + }); + + sprite.dispatchEvent(new FakeMouseEvent(FakeMouseEvent.CLICK)); + } + private function checkMappedEventTypeArgument(argument:String):void { assertSame(EventType, argument);