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 0000000000000..6894bcd254818 Binary files /dev/null and b/tests/tests/swfs/flags/tab_skip/test.swf differ diff --git a/tests/tests/swfs/flags/tab_skip/test.toml b/tests/tests/swfs/flags/tab_skip/test.toml new file mode 100644 index 0000000000000..75c23f1bdb93b --- /dev/null +++ b/tests/tests/swfs/flags/tab_skip/test.toml @@ -0,0 +1,3 @@ +num_ticks = 1 + +flags = "-tab_skip"