From d7deaf5e000f3b1f69e56699c75fdcaf75fd3a51 Mon Sep 17 00:00:00 2001 From: David Wendt Date: Thu, 29 Apr 2021 23:12:58 -0400 Subject: [PATCH] tests: Add currently-failing tests for the `SimpleButton` constructor and order-of-events. --- .../simplebutton_constr/DownButtonShape.as | 10 ++++ .../simplebutton_constr/HitButtonShape.as | 10 ++++ .../simplebutton_constr/OverButtonShape.as | 10 ++++ .../avm2/simplebutton_constr/UpButtonShape.as | 10 ++++ .../swfs/avm2/simplebutton_constr/output.txt | 43 ++++++++++++++ .../swfs/avm2/simplebutton_constr/test.fla | Bin 0 -> 10975 bytes .../swfs/avm2/simplebutton_constr/test.swf | Bin 0 -> 2240 bytes .../DownButtonShape.as | 10 ++++ .../EventWatcher.as | 37 ++++++++++++ .../HitButtonShape.as | 10 ++++ .../OverButtonShape.as | 10 ++++ .../UpButtonShape.as | 10 ++++ .../output.txt | 55 ++++++++++++++++++ .../simplebutton_constr_childevents/test.fla | Bin 0 -> 11037 bytes .../simplebutton_constr_childevents/test.swf | Bin 0 -> 2795 bytes tests/tests/regression_tests.rs | 2 + 16 files changed, 217 insertions(+) create mode 100644 core/tests/swfs/avm2/simplebutton_constr/DownButtonShape.as create mode 100644 core/tests/swfs/avm2/simplebutton_constr/HitButtonShape.as create mode 100644 core/tests/swfs/avm2/simplebutton_constr/OverButtonShape.as create mode 100644 core/tests/swfs/avm2/simplebutton_constr/UpButtonShape.as create mode 100644 core/tests/swfs/avm2/simplebutton_constr/output.txt create mode 100644 core/tests/swfs/avm2/simplebutton_constr/test.fla create mode 100644 core/tests/swfs/avm2/simplebutton_constr/test.swf create mode 100644 core/tests/swfs/avm2/simplebutton_constr_childevents/DownButtonShape.as create mode 100644 core/tests/swfs/avm2/simplebutton_constr_childevents/EventWatcher.as create mode 100644 core/tests/swfs/avm2/simplebutton_constr_childevents/HitButtonShape.as create mode 100644 core/tests/swfs/avm2/simplebutton_constr_childevents/OverButtonShape.as create mode 100644 core/tests/swfs/avm2/simplebutton_constr_childevents/UpButtonShape.as create mode 100644 core/tests/swfs/avm2/simplebutton_constr_childevents/output.txt create mode 100644 core/tests/swfs/avm2/simplebutton_constr_childevents/test.fla create mode 100644 core/tests/swfs/avm2/simplebutton_constr_childevents/test.swf diff --git a/core/tests/swfs/avm2/simplebutton_constr/DownButtonShape.as b/core/tests/swfs/avm2/simplebutton_constr/DownButtonShape.as new file mode 100644 index 000000000..ad7e24885 --- /dev/null +++ b/core/tests/swfs/avm2/simplebutton_constr/DownButtonShape.as @@ -0,0 +1,10 @@ +package { + import flash.display.MovieClip + + public class DownButtonShape extends MovieClip { + public function DownButtonShape() { + trace("//Constructed DownButtonShape (", this.name, ")!"); + } + } + +} diff --git a/core/tests/swfs/avm2/simplebutton_constr/HitButtonShape.as b/core/tests/swfs/avm2/simplebutton_constr/HitButtonShape.as new file mode 100644 index 000000000..de6de62bf --- /dev/null +++ b/core/tests/swfs/avm2/simplebutton_constr/HitButtonShape.as @@ -0,0 +1,10 @@ +package { + import flash.display.MovieClip + + public class HitButtonShape extends MovieClip { + public function HitButtonShape() { + trace("//Constructed HitButtonShape (", this.name, ")!"); + } + } + +} diff --git a/core/tests/swfs/avm2/simplebutton_constr/OverButtonShape.as b/core/tests/swfs/avm2/simplebutton_constr/OverButtonShape.as new file mode 100644 index 000000000..9e7579bca --- /dev/null +++ b/core/tests/swfs/avm2/simplebutton_constr/OverButtonShape.as @@ -0,0 +1,10 @@ +package { + import flash.display.MovieClip + + public class OverButtonShape extends MovieClip { + public function OverButtonShape() { + trace("//Constructed OverButtonShape (", this.name, ")!"); + } + } + +} diff --git a/core/tests/swfs/avm2/simplebutton_constr/UpButtonShape.as b/core/tests/swfs/avm2/simplebutton_constr/UpButtonShape.as new file mode 100644 index 000000000..d6de48de6 --- /dev/null +++ b/core/tests/swfs/avm2/simplebutton_constr/UpButtonShape.as @@ -0,0 +1,10 @@ +package { + import flash.display.MovieClip + + public class UpButtonShape extends MovieClip { + public function UpButtonShape() { + trace("//Constructed UpButtonShape (", this.name, ")!"); + } + } + +} diff --git a/core/tests/swfs/avm2/simplebutton_constr/output.txt b/core/tests/swfs/avm2/simplebutton_constr/output.txt new file mode 100644 index 000000000..4935449d5 --- /dev/null +++ b/core/tests/swfs/avm2/simplebutton_constr/output.txt @@ -0,0 +1,43 @@ +//var my_button = new SimpleButton(); +//this.addChild(my_button); +//my_button +[object SimpleButton] +//my_button.upState +null +//my_button.overState +null +//my_button.downState +null +//my_button.hitTestState +null +//my_button.upState = new UpButtonShape(); +//Constructed UpButtonShape ( instance2 )! +//Up Button Shape frame 1 +//my_button.overState = new OverButtonShape(); +//Constructed OverButtonShape ( instance4 )! +//my_button.downState = new DownButtonShape(); +//Constructed DownButtonShape ( instance6 )! +//my_button.hitTestState = new HitButtonShape(); +//Constructed HitButtonShape ( instance8 )! +//my_button.upState +[object UpButtonShape] +// numChildren: 1 +[object Shape] +//my_button.overState +[object OverButtonShape] +// numChildren: 1 +[object Shape] +//my_button.downState +[object DownButtonShape] +// numChildren: 1 +[object Shape] +//my_button.hitTestState +[object HitButtonShape] +// numChildren: 1 +[object Shape] +//Down Button Shape frame 1 +//Hit Button Shape frame 1 +//Hit Button Shape Frame 2 +//Down Button Shape Frame 2 +//Over Button Shape Frame 2 +//Up Button Shape Frame 2 diff --git a/core/tests/swfs/avm2/simplebutton_constr/test.fla b/core/tests/swfs/avm2/simplebutton_constr/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..ec65662aa7082c6cb91698e8f0bc2113e9b08d31 GIT binary patch literal 10975 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 Oxo`jX(|-YcXTj=5G=?1j literal 0 HcmV?d00001 diff --git a/core/tests/swfs/avm2/simplebutton_constr_childevents/DownButtonShape.as b/core/tests/swfs/avm2/simplebutton_constr_childevents/DownButtonShape.as new file mode 100644 index 000000000..2e6badf59 --- /dev/null +++ b/core/tests/swfs/avm2/simplebutton_constr_childevents/DownButtonShape.as @@ -0,0 +1,10 @@ +package { + import flash.display.MovieClip + + public class DownButtonShape extends EventWatcher { + public function DownButtonShape() { + trace("//Constructed DownButtonShape (", this.name, ")!"); + } + } + +} diff --git a/core/tests/swfs/avm2/simplebutton_constr_childevents/EventWatcher.as b/core/tests/swfs/avm2/simplebutton_constr_childevents/EventWatcher.as new file mode 100644 index 000000000..41a7ad872 --- /dev/null +++ b/core/tests/swfs/avm2/simplebutton_constr_childevents/EventWatcher.as @@ -0,0 +1,37 @@ +package { + import flash.display.MovieClip; + import flash.events.Event; + + public class EventWatcher extends MovieClip { + public function EventWatcher() { + super(); + this.setup(); + } + + function trace_event(event: Event) { + trace(this.name + ":" + event); + } + + public function setup() { + this.addEventListener(Event.ENTER_FRAME, this.trace_event); + this.addEventListener(Event.EXIT_FRAME, this.trace_event); + this.addEventListener(Event.ADDED, this.trace_event); + this.addEventListener(Event.ADDED_TO_STAGE, this.trace_event); + this.addEventListener(Event.FRAME_CONSTRUCTED, this.trace_event); + this.addEventListener(Event.REMOVED, this.trace_event); + this.addEventListener(Event.REMOVED_FROM_STAGE, this.trace_event); + this.addEventListener(Event.RENDER, this.trace_event); + } + + public function destroy() { + this.removeEventListener(Event.ENTER_FRAME, this.trace_event); + this.removeEventListener(Event.EXIT_FRAME, this.trace_event); + this.removeEventListener(Event.ADDED, this.trace_event); + this.removeEventListener(Event.ADDED_TO_STAGE, this.trace_event); + this.removeEventListener(Event.FRAME_CONSTRUCTED, this.trace_event); + this.removeEventListener(Event.REMOVED, this.trace_event); + this.removeEventListener(Event.REMOVED_FROM_STAGE, this.trace_event); + this.removeEventListener(Event.RENDER, this.trace_event); + } + } +} \ No newline at end of file diff --git a/core/tests/swfs/avm2/simplebutton_constr_childevents/HitButtonShape.as b/core/tests/swfs/avm2/simplebutton_constr_childevents/HitButtonShape.as new file mode 100644 index 000000000..23e69c8c6 --- /dev/null +++ b/core/tests/swfs/avm2/simplebutton_constr_childevents/HitButtonShape.as @@ -0,0 +1,10 @@ +package { + import flash.display.MovieClip + + public class HitButtonShape extends EventWatcher { + public function HitButtonShape() { + trace("//Constructed HitButtonShape (", this.name, ")!"); + } + } + +} diff --git a/core/tests/swfs/avm2/simplebutton_constr_childevents/OverButtonShape.as b/core/tests/swfs/avm2/simplebutton_constr_childevents/OverButtonShape.as new file mode 100644 index 000000000..965575ad0 --- /dev/null +++ b/core/tests/swfs/avm2/simplebutton_constr_childevents/OverButtonShape.as @@ -0,0 +1,10 @@ +package { + import flash.display.MovieClip + + public class OverButtonShape extends EventWatcher { + public function OverButtonShape() { + trace("//Constructed OverButtonShape (", this.name, ")!"); + } + } + +} diff --git a/core/tests/swfs/avm2/simplebutton_constr_childevents/UpButtonShape.as b/core/tests/swfs/avm2/simplebutton_constr_childevents/UpButtonShape.as new file mode 100644 index 000000000..66cf84e1d --- /dev/null +++ b/core/tests/swfs/avm2/simplebutton_constr_childevents/UpButtonShape.as @@ -0,0 +1,10 @@ +package { + import flash.display.MovieClip + + public class UpButtonShape extends EventWatcher { + public function UpButtonShape() { + trace("//Constructed UpButtonShape (", this.name, ")!"); + } + } + +} diff --git a/core/tests/swfs/avm2/simplebutton_constr_childevents/output.txt b/core/tests/swfs/avm2/simplebutton_constr_childevents/output.txt new file mode 100644 index 000000000..f5ead47b0 --- /dev/null +++ b/core/tests/swfs/avm2/simplebutton_constr_childevents/output.txt @@ -0,0 +1,55 @@ +//var my_button = new SimpleButton(); +//this.addChild(my_button); +//my_button +[object SimpleButton] , instance1 +//my_button.upState +//my_button.overState +//my_button.downState +//my_button.hitTestState +//my_button.upState = new UpButtonShape(); +//Constructed UpButtonShape ( instance2 )! +instance2:[Event type="added" bubbles=true cancelable=false eventPhase=2] +instance2:[Event type="addedToStage" bubbles=false cancelable=false eventPhase=2] +instance2:[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2] +//Up Button Shape frame 1 +instance2:[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2] +//my_button.overState = new OverButtonShape(); +//Constructed OverButtonShape ( instance4 )! +//my_button.downState = new DownButtonShape(); +//Constructed DownButtonShape ( instance6 )! +//my_button.hitTestState = new HitButtonShape(); +//Constructed HitButtonShape ( instance8 )! +//my_button.upState +[object UpButtonShape] , instance2 +// numChildren: 1 +[object Shape] , instance3 +//my_button.overState +[object OverButtonShape] , instance4 +// numChildren: 1 +[object Shape] , instance5 +//my_button.downState +[object DownButtonShape] , instance6 +// numChildren: 1 +[object Shape] , instance7 +//my_button.hitTestState +[object HitButtonShape] , instance8 +// numChildren: 1 +[object Shape] , instance9 +//Down Button Shape frame 1 +//Hit Button Shape frame 1 +instance2:[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2] +instance4:[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2] +instance6:[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2] +instance8:[Event type="exitFrame" bubbles=false cancelable=false eventPhase=2] +instance2:[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2] +instance4:[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2] +instance6:[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2] +instance8:[Event type="enterFrame" bubbles=false cancelable=false eventPhase=2] +instance2:[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2] +instance4:[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2] +instance6:[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2] +instance8:[Event type="frameConstructed" bubbles=false cancelable=false eventPhase=2] +//Hit Button Shape Frame 2 +//Down Button Shape Frame 2 +//Over Button Shape Frame 2 +//Up Button Shape Frame 2 diff --git a/core/tests/swfs/avm2/simplebutton_constr_childevents/test.fla b/core/tests/swfs/avm2/simplebutton_constr_childevents/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..380507d989f1fd46275c4bb4bd6b7dbf2f0fef1b GIT binary patch literal 11037 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 YDhe>*#QC8lMFZSGfm0a#9RTqE081Yhj{pDw literal 0 HcmV?d00001 diff --git a/core/tests/swfs/avm2/simplebutton_constr_childevents/test.swf b/core/tests/swfs/avm2/simplebutton_constr_childevents/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..09c89c428b4e109e1f8dd3bfaf1af5e2c6bad228 GIT binary patch literal 2795 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 literal 0 HcmV?d00001 diff --git a/tests/tests/regression_tests.rs b/tests/tests/regression_tests.rs index 9d430f519..555c45fec 100644 --- a/tests/tests/regression_tests.rs +++ b/tests/tests/regression_tests.rs @@ -575,6 +575,8 @@ swf_tests! { (as3_simplebutton_structure, "avm2/simplebutton_structure", 2), (as3_simplebutton_childevents, "avm2/simplebutton_childevents", 2), (as3_simplebutton_childevents_nested, "avm2/simplebutton_childevents_nested", 2), + (as3_simplebutton_constr, "avm2/simplebutton_constr", 2), + (as3_simplebutton_constr_childevents, "avm2/simplebutton_constr_childevents", 2), } // TODO: These tests have some inaccuracies currently, so we use approx_eq to test that numeric values are close enough.