From 7b6a4ced52c2f94878536cf03138e53835e5487e Mon Sep 17 00:00:00 2001 From: Kamil Jarosz Date: Sun, 15 Dec 2024 00:23:21 +0100 Subject: [PATCH] tests: Add flags/tab_skip test This test verifies the behavior of tab_skip flag. --- tests/tests/swfs/flags/README.md | 4 ++ tests/tests/swfs/flags/tab_skip/Test.as | 51 +++++++++++++++++++++ tests/tests/swfs/flags/tab_skip/input.json | 6 +++ tests/tests/swfs/flags/tab_skip/output.txt | 4 ++ tests/tests/swfs/flags/tab_skip/test.swf | Bin 0 -> 1307 bytes tests/tests/swfs/flags/tab_skip/test.toml | 3 ++ 6 files changed, 68 insertions(+) create mode 100644 tests/tests/swfs/flags/README.md create mode 100644 tests/tests/swfs/flags/tab_skip/Test.as create mode 100644 tests/tests/swfs/flags/tab_skip/input.json create mode 100644 tests/tests/swfs/flags/tab_skip/output.txt create mode 100644 tests/tests/swfs/flags/tab_skip/test.swf create mode 100644 tests/tests/swfs/flags/tab_skip/test.toml diff --git a/tests/tests/swfs/flags/README.md b/tests/tests/swfs/flags/README.md new file mode 100644 index 0000000000000..ddcce5c929d53 --- /dev/null +++ b/tests/tests/swfs/flags/README.md @@ -0,0 +1,4 @@ +# Compatibility flags tests + +Warning: Outputs for these tests does not come from Flash Player! +They are meant to test the behavior of Ruffle with flags incompatible with Flash Player. diff --git a/tests/tests/swfs/flags/tab_skip/Test.as b/tests/tests/swfs/flags/tab_skip/Test.as new file mode 100644 index 0000000000000..f77d2e3aa45b7 --- /dev/null +++ b/tests/tests/swfs/flags/tab_skip/Test.as @@ -0,0 +1,51 @@ +package { +import flash.display.*; +import flash.text.*; +import flash.events.*; + +public class Test extends MovieClip { + private var obj1: TextField; + private var obj2: TextField; + private var obj3: TextField; + + public function Test() { + stage.scaleMode = "noScale"; + + obj1 = new TextField(); + obj1.type = "input"; + obj1.border = true; + obj1.name = "obj1"; + obj1.x = 70; + obj1.y = 10; + obj1.width = 10; + obj1.height = 10; + + obj2 = new TextField(); + obj2.type = "input"; + obj2.border = true; + obj2.name = "obj2"; + obj2.x = 10; + obj2.y = 20; + obj2.width = 10; + obj2.height = 10; + + obj3 = new TextField(); + obj3.type = "input"; + obj3.border = true; + obj3.name = "obj3"; + obj3.x = 40; + obj3.y = 40; + obj3.width = 10; + obj3.height = 10; + + stage.focus = obj1; + + for each (var obj in [obj1, obj2, obj3]) { + obj.addEventListener("focusIn", function (evt:FocusEvent):void { + trace("Focus changed: " + evt.relatedObject.name + " -> " + evt.target.name); + }); + this.stage.addChild(obj); + } + } +} +} diff --git a/tests/tests/swfs/flags/tab_skip/input.json b/tests/tests/swfs/flags/tab_skip/input.json new file mode 100644 index 0000000000000..0174240affe66 --- /dev/null +++ b/tests/tests/swfs/flags/tab_skip/input.json @@ -0,0 +1,6 @@ +[ + { "type": "KeyDown", "key_code": 9 }, + { "type": "KeyDown", "key_code": 9 }, + { "type": "KeyDown", "key_code": 9 }, + { "type": "KeyDown", "key_code": 9 } +] diff --git a/tests/tests/swfs/flags/tab_skip/output.txt b/tests/tests/swfs/flags/tab_skip/output.txt new file mode 100644 index 0000000000000..7bf7db3ae1c96 --- /dev/null +++ b/tests/tests/swfs/flags/tab_skip/output.txt @@ -0,0 +1,4 @@ +Focus changed: obj1 -> obj2 +Focus changed: obj2 -> obj3 +Focus changed: obj3 -> obj1 +Focus changed: obj1 -> obj2 diff --git a/tests/tests/swfs/flags/tab_skip/test.swf b/tests/tests/swfs/flags/tab_skip/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..6894bcd254818a40b597a3027e3bf266bde8399d GIT binary patch literal 1307 zcmV+$1?2ieS5qn12LJ$g0fkiEQrkup-d)LB|6ptbF~&eJfj~%XOSUN~4spZaI+IRQ zIw5U3o$)Y>w8Bb+}ZSQ-PyQoho-;PU%Ls)l|k z+8=m!C~4>_wdoOcn6K8VH7;c6P1E&`2y2mk-?nrj#N!LP1IGw64Fj);B24!vVebD1y`zZ`n>dF9a!6a$+5c)U)Vwr>J0Og<+Eg#q z*2|^3R$q_u71k|Pl>WU|Tv&K_TVOmpnE7J2^5yp4-m~2&Z7|I6BQWx`vu~s=u!GLe z&%aGd+@F{t=4a@J_NBturbCEAft@)|Q zQ1}VsN7<8)UCT&@6$?FzDCM#i^BF%L*m3uCV$*~##>cKf6HobGI~KJK**$n(i&;*8 zz+`sTr^8LX%DsCC$5f>#$qBW8-e;Bb88WQk#fD}HYIjPfnUxnZYg z*@nc)d>x;uVwm3FKXmt*yKhj_ax8IM_j}atOMTauYK?|e+t`r!pCfTuWo0*Pbml)h zO^*~M_dyBsBmT?ED^Zu`-ld`QtM)-I^~PPaSr4AC_a`?=g0Gz0xZH}wwNnU z6eo*Q#cL=FktD|y98V-uW9jiswuDg(BaBfTqhuluG0NlkG)6NR&0;)<;XFnQ7;)Mn zMmI28!e|-8n;5QOw3=As{M%T*gAv3^9is-0uVdvStZZQAE>=F40YCsM7=6!gS{aF1 ztOBble>MKrHet2NzxQBaCXoP0N<9Ece%mI(51b4?JPJy%(1zSE%K*YeQW|Oxg%zbz zOK+hB%Kykgr3=f-YZIB$t8(JiYg0C3uR0K}1yxSvk*W0Wh|^L-?b+==w70MTQWP$} zJc8Wx2n1u@xEU`ONg@~@c9WkaK`#|#hGwdKos0!p4pvAy$O*$dk%9>hmOErTm=qvM zGQm^?vca_o5s_>&{P0(X8b zz5FY?0ziVo-+x;Y1u0W#!}6^MuyYNq@tUbaGcHV>JTK>+x`cAC&(Gsh90j$908WeF zql9>0J{fA9tx(V{nnkTUYtCxjIde|y&YSaE_qusq>n@lJT6e~r35RdMeDw4RJWl3) RN=#n