From 59d735a034a23edb4e355eb915a9706bdc8bb1a4 Mon Sep 17 00:00:00 2001 From: David Wendt Date: Thu, 2 Dec 2021 18:28:11 -0500 Subject: [PATCH] tests: Add a test for `MouseEvent.stageX`/`stageY` --- tests/tests/regression_tests.rs | 1 + .../swfs/avm2/mouseevent_constr/output.txt | 2 - .../swfs/avm2/mouseevent_stagexy/Test.as | 36 ++++++++++++++++++ .../swfs/avm2/mouseevent_stagexy/output.txt | 23 +++++++++++ .../swfs/avm2/mouseevent_stagexy/test.fla | Bin 0 -> 4068 bytes .../swfs/avm2/mouseevent_stagexy/test.swf | Bin 0 -> 1311 bytes 6 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 tests/tests/swfs/avm2/mouseevent_stagexy/Test.as create mode 100644 tests/tests/swfs/avm2/mouseevent_stagexy/output.txt create mode 100644 tests/tests/swfs/avm2/mouseevent_stagexy/test.fla create mode 100644 tests/tests/swfs/avm2/mouseevent_stagexy/test.swf diff --git a/tests/tests/regression_tests.rs b/tests/tests/regression_tests.rs index 7efa8a7f6..789264be2 100644 --- a/tests/tests/regression_tests.rs +++ b/tests/tests/regression_tests.rs @@ -332,6 +332,7 @@ swf_tests! { (as3_lshift, "avm2/lshift", 1), (as3_modulo, "avm2/modulo", 1), (as3_mouseevent_constr, "avm2/mouseevent_constr", 1), + (as3_mouseevent_stagexy, "avm2/mouseevent_stagexy", 1), (as3_movieclip_constr, "avm2/movieclip_constr", 1), (as3_movieclip_currentlabels, "avm2/movieclip_currentlabels", 5), (as3_movieclip_currentscene, "avm2/movieclip_currentscene", 5), diff --git a/tests/tests/swfs/avm2/mouseevent_constr/output.txt b/tests/tests/swfs/avm2/mouseevent_constr/output.txt index c6dd83002..029e69685 100644 --- a/tests/tests/swfs/avm2/mouseevent_constr/output.txt +++ b/tests/tests/swfs/avm2/mouseevent_constr/output.txt @@ -1,5 +1,3 @@ -Attempting to launch and connect to Player using URL I:\Code\ruffle\tests\tests\swfs\avm2\mouseevent_constr\test.swf -[SWF] I:\Code\ruffle\tests\tests\swfs\avm2\mouseevent_constr\test.swf - 1991 bytes after decompression /// var evt = new MouseEvent('FakeEvent'); /// evt.type FakeEvent diff --git a/tests/tests/swfs/avm2/mouseevent_stagexy/Test.as b/tests/tests/swfs/avm2/mouseevent_stagexy/Test.as new file mode 100644 index 000000000..2d6d9ab4d --- /dev/null +++ b/tests/tests/swfs/avm2/mouseevent_stagexy/Test.as @@ -0,0 +1,36 @@ +package { + import flash.display.MovieClip; + import flash.events.MouseEvent; + import flash.events.Event; + + public class Test extends MovieClip { + function Test() { + this.addEventListener("FakeEvent", this.fake_event_listener); + + trace("/// (dispatching MouseEvent at 5.0, 1.5...)"); + this.dispatchEvent(new MouseEvent("FakeEvent", false, false, 5.0, 1.5)); + + this.x = 32; + this.y = 16; + + trace("/// (dispatching MouseEvent at 5.0, 1.5...)"); + this.dispatchEvent(new MouseEvent("FakeEvent", false, false, 5.0, 1.5)); + } + + public function fake_event_listener(evt: Event) { + if (evt is MouseEvent) { + assert_event(evt as MouseEvent); + } + } + } +} + +import flash.events.MouseEvent; + +function assert_event(evt: MouseEvent) { + trace("/// evt.stageX"); + trace(evt.stageX); + + trace("/// evt.stageY"); + trace(evt.stageY); +} \ No newline at end of file diff --git a/tests/tests/swfs/avm2/mouseevent_stagexy/output.txt b/tests/tests/swfs/avm2/mouseevent_stagexy/output.txt new file mode 100644 index 000000000..49e9d79d5 --- /dev/null +++ b/tests/tests/swfs/avm2/mouseevent_stagexy/output.txt @@ -0,0 +1,23 @@ +/// (dispatching MouseEvent at 5.0, 1.5...) +/// evt.stageX +5 +/// evt.stageY +1.5 +/// (dispatching MouseEvent at 5.0, 1.5...) +/// evt.stageX +37 +/// evt.stageY +17.5 +///this.addChild(this.te); +/// (dispatching MouseEvent at 5.0, 1.5...) +/// evt.stageX +37 +/// evt.stageY +17.5 +///this.scaleX = 0.5 +///this.scaleY = 0.25 +/// (dispatching MouseEvent at 5.0, 1.5...) +/// evt.stageX +18.5 +/// evt.stageY +4.4 diff --git a/tests/tests/swfs/avm2/mouseevent_stagexy/test.fla b/tests/tests/swfs/avm2/mouseevent_stagexy/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..b546783cca420dc0004e056c58a0b8c59eb39009 GIT binary patch literal 4068 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 VU}HEJw$PnFH(--l{syWSn}GvegOvaP literal 0 HcmV?d00001