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 000000000..b546783cc Binary files /dev/null and b/tests/tests/swfs/avm2/mouseevent_stagexy/test.fla differ diff --git a/tests/tests/swfs/avm2/mouseevent_stagexy/test.swf b/tests/tests/swfs/avm2/mouseevent_stagexy/test.swf new file mode 100644 index 000000000..15783dbe6 Binary files /dev/null and b/tests/tests/swfs/avm2/mouseevent_stagexy/test.swf differ