From 9c661a14c35f2cd91a74c0ed3b9c983036fa89a7 Mon Sep 17 00:00:00 2001 From: Nathan Adams Date: Sun, 23 Jul 2023 23:50:49 +0200 Subject: [PATCH] tests: Port Shumway's avm1 tests over --- .../swfs/avm1/from_shumway/array/output.txt | 7 + .../swfs/avm1/from_shumway/array/test.fla | Bin 0 -> 5100 bytes .../swfs/avm1/from_shumway/array/test.swf | Bin 0 -> 912 bytes .../swfs/avm1/from_shumway/array/test.toml | 4 + .../bitmapdata/getpixel/output.txt | 2 + .../from_shumway/bitmapdata/getpixel/test.fla | Bin 0 -> 4790 bytes .../from_shumway/bitmapdata/getpixel/test.swf | Bin 0 -> 673 bytes .../bitmapdata/getpixel/test.toml | 3 + .../bitmapdata/loadbitmap/output.txt | 3 + .../bitmapdata/loadbitmap/test.fla | Bin 0 -> 5573 bytes .../bitmapdata/loadbitmap/test.swf | Bin 0 -> 691 bytes .../bitmapdata/loadbitmap/test.toml | 3 + .../swfs/avm1/from_shumway/callee/output.txt | 2 + .../swfs/avm1/from_shumway/callee/test.fla | Bin 0 -> 4775 bytes .../swfs/avm1/from_shumway/callee/test.swf | Bin 0 -> 642 bytes .../swfs/avm1/from_shumway/callee/test.toml | 3 + .../swfs/avm1/from_shumway/depth/output.txt | 6 + .../swfs/avm1/from_shumway/depth/test.fla | Bin 0 -> 5571 bytes .../swfs/avm1/from_shumway/depth/test.swf | Bin 0 -> 853 bytes .../swfs/avm1/from_shumway/depth/test.toml | 3 + .../doactionorder/doactionorder/output.txt | 7 + .../doactionorder/doactionorder/test.swf | Bin 0 -> 863 bytes .../doactionorder/doactionorder/test.toml | 3 + .../doactionorder/doactionorder/test.xml | 330 ++++++++++++++++++ .../doactionorder/symbolclass/output.txt | 4 + .../symbolclass/symbolclass_as/Class1.as | 9 + .../doactionorder/symbolclass/test.fla | Bin 0 -> 5437 bytes .../doactionorder/symbolclass/test.swf | Bin 0 -> 924 bytes .../doactionorder/symbolclass/test.toml | 3 + .../duplicatemovieclip/dontremove/output.txt | 6 + .../duplicatemovieclip/dontremove/test.fla | Bin 0 -> 5581 bytes .../duplicatemovieclip/dontremove/test.swf | Bin 0 -> 755 bytes .../duplicatemovieclip/dontremove/test.toml | 4 + .../duplicatemovieclip/output.txt | 4 + .../duplicatemovieclip/test.fla | Bin 0 -> 6152 bytes .../duplicatemovieclip/test.swf | Bin 0 -> 1010 bytes .../duplicatemovieclip/test.toml | 3 + .../name_coercion/output.txt | 3 + .../duplicatemovieclip/name_coercion/test.fla | Bin 0 -> 5482 bytes .../duplicatemovieclip/name_coercion/test.swf | Bin 0 -> 674 bytes .../name_coercion/test.toml | 4 + .../duplicatemovieclip/samedepth/output.txt | 6 + .../duplicatemovieclip/samedepth/test.fla | Bin 0 -> 5652 bytes .../duplicatemovieclip/samedepth/test.swf | Bin 0 -> 761 bytes .../duplicatemovieclip/samedepth/test.toml | 3 + .../from_shumway/externalinterface/output.txt | 4 + .../from_shumway/externalinterface/test.fla | Bin 0 -> 4859 bytes .../from_shumway/externalinterface/test.swf | Bin 0 -> 688 bytes .../from_shumway/externalinterface/test.toml | 3 + .../swfs/avm1/from_shumway/filters/output.txt | 150 ++++++++ .../swfs/avm1/from_shumway/filters/test.fla | Bin 0 -> 6569 bytes .../swfs/avm1/from_shumway/filters/test.swf | Bin 0 -> 1713 bytes .../swfs/avm1/from_shumway/filters/test.toml | 4 + .../from_shumway/haxe/flocons1/output.txt | 2 + .../avm1/from_shumway/haxe/flocons1/test.swf | Bin 0 -> 152 bytes .../avm1/from_shumway/haxe/flocons1/test.toml | 3 + .../avm1/from_shumway/haxe/flocons1/test.xml | 72 ++++ .../from_shumway/haxe/flocons2/output.txt | 3 + .../avm1/from_shumway/haxe/flocons2/test.fla | Bin 0 -> 4610 bytes .../avm1/from_shumway/haxe/flocons2/test.swf | Bin 0 -> 621 bytes .../avm1/from_shumway/haxe/flocons2/test.toml | 3 + .../swfs/avm1/from_shumway/hitarea/input.json | 6 + .../swfs/avm1/from_shumway/hitarea/output.txt | 4 + .../swfs/avm1/from_shumway/hitarea/test.fla | Bin 0 -> 6132 bytes .../swfs/avm1/from_shumway/hitarea/test.swf | Bin 0 -> 820 bytes .../swfs/avm1/from_shumway/hitarea/test.toml | 3 + .../swfs/avm1/from_shumway/label/output.txt | 4 + .../swfs/avm1/from_shumway/label/test.fla | Bin 0 -> 4721 bytes .../swfs/avm1/from_shumway/label/test.swf | Bin 0 -> 618 bytes .../swfs/avm1/from_shumway/label/test.toml | 3 + .../swfs/avm1/from_shumway/levels/output.txt | 9 + .../swfs/avm1/from_shumway/levels/test.fla | Bin 0 -> 4675 bytes .../swfs/avm1/from_shumway/levels/test.swf | Bin 0 -> 597 bytes .../swfs/avm1/from_shumway/levels/test.toml | 3 + .../from_shumway/levels/twolevels_sub.fla | Bin 0 -> 4726 bytes .../from_shumway/levels/twolevels_sub.swf | Bin 0 -> 599 bytes .../avm1/from_shumway/loadevent/output.txt | 9 + .../swfs/avm1/from_shumway/loadevent/test.fla | Bin 0 -> 6319 bytes .../swfs/avm1/from_shumway/loadevent/test.swf | Bin 0 -> 786 bytes .../avm1/from_shumway/loadevent/test.toml | 3 + .../loadvariables/loadvariables.txt | 1 + .../loadvariables/loadvariables/output.txt | 7 + .../loadvariables/loadvariables/test.fla | Bin 0 -> 4790 bytes .../loadvariables/loadvariables/test.swf | Bin 0 -> 793 bytes .../loadvariables/loadvariables/test.toml | 3 + .../loadvariables/loadvars/loadvars.txt | 1 + .../loadvariables/loadvars/output.txt | 2 + .../loadvariables/loadvars/test.fla | Bin 0 -> 4717 bytes .../loadvariables/loadvars/test.swf | Bin 0 -> 659 bytes .../loadvariables/loadvars/test.toml | 3 + .../swfs/avm1/from_shumway/lookup/output.txt | 3 + .../swfs/avm1/from_shumway/lookup/test.fla | Bin 0 -> 4900 bytes .../swfs/avm1/from_shumway/lookup/test.swf | Bin 0 -> 759 bytes .../swfs/avm1/from_shumway/lookup/test.toml | 4 + .../mouse_transparency/input.json | 19 + .../mouse-transparency.stas | 17 + .../mouse_transparency/output.txt | 1 + .../from_shumway/mouse_transparency/test.fla | Bin 0 -> 55347 bytes .../from_shumway/mouse_transparency/test.swf | Bin 0 -> 8572 bytes .../from_shumway/mouse_transparency/test.toml | 3 + .../from_shumway/moviecliploader/loadee.fla | Bin 0 -> 4513 bytes .../from_shumway/moviecliploader/loadee.swf | Bin 0 -> 558 bytes .../from_shumway/moviecliploader/output.txt | 7 + .../from_shumway/moviecliploader/test.fla | Bin 0 -> 4923 bytes .../from_shumway/moviecliploader/test.swf | Bin 0 -> 842 bytes .../from_shumway/moviecliploader/test.toml | 4 + .../from_shumway/nativeinheritance/output.txt | 6 + .../from_shumway/nativeinheritance/test.fla | Bin 0 -> 5364 bytes .../from_shumway/nativeinheritance/test.swf | Bin 0 -> 778 bytes .../from_shumway/nativeinheritance/test.toml | 3 + .../from_shumway/nested_button/input.json | 22 ++ .../nested_button/nested-button-click.stas | 16 + .../from_shumway/nested_button/output.txt | 1 + .../avm1/from_shumway/nested_button/test.fla | Bin 0 -> 6873 bytes .../avm1/from_shumway/nested_button/test.swf | Bin 0 -> 622 bytes .../avm1/from_shumway/nested_button/test.toml | 3 + .../avm1/from_shumway/operations/output.txt | 13 + .../avm1/from_shumway/operations/test.fla | Bin 0 -> 4893 bytes .../avm1/from_shumway/operations/test.swf | Bin 0 -> 767 bytes .../avm1/from_shumway/operations/test.toml | 3 + .../from_shumway/property_paths/v6/output.txt | 6 + .../from_shumway/property_paths/v6/test.fla | Bin 0 -> 4950 bytes .../from_shumway/property_paths/v6/test.swf | Bin 0 -> 737 bytes .../from_shumway/property_paths/v6/test.toml | 3 + .../from_shumway/property_paths/v7/output.txt | 7 + .../from_shumway/property_paths/v7/test.fla | Bin 0 -> 4837 bytes .../from_shumway/property_paths/v7/test.swf | Bin 0 -> 708 bytes .../from_shumway/property_paths/v7/test.toml | 3 + .../propertycase/preserving_v6/output.txt | 2 + .../propertycase/preserving_v6/test.fla | Bin 0 -> 5046 bytes .../propertycase/preserving_v6/test.swf | Bin 0 -> 714 bytes .../propertycase/preserving_v6/test.toml | 3 + .../propertycase/preserving_v7/output.txt | 5 + .../propertycase/preserving_v7/test.fla | Bin 0 -> 4924 bytes .../propertycase/preserving_v7/test.swf | Bin 0 -> 713 bytes .../propertycase/preserving_v7/test.toml | 3 + .../propertycase/propertycase/output.txt | 7 + .../propertycase/propertycase/test.fla | Bin 0 -> 4842 bytes .../propertycase/propertycase/test.swf | Bin 0 -> 639 bytes .../propertycase/propertycase/test.toml | 3 + .../avm1/from_shumway/rollover/input.json | 28 ++ .../avm1/from_shumway/rollover/output.txt | 4 + .../swfs/avm1/from_shumway/rollover/test.fla | Bin 0 -> 5747 bytes .../swfs/avm1/from_shumway/rollover/test.swf | Bin 0 -> 726 bytes .../swfs/avm1/from_shumway/rollover/test.toml | 3 + .../swfs/avm1/from_shumway/scope/output.txt | 14 + .../swfs/avm1/from_shumway/scope/test.fla | Bin 0 -> 8964 bytes .../swfs/avm1/from_shumway/scope/test.swf | Bin 0 -> 766 bytes .../swfs/avm1/from_shumway/scope/test.toml | 3 + .../avm1/from_shumway/setinterval/output.txt | 20 ++ .../avm1/from_shumway/setinterval/test.fla | Bin 0 -> 5172 bytes .../avm1/from_shumway/setinterval/test.swf | Bin 0 -> 1034 bytes .../avm1/from_shumway/setinterval/test.toml | 4 + .../avm1/from_shumway/settimeout/output.txt | 17 + .../avm1/from_shumway/settimeout/test.fla | Bin 0 -> 5135 bytes .../avm1/from_shumway/settimeout/test.swf | Bin 0 -> 1044 bytes .../avm1/from_shumway/settimeout/test.toml | 4 + .../swfs/avm1/from_shumway/super/output.txt | 11 + .../swfs/avm1/from_shumway/super/test.fla | Bin 0 -> 4773 bytes .../swfs/avm1/from_shumway/super/test.swf | Bin 0 -> 745 bytes .../swfs/avm1/from_shumway/super/test.toml | 3 + .../avm1/from_shumway/telltarget/output.txt | 18 + .../avm1/from_shumway/telltarget/test.fla | Bin 0 -> 4998 bytes .../avm1/from_shumway/telltarget/test.swf | Bin 0 -> 892 bytes .../avm1/from_shumway/telltarget/test.toml | 3 + .../avm1/from_shumway/text_bind/expected.png | Bin 0 -> 7255 bytes .../avm1/from_shumway/text_bind/output.txt | 0 .../swfs/avm1/from_shumway/text_bind/test.fla | Bin 0 -> 4744 bytes .../swfs/avm1/from_shumway/text_bind/test.swf | Bin 0 -> 745 bytes .../avm1/from_shumway/text_bind/test.toml | 9 + .../from_shumway/textfield/html/output.txt | 4 + .../avm1/from_shumway/textfield/html/test.fla | Bin 0 -> 4934 bytes .../avm1/from_shumway/textfield/html/test.swf | Bin 0 -> 739 bytes .../from_shumway/textfield/html/test.toml | 3 + .../textfield/text-setters/output.txt | 8 + .../textfield/text-setters/test.fla | Bin 0 -> 4945 bytes .../textfield/text-setters/test.swf | Bin 0 -> 700 bytes .../textfield/text-setters/test.toml | 3 + .../avm1/from_shumway/undefined/v6/output.txt | 39 +++ .../avm1/from_shumway/undefined/v6/test.fla | Bin 0 -> 5118 bytes .../avm1/from_shumway/undefined/v6/test.swf | Bin 0 -> 893 bytes .../avm1/from_shumway/undefined/v6/test.toml | 3 + .../avm1/from_shumway/undefined/v7/output.txt | 39 +++ .../avm1/from_shumway/undefined/v7/test.fla | Bin 0 -> 5137 bytes .../avm1/from_shumway/undefined/v7/test.swf | Bin 0 -> 894 bytes .../avm1/from_shumway/undefined/v7/test.toml | 3 + .../swfs/avm1/from_shumway/watch/output.txt | 2 + .../swfs/avm1/from_shumway/watch/test.fla | Bin 0 -> 4875 bytes .../swfs/avm1/from_shumway/watch/test.swf | Bin 0 -> 731 bytes .../swfs/avm1/from_shumway/watch/test.toml | 3 + .../avm1/from_shumway/xml/build/output.txt | 1 + .../swfs/avm1/from_shumway/xml/build/test.fla | Bin 0 -> 4884 bytes .../swfs/avm1/from_shumway/xml/build/test.swf | Bin 0 -> 727 bytes .../avm1/from_shumway/xml/build/test.toml | 3 + .../avm1/from_shumway/xml/load/output.txt | 5 + .../swfs/avm1/from_shumway/xml/load/test.fla | Bin 0 -> 5039 bytes .../swfs/avm1/from_shumway/xml/load/test.swf | Bin 0 -> 928 bytes .../swfs/avm1/from_shumway/xml/load/test.toml | 3 + .../avm1/from_shumway/xml/load/xmlload.xml | 1 + .../avm1/from_shumway/xml/string/output.txt | 9 + .../avm1/from_shumway/xml/string/test.fla | Bin 0 -> 4645 bytes .../avm1/from_shumway/xml/string/test.swf | Bin 0 -> 704 bytes .../avm1/from_shumway/xml/string/test.toml | 3 + 203 files changed, 1170 insertions(+) create mode 100644 tests/tests/swfs/avm1/from_shumway/array/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/array/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/array/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/array/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/bitmapdata/getpixel/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/bitmapdata/getpixel/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/bitmapdata/getpixel/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/bitmapdata/getpixel/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/bitmapdata/loadbitmap/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/bitmapdata/loadbitmap/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/bitmapdata/loadbitmap/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/bitmapdata/loadbitmap/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/callee/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/callee/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/callee/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/callee/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/depth/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/depth/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/depth/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/depth/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/doactionorder/doactionorder/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/doactionorder/doactionorder/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/doactionorder/doactionorder/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/doactionorder/doactionorder/test.xml create mode 100644 tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/symbolclass_as/Class1.as create mode 100644 tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/dontremove/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/dontremove/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/dontremove/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/dontremove/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/duplicatemovieclip/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/duplicatemovieclip/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/duplicatemovieclip/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/duplicatemovieclip/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/name_coercion/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/name_coercion/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/name_coercion/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/name_coercion/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/samedepth/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/samedepth/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/samedepth/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/samedepth/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/externalinterface/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/externalinterface/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/externalinterface/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/externalinterface/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/filters/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/filters/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/filters/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/filters/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/haxe/flocons1/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/haxe/flocons1/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/haxe/flocons1/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/haxe/flocons1/test.xml create mode 100644 tests/tests/swfs/avm1/from_shumway/haxe/flocons2/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/haxe/flocons2/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/haxe/flocons2/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/haxe/flocons2/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/hitarea/input.json create mode 100644 tests/tests/swfs/avm1/from_shumway/hitarea/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/hitarea/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/hitarea/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/hitarea/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/label/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/label/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/label/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/label/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/levels/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/levels/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/levels/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/levels/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/levels/twolevels_sub.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/levels/twolevels_sub.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/loadevent/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/loadevent/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/loadevent/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/loadevent/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/loadvariables/loadvariables/loadvariables.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/loadvariables/loadvariables/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/loadvariables/loadvariables/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/loadvariables/loadvariables/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/loadvariables/loadvariables/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/loadvariables/loadvars/loadvars.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/loadvariables/loadvars/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/loadvariables/loadvars/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/loadvariables/loadvars/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/loadvariables/loadvars/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/lookup/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/lookup/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/lookup/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/lookup/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/mouse_transparency/input.json create mode 100644 tests/tests/swfs/avm1/from_shumway/mouse_transparency/mouse-transparency.stas create mode 100644 tests/tests/swfs/avm1/from_shumway/mouse_transparency/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/mouse_transparency/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/mouse_transparency/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/mouse_transparency/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/moviecliploader/loadee.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/moviecliploader/loadee.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/moviecliploader/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/moviecliploader/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/moviecliploader/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/moviecliploader/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/nativeinheritance/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/nativeinheritance/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/nativeinheritance/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/nativeinheritance/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/nested_button/input.json create mode 100644 tests/tests/swfs/avm1/from_shumway/nested_button/nested-button-click.stas create mode 100644 tests/tests/swfs/avm1/from_shumway/nested_button/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/nested_button/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/nested_button/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/nested_button/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/operations/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/operations/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/operations/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/operations/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/property_paths/v6/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/property_paths/v6/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/property_paths/v6/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/property_paths/v6/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/property_paths/v7/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/property_paths/v7/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/property_paths/v7/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/property_paths/v7/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v6/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v6/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v6/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v6/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v7/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v7/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v7/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v7/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/propertycase/propertycase/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/propertycase/propertycase/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/propertycase/propertycase/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/propertycase/propertycase/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/rollover/input.json create mode 100644 tests/tests/swfs/avm1/from_shumway/rollover/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/rollover/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/rollover/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/rollover/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/scope/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/scope/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/scope/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/scope/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/setinterval/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/setinterval/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/setinterval/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/setinterval/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/settimeout/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/settimeout/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/settimeout/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/settimeout/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/super/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/super/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/super/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/super/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/telltarget/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/telltarget/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/telltarget/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/telltarget/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/text_bind/expected.png create mode 100644 tests/tests/swfs/avm1/from_shumway/text_bind/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/text_bind/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/text_bind/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/text_bind/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/textfield/html/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/textfield/html/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/textfield/html/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/textfield/html/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/textfield/text-setters/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/textfield/text-setters/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/textfield/text-setters/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/textfield/text-setters/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/undefined/v6/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/undefined/v6/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/undefined/v6/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/undefined/v6/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/undefined/v7/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/undefined/v7/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/undefined/v7/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/undefined/v7/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/watch/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/watch/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/watch/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/watch/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/xml/build/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/xml/build/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/xml/build/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/xml/build/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/xml/load/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/xml/load/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/xml/load/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/xml/load/test.toml create mode 100644 tests/tests/swfs/avm1/from_shumway/xml/load/xmlload.xml create mode 100644 tests/tests/swfs/avm1/from_shumway/xml/string/output.txt create mode 100644 tests/tests/swfs/avm1/from_shumway/xml/string/test.fla create mode 100644 tests/tests/swfs/avm1/from_shumway/xml/string/test.swf create mode 100644 tests/tests/swfs/avm1/from_shumway/xml/string/test.toml diff --git a/tests/tests/swfs/avm1/from_shumway/array/output.txt b/tests/tests/swfs/avm1/from_shumway/array/output.txt new file mode 100644 index 000000000..46f75a05a --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/array/output.txt @@ -0,0 +1,7 @@ +concat: a,1,b,[object Object] +pop: b undefined +push: 2 c 2 +shift: a b +slice: b true +splice1: b true 2 c +splice2: true 4 d c diff --git a/tests/tests/swfs/avm1/from_shumway/array/test.fla b/tests/tests/swfs/avm1/from_shumway/array/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..233f990f37bc7ae5a49d834eec18933856d996ce GIT binary patch literal 5100 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/array/test.swf b/tests/tests/swfs/avm1/from_shumway/array/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..f347cc424bc4225b7fc8b74f2d73c778cf4f2eff GIT binary patch literal 912 zcmV;B18@98S5py@3IG6joV8RQ(PD3LVEj9Bm~hg|Xte9kq$(wUKj5g*!k?FuCg-94{gzv-FL40e72c=0#D z>kRY`_5t9Jmrr&8TFe?57rnkZa~+Qx!aFLAgTOZsnog&sX{AKj71El`CMxSl*NXyC z{DYVs)p+~sMY(KE6r%E3W=_EKR6k^($>)+9Oyo4<}Bqfu&Xoh{HmC8u+ z2$0cb1P7E|QtGrj5~cPX%*X0ajE)HBf*w0+_ucnuQ5{Zf$5LyRdJC;)Cb&pXyluU# z)rw{DR4+Bns5QkST%%l0snYjdvbE##IuKzo80aIIOrHA+H zs%73a)t@jY+$qaM#33&60xlY>g^jgLV?>#YgEsbk$2PGfM6)6vQ}eeeeou-c+2j^l z03RwztZXp&@K(DnnxlDeK}H`&^UG_WpbNt3gqcLZ-^52{Fc4ap{hnBTM%_@0j~OQt ze^i(!NN`xiust4N&m^b4w#Y8owq-OLCns88Z`S*L{iLdCovwD=sMnhnty`_>)ou%| zrOw$bYEER6V>as}*b=F8Hp=WPTb%6PI%~auKh_NtYIx9=`?ToYdZ}8c*C-z!R~o&v zQfsMmw$t_I-k0q(+1w~}{+M>8QfxfZDE|DlRp@4KZ*PCt`dNGw|M~~M1x7gdj0O}s zjN$9Z4#epKI{a0GGGK6scNL7Kufq^b>WQlbCU%_IHdN5Sr@nlJt%3>ugpb2P_bzxUv;zj8ycEb=JCh3d;5_#J_G! zhPU$)w4>~v$6gMUTrMN#&m~-0fh#e5?>zPra4|6t?S-LZVTMM;o7k)_<5CHeWs$zKf}-giZbi?JsH m%5HSq4^ywnH*?j0?nD1wm%1+YEaUfy9SF>i;{6xvdujsHKgS~g literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/array/test.toml b/tests/tests/swfs/avm1/from_shumway/array/test.toml new file mode 100644 index 000000000..b46aa054f --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/array/test.toml @@ -0,0 +1,4 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/array + +num_frames = 1 +ignore = true # https://github.com/ruffle-rs/ruffle/issues/12269 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/bitmapdata/getpixel/output.txt b/tests/tests/swfs/avm1/from_shumway/bitmapdata/getpixel/output.txt new file mode 100644 index 000000000..e8c133fc5 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/bitmapdata/getpixel/output.txt @@ -0,0 +1,2 @@ +255 +true diff --git a/tests/tests/swfs/avm1/from_shumway/bitmapdata/getpixel/test.fla b/tests/tests/swfs/avm1/from_shumway/bitmapdata/getpixel/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..6a7769fb0723a95b0edecdc6b41a0f9d8ee704b2 GIT binary patch literal 4790 zcmb_gby!r}*B-(FQ92X>8A@X4P?5NFcZW1X4Jkdu5RxLzfOHKh-7|axtmmAw&wAJ1&pz*Z&U%-IG7c^U0Dunw@FZr)0e%^nDS(Qi zl$NBHA&&21 z;P!EHOhL@LO!Jbo&$I5pn|+DFy0=&vu3vx@Oh}E8wTzmoNoC?`U05!Pv{OaxmuJFe z6a<^2qPZ*Lf!^!rx((vJ9_hQBhZam-SVj>21Q z`l;}W=eR7<&t?Rd#8E?hywOpQ+hsmSzWbQi>H+D;}-Dxf$#%wWf2QT|R{Q@DW=ZG~*3kZ%$j8nwnmSR@sa` zJ$vD_VQSVo9@VrE*vS)MG8gQB1J!>-iS(ZoBk&pUOvuUl({3fEG2k$POxXmGqh z;?L?t+MZOt{MOcR++%HaB5Z>@qYZH?xbO{|0qLws*nBuY`?6W2J zlX6C>(>}5BACb$_scMAa9?A&B2TF~j)1E> z`6+TZ-i)3`t$GegJTcJRNeR?^v<;+)P=Oxxgs>G5p>H)oClf4qZwF0HNr&v6t1dp$ zS62@e5A5;%x{o#5_f-j&>E3b5UgugficdslksxKP65r<*iDsnKSwZb2?9I z#nDkI)jC^Q8Inaf^30{R$M;YnSP0$$UdVJZ6W71! zdU5Ot(T8AjLiijmjp)yk&TgS{Z<7ks8VY400lMW z%!=fg!I@xm5xIV&;9zanQ&;gE@E7ecBzYw4l_^nyeQj_2DgV%Cso2v#g2FCpjoo6& z#A}?uQ=z*xhBnGtHyr6cdCK;Mv#lxB$aUM2K3>3OlntXeNFzIw9<)1Ed zyWNJBFXv9_TH~9lCi^vCb$27qp}v(AC_BUaa8+<}7NN9=G?Fyct`CX2$S1w9EFiz3 zmw(qllZV�kq=)#H0Oj|%lt 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/bitmapdata/getpixel/test.swf b/tests/tests/swfs/avm1/from_shumway/bitmapdata/getpixel/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..d7604c7c4ae731539743b64a04ab1ebc0c816e1c GIT binary patch literal 673 zcmV;S0$%+?S5pxl1^@tfoTZfAZqqOv#sBTrb#TKbgoFfwsFQYsQYYEgv{6@BTSeMM zVd{2|+}LR?k~oUpwY}n&C+Ia#hV}+L!f?`$bz2z&BE_+_ugKs_P8(`~!jI1D1;sMc|5AZ6?zG#ZV{qk}R}`pB%+YRIsVW$8+xi%BH$ zSdYYBsi9?rHWgmNV##={ipQHEq+)vcGLz(AwM^rn${&$xwq4V- z4-NZa>KepytTbVll(-2GvsH+3B50b_acL1%8dH|9!|un_a{n~3d)5Vw+@H{6X=HUG zvo8KWG5r>yEf?k{r}bMJ%`d@*2Ce+{_4WIWAL@eqR)-?=LIT;j0K!BZ;0ZLD3~{WE zEQUUnXKYM^W#zyE$7cU6V%^ojc0{Gn;rR(JYh#kU-a`rz-w2i5fp H!miK*e!f-_ literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/bitmapdata/getpixel/test.toml b/tests/tests/swfs/avm1/from_shumway/bitmapdata/getpixel/test.toml new file mode 100644 index 000000000..c3a7f3324 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/bitmapdata/getpixel/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/bitmapdata + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/bitmapdata/loadbitmap/output.txt b/tests/tests/swfs/avm1/from_shumway/bitmapdata/loadbitmap/output.txt new file mode 100644 index 000000000..34917918f --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/bitmapdata/loadbitmap/output.txt @@ -0,0 +1,3 @@ +1 +1 +(x=0, y=0, w=1, h=1) diff --git a/tests/tests/swfs/avm1/from_shumway/bitmapdata/loadbitmap/test.fla b/tests/tests/swfs/avm1/from_shumway/bitmapdata/loadbitmap/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..b1e80327a391bc2b463b89c5dda4e2ec5002ffeb GIT binary patch literal 5573 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 ZA4mrtUL0?VgY6=BaSYxl!cXp9)to%{OJM*2 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/bitmapdata/loadbitmap/test.toml b/tests/tests/swfs/avm1/from_shumway/bitmapdata/loadbitmap/test.toml new file mode 100644 index 000000000..c3a7f3324 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/bitmapdata/loadbitmap/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/bitmapdata + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/callee/output.txt b/tests/tests/swfs/avm1/from_shumway/callee/output.txt new file mode 100644 index 000000000..b9aa47b0e --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/callee/output.txt @@ -0,0 +1,2 @@ +callee = f1: true +caller = f2: true diff --git a/tests/tests/swfs/avm1/from_shumway/callee/test.fla b/tests/tests/swfs/avm1/from_shumway/callee/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..3b0e7eb5e732afe2da963e2a36d9dc25051669b7 GIT binary patch literal 4775 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/callee/test.swf b/tests/tests/swfs/avm1/from_shumway/callee/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..db09d997ffbac0ab30a243a82c8f04a16e9c5494 GIT binary patch literal 642 zcmV-|0)72MS5pz@1pokeoTXGTbJH*wRoWDCFc6NR3=F#TuA3vfMx(SHXT{t$mrX+XF>6LVLt|1Pr)eYOqe-|g7*Sjt zah~?}3=4)Sk*DyT;4za@+mjUb-)}<;9uJe0!uHlq2i;UIcrjm(o@+a8%Whe&cjP$O zZsE2r+t{`jv{U9(I$(-WqR1`r7Pj@@S`=U7mU2#$`21etD<#58@Qyq&=SALLSzJYolaPXo;)q1X@Y_U^vx?d}Ib&~hAa zyVc*@b8X+V+dDznpB(hMbmr#sXqd5Fm2UJe+!mxWx3?lWN%Z?z;u?mY-wJkuUGHw! zB^L9&GLf7y8Va6GZlNGTGLuxdF^kH?G|3kyOJWNCbg)~}nHyaa(>>kj;z6bm|DTwC zYXRpMbCuISKWQ4xUuZED>7)hG2(grz)ueu<&ZJ||2*+GxMD<8fq)9}KAsSoqlt&*& zVgL#B5BGP?84Z=5X4RiOebM**Whjm zfNzfs34oPNun8`zpayD{7kaK%YAbKz*P8}ftyN2C%|PED8a)7YaPe5LSbnuicl}yj c?XG{RgYbQyXBo*U{xnRK#$W023wYzmut_*Mk^lez literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/callee/test.toml b/tests/tests/swfs/avm1/from_shumway/callee/test.toml new file mode 100644 index 000000000..9923357ac --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/callee/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/callee + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/depth/output.txt b/tests/tests/swfs/avm1/from_shumway/depth/output.txt new file mode 100644 index 000000000..ac03f6191 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/depth/output.txt @@ -0,0 +1,6 @@ +getNextHighestDepth before 0 +getNextHighestDepth after 2 +-16383 t1 -16383 +-16381 t2 -16381 +0 s1 0 +1 s2 1 diff --git a/tests/tests/swfs/avm1/from_shumway/depth/test.fla b/tests/tests/swfs/avm1/from_shumway/depth/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..176e1db02549324bce38d16078bf4787ef80bf05 GIT binary patch literal 5571 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 YXT|EMV_^RH1Q+>=LrNU_KUfd&KW3hNp8x;= literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/depth/test.swf b/tests/tests/swfs/avm1/from_shumway/depth/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..09598d5fd55614f230583f8faddc22697835fcc2 GIT binary patch literal 853 zcmV-b1FHN(S5pyS2LJ$goTZgdkK05T#@}Rj<1Fopr3ke`i)2#No8v!8n#Rh8?%K|_ zhmS;Q71T8vyOp^Uc29mB&#SQP@qznZ_MOYnYn0RG&=Yx*RO5bK~M2?G}i zpgLCQfVfXb=maaih`OyVgm1beerLVjRe4(AN!Z9>EUUD)jpyMk(4bxW^l`-Xivbp_&VtvC%%u-8pVlX6ro(~AKaQ;Sy7&BLU~OpE=ueD z>#r1UoEP$`N-L+5pe#x7$8_2jC241}0TSE=xOeTlB0Po3I+V+zEP+&5SU3Bbyu2e+ zw;{Lk@vVbdU5r;A9OR|tWzKq6#oU}Nao@uazA3_s=@;A3ePod+La}E)8wQN4e}@nG zSbzb%@5A~>{1^B&*naQF+Wx^$pZ@yuFMkK$e|`<7o8rH)$lG6*N(G_1E6k;(3|5$b|m@uu2>t{MNB6 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/depth/test.toml b/tests/tests/swfs/avm1/from_shumway/depth/test.toml new file mode 100644 index 000000000..a5fc65ec0 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/depth/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/depth + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/doactionorder/doactionorder/output.txt b/tests/tests/swfs/avm1/from_shumway/doactionorder/doactionorder/output.txt new file mode 100644 index 000000000..bac428625 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/doactionorder/doactionorder/output.txt @@ -0,0 +1,7 @@ +root1 +sym1: _level0.sym1 +test1: undefined +sym1 +root2 +sym1: _level0.sym1 +test2: hello diff --git a/tests/tests/swfs/avm1/from_shumway/doactionorder/doactionorder/test.swf b/tests/tests/swfs/avm1/from_shumway/doactionorder/doactionorder/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..b01557536fdea265f30286a26053313fcbc7a870 GIT binary patch literal 863 zcmV-l1EBmvS5pyx2LJ$g+O1X3ZyQAvezs%BNf8Z2NL3Ze%9SiQtoK*8jaT+2sn@Z3 zaD&p^!(?}ytk~UI?W|+_l&TjHh-)QoJ##?(2j#+r{{g8S;KpCT!Mw5KA4!}*ft7Yf zZ{~g9`{sM2-9F?G0dBtnxSIjzy)^(hd%v6qsBQJbKsu!f_gPdgX%)4!Wv|u}uVd{y zyAp0j+`_0{I!V*mQj}h=SLqoQmK-ZuwOUnFUD0(JGh{x9Qqq?r{-9(_BL;_ZH}T^X zsn41EVLWAuc!hZEh*n${Dt!_wSX?Pd0!WTnH?5Zh47s^Q>HJ&|`Wa+5u2cBdak7~+g~4JijyeN8nkeR8uZFd9AmeJGD0MCc&sho~zJ+hBQh! z+N)i)*K@57OG1*`B#r~$C4x}t%lw47pZCZql{>=fnlej#3rTpGcKharharj@XY+KQ zc5cq*2ZNX@`;@b8;!;e1u;{|H+t!narzCRe6UWAditl??V`t~FzG*Zav*|Q9G;Py# zcB>n@Sv4C?z52))d4CZ)VRM+<6(*jud2his2c59(CH}FGS9SrbX{tL9n~lxK&dsa~ zD5hFz;-6A)H(}w(nwTV<3ftUA$PS0Yt=tRzY<_9L3M7oB8t_4=S<+~NfE`0h`za1Q)#{@OR>u+M zyv#xo$}g9om?>u0TV)aF)iD|jj+7rvg*>V|P!$+ti1D}EN z9M*r#0CWsk`{3(0{Qg&KzkT!JtzUos9fm6dOv+-~R_;j1{sflCqE2WKu(9Yvyc_7s zOuSfK1yK=&)DRYOztATAe{Peo;V*ehAzq?bs^kCw literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/doactionorder/doactionorder/test.toml b/tests/tests/swfs/avm1/from_shumway/doactionorder/doactionorder/test.toml new file mode 100644 index 000000000..accda67b5 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/doactionorder/doactionorder/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/doactionorder + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/doactionorder/doactionorder/test.xml b/tests/tests/swfs/avm1/from_shumway/doactionorder/doactionorder/test.xml new file mode 100644 index 000000000..2fc8da576 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/doactionorder/doactionorder/test.xml @@ -0,0 +1,330 @@ + + +
+ + + + + + + Adobe Flash Professional CS6 - build 537 2015-04-28T13:11:50-05:00 2015-04-28T13:35:05-05:00 2015-04-28T13:35:05-05:00 application/x-shockwave-flash xmp.iid:CAAB283ED5EDE41185DF942595CE2973 xmp.did:CAAB283ED5EDE41185DF942595CE2973 xmp.did:550A6EC8BDEDE41185DF942595CE2973 xmp.iid:550A6EC8BDEDE41185DF942595CE2973 xmp.did:550A6EC8BDEDE41185DF942595CE2973 xmp.did:550A6EC8BDEDE41185DF942595CE2973 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
diff --git a/tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/output.txt b/tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/output.txt new file mode 100644 index 000000000..a0abc7fd1 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/output.txt @@ -0,0 +1,4 @@ +Class1 constructed +timeline +_level0.test1 +test function called diff --git a/tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/symbolclass_as/Class1.as b/tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/symbolclass_as/Class1.as new file mode 100644 index 000000000..d1752be8f --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/symbolclass_as/Class1.as @@ -0,0 +1,9 @@ +dynamic class Class1 extends MovieClip { + function Class1() { + trace('Class1 constructed'); + } + + function test() { + trace('test function called'); + } +} \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/test.fla b/tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..0b2d085b75629de5f199a2fd4ca3eb38a5bbe449 GIT binary patch literal 5437 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/test.swf b/tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..103a93f63b2ac4d261b9828700fe84414cbadf1f GIT binary patch literal 924 zcmV;N17rL{S5pyd2LJ$goTXIHYa2%tep=a*Op2=}Bq}9@MFHKU-PJEki!E2)^+FD^ zjcmx#jCM!zCc8V^oslK?(n6teDTG2nm(o&75B)Fluk@N*kG-igs~?tQCrwj}QSOCI}PKy@DN^0YE!S)d8n)E3U`K_Q9GC+2QhSmT+!9C9*0Zv zHSC;D9Jhb*UgRsJysf<9a+*T!dKZVoHXQjXC`B z{K9lP`jdb%6xjHQ+2R`|*L8Gb%hH+^wPtEoW523tZKG-#RjsVn_v(#?*^IrvPF<*( z#2yOY=4#G=P+Orc)D9ze;PNYbi|T%@(rnb)reV%h_x2iQyRp?Q?>98ds#puvTO^jb z;>bP6jujCbzZG_ax=?dIq@Wwrg&O%kHoa9sUN+{+ zr`xZzG9Q9184PJUoxTE@56A@czx>_$?f#z$fPMwC_rJ?N{pHes{m07}KfZqYHB2|e z7?n8g+f*vSAMiPkcQ^0ETnP;RIZ+LElSh2x@&P1)xjy#X00YC6Y4HjZ2{KR+YvN&H zatBf{|M6JtO5NNyS+I@`;`=CY^e=`k<8NQ3#Nh>T&Z8gxQvaSQPB#QS8S{5HAH<0y z;q>$f+0W4c)6zVr=_XH@zqv&G@Y8`uddOSkJA24B;a!i0Hp32d$hnIR&kZ4r2qTPN zv03tBk^95IjwgYQJddN>$H$oQfgSSEJ)pA!<5Cg_ckliz!S}0MFEb)n=`+Z|kYo9rE3j}8~+bSL>>$?#nc1< literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/test.toml b/tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/test.toml new file mode 100644 index 000000000..accda67b5 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/doactionorder/symbolclass/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/doactionorder + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/dontremove/output.txt b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/dontremove/output.txt new file mode 100644 index 000000000..98f231569 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/dontremove/output.txt @@ -0,0 +1,6 @@ +_level0.test +_level0.test1 +_level0.test2 +_level0.test +_level0.test1 +undefined diff --git a/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/dontremove/test.fla b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/dontremove/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..05b846ea9f4891e18f59e314c6f2993e6912a5b6 GIT binary patch literal 5581 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 lHyn(^vnZ2 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/dontremove/test.toml b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/dontremove/test.toml new file mode 100644 index 000000000..1e9bd1247 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/dontremove/test.toml @@ -0,0 +1,4 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/duplicatemovieclip + +num_frames = 4 +ignore = true # https://github.com/ruffle-rs/ruffle/issues/12270 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/duplicatemovieclip/output.txt b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/duplicatemovieclip/output.txt new file mode 100644 index 000000000..a9242db4e --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/duplicatemovieclip/output.txt @@ -0,0 +1,4 @@ +clone +51 +50 +100 diff --git a/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/duplicatemovieclip/test.fla b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/duplicatemovieclip/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..e805a951b9fdbc25a8879f9f95afdb966628a8d4 GIT binary patch literal 6152 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 If=~neAI$S%D*ylh literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/duplicatemovieclip/test.swf b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/duplicatemovieclip/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..f5ab7a4234aaeaaeeb9714fdf571844baba63d18 GIT binary patch literal 1010 zcmVC;D9!X!}vL)UODW*5hQNAAS6z^PK3{n6MJn^ z%7_$O@B2Q_^SwWx-vKPQ04{$8a5VN}Ekd2Dz3%8oI=vrrRO`iJT@;H2p?JRP9En-3$kC6HR(G)J zPr+6k7kQo9%}iV6waM?VteAA18rp|7t z-E$0o1!*de4CI~W(pxI}8$(m&4t7k1R217bbXD;L`9aq0V)ebga*VPaZ+n#a5I8p_ zK3IYk4yy6-czgm|bV0_zhSbfE;hlHm0G&rLrao@%;g`FQe%blb=8M_7R-GO$v)c7dAeG*q>Cyqop?=oZPto!yo1Ee*FH*(}(w9yyC6k z1PyO< zvu|JnR804@ZXpLqS9jqEkpna!ujxl!LaU3Y7=cz_*QnSu1%(hr?fQD48rVXh^(ON{;UO(cF%gW` zfQ2LkKQ?xK6bClm9Ia3{6AxX9W_h#8-X!&=fn_F{GEqWM2heK~MCaBa&CX$>bzEB%+nmHs<;Yy1 z4rXp0%&d;s+ICt^>PHsd*0^^TDYFqh9yL g0_tT-rLT40NFUq|jg_czDQct+Zu?)*KS*gqxngJVx&QzG literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/duplicatemovieclip/test.toml b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/duplicatemovieclip/test.toml new file mode 100644 index 000000000..ca3be30b9 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/duplicatemovieclip/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/duplicatemovieclip + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/name_coercion/output.txt b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/name_coercion/output.txt new file mode 100644 index 000000000..b979d62f4 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/name_coercion/output.txt @@ -0,0 +1,3 @@ +true +true +true diff --git a/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/name_coercion/test.fla b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/name_coercion/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..cdb49acef7cc1b6b3797991805453e594a64f2cf GIT binary patch literal 5482 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/name_coercion/test.swf b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/name_coercion/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..7a97de979c0f1c2d653548615794d6308838b2a9 GIT binary patch literal 674 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/samedepth/test.swf b/tests/tests/swfs/avm1/from_shumway/duplicatemovieclip/samedepth/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..17044a481235c9642e455089c758d76e19522f2b GIT binary patch literal 761 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/externalinterface/test.swf b/tests/tests/swfs/avm1/from_shumway/externalinterface/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..e3caa0a818e495d0fe8ab5848d8cf842192b198a GIT binary patch literal 688 zcmV;h0#E%zS5pWN1^@tfoTZdcZ`v>z#@+vPJFL?V+hGTbN?fMkI6wjsWrF}!4{Q_T zKAG5Qqb6}=heA)g?h|m?W#4EYsdLisryc9MEfTW*=6Qa^kF9qG_C5pf>^lIjwm|p! z5dh%Ji=#aNnu2=vu-k{TFo>kBRwu=aB#CW=rqgM8S}AjJj&P&VK)QhpLsJS(UPlR; zX^}iGwqQo+GU*CGPJAB0bWO&5lAIKaId&GtOKc>|gz_;fyF5fQ5+hvJQOZ#w+YyW; zT#PsmTJ2N?`vH*`@T1@!lTzVH0G&@J)ZlpH2Nc#SRukQKuCZ8G{aS{OYnooyjQYsH zwr<*n^+q>rU0?IwDsQa=mJmu3vSw~*SRY}_u3C1@TsPm*=5|hf@A^^Zl@d15y(Ax< z?O^b5x?zYGYMBg~_pn-yu49IVO!A3vnUWvpr!yGXXOT=uloJ^Ty<)=(&;#D$HcvCqj#+fT9><%kVQ#OqklnLvo2^Kgn#a<`>}!Av2ew7 z98!SW*g4oy(_Fbbe3=e=rTJ4(*e@I$ WY^~lEhNq=;JS>5Cs`?YJ>e#^_D@+0a literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/externalinterface/test.toml b/tests/tests/swfs/avm1/from_shumway/externalinterface/test.toml new file mode 100644 index 000000000..97f35072a --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/externalinterface/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/externalinterface + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/filters/output.txt b/tests/tests/swfs/avm1/from_shumway/filters/output.txt new file mode 100644 index 000000000..1eb2b69f7 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/filters/output.txt @@ -0,0 +1,150 @@ +Filters (7) +DropShadowFilter + distance 5 + angle 0 + color 0 + alpha 1 + blurX 5 + blurY 5 + strength 1 + quality 1 + inner false + knockout false + hideObject false +BlurFilter + blurX 5 + blurY 5 + quality 1 +GlowFilter + color 16711680 + alpha 1 + blurX 5 + blurY 5 + strength 1 + quality 1 + inner false + knockout false +BevelFilter + distance 5 + angle 0 + highlightColor 16777215 + highlightAlpha 1 + shadowColor 0 + shadowAlpha 1 + blurX 5 + blurY 5 + strength 1 + quality 1 + type inner + knockout false +GradientGlowFilter + distance 5 + angle 0 + colors 16777215,0 + alphas 0,1 + ratios 0,255 + blurX 5 + blurY 5 + strength 1 + quality 1 + type outer + knockout false +GradientBevelFilter + distance 5 + angle 0 + colors 16777215,16711680,0 + alphas 1,0,1 + ratios 0,128,255 + blurX 5 + blurY 5 + strength 1 + quality 1 + type inner + knockout false +ColorMatrixFilter + matrix 1,0,0,0,50,0,1,0,0,50,0,0,1,0,50,0,0,0,1,0 +Filters (9) +BevelFilter + distance 1 + angle 1 + highlightColor 12 + highlightAlpha 1 + shadowColor 34 + shadowAlpha 1 + blurX 2 + blurY 3 + strength 1 + quality 1 + type inner + knockout false +BlurFilter + blurX 2 + blurY 3 + quality 1 +ColorMatrixFilter + matrix 1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0 +ConvolutionFilter + matrixX 3 + matrixY 3 + matrix 1,2,3,4,5,6,7,8,9 + divisor 1 + bias 1 + preserveAlpha false + clamp false + color 123 + alpha 1 +DisplacementMapFilter + mapBitmap [object Object] + mapPoint (x=1, y=2) + componentX 1 + componentY 1 + scaleX 2 + scaleY 2 + mode clamp + color 2 + alpha 1 +DropShadowFilter + distance 2 + angle 1 + color 23 + alpha 1 + blurX 4 + blurY 2 + strength 1 + quality 1 + inner true + knockout true + hideObject false +GlowFilter + color 321 + alpha 1 + blurX 4 + blurY 2 + strength 1 + quality 1 + inner false + knockout false +GradientBevelFilter + distance 2 + angle 1 + colors 23,12,42 + alphas 0,1,1 + ratios 0,25,255 + blurX 5 + blurY 4 + strength 5 + quality 2 + type full + knockout true +GradientGlowFilter + distance 1 + angle 1 + colors 3,4,5 + alphas 1,1,1 + ratios 0,50,255 + blurX 1 + blurY 2 + strength 1 + quality 1 + type inner + knockout false diff --git a/tests/tests/swfs/avm1/from_shumway/filters/test.fla b/tests/tests/swfs/avm1/from_shumway/filters/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..ef9e6414b73f943ea938d48cf8f009073092177a GIT binary patch literal 6569 zcmbVQby!qe_a5nHgaPRx6{WicWatjb0UTfmfdT1~79<43k(6$v8v#KnX$k3&ly2$x zjn~iXy*}Uf&u`DOo|%1SzwcSkUhC|$)~lh6jsXGyZ~%b1qBnB1gcj(y007{J5u?n~ z#?A%q*fT zll#vyG#s42TtLd^@7G}i08bfzx&TpEg*ceI+QShpoF4XeTZRS>i-JJkS->fA(b*&H zx09kztB%knREM#~UC`^SE4lZjlwEp_*YhEFoU8MqXC`5+c4H?LFaMb6EF zall%S8$YPi0ODRvns<4&9c!(q^&yPXONiQ<)iQxAi#g$O^U&w$RBb|uyX-6yt?F&^ z5ro~X7Db<`ys!+5?jF3fB^CgERoAT0ZpToySXAG5Bpq9D+jAjUTyx)t`ZWE*sV^bq z!Tv`pI^3=o#JPhkWW8}C_6H0rfVkNYi|4H2(ioLUEZ>0NiMOae~)ki+vffUwkUgjnO0tv;%4nk)6ZrfD^JJ|1KFqK=$<_St=_%}QQ7iW z=LuQ{hC8(qtv5aTa#);hqJ@rixYY&1igW<{T_j*9uT- zsrI}EB_%UPn5;=|QbxvrMV6C=c$J*Ich|gy^brZwfhD67=c@!C0Y7)w(}QK7dLkB* z{V{1DRmwYxLWVv=Ih8ILFD-n%0iMITGL&fw%4KksHEm4Z+#(p@brjYFfd9`&|T;`)gki=FKi+b?g z*Sw8-BE)Q*w60Eew8l;uo}GDkRp^`k|Dz}-)Y0&sF z6tIS;wBxMkHKh^z=>zAuXuTweBs&_DCRL%6PRq~8T<$a%E78Hs=3C?)ejku}TI;8C zn&Ns7UuxONuVqS)f#p2|SFi_R;BAF^I^XR!g-^@Z?02dnz(IsVb4$b|XtNk@R=OP-4 zIaz*W7W^0x@m3h`#@2hwku8dFrt#LuX}!<)M**1J@w7y9T#LiZ;Z_w&0#B?0M0UD5 zzSLOA^{-}1cvYe$%2-41YKDenc;zdt7aHEp!%Oqg_X+&2;(F75{Rphj6uL99UxJ9i zxh`M4LLh85<1o%aSn8gWrH91A`RtBfS}WnEhH5>nx+99*$W_L@9+9Rkm)X%}RlbV0 ztLEmMW_SFpgUSm$>LZ(#(Xqhe3zhBau4Cz5STmZ~lzU{y4AHIuz>YFpu_)=5G=cI; zjJVa!gJp}FwXM8@k^&}=9@?BJUd@22t(!~VK3+&Dw0{(p;o&%ii|yn4j)%XY-mS>O zFK;OUOmm#ROSB_2x2gYRndDnG|@P>1h$QS7JzHsNtuNu?4ouWZf;qM#;Qs zaMN5@$b7dfq*fJr2nEn7f)1Cw(CUgJitoqy?2KxS-gL!#<*3)*r#0_{Eb@uiIyySg zUp+Ffw>7fFy}eT?8tg>bKazysWPuPN7xqK2j%*G(wWr}XLnrdyHqxtkiYgu8H;MZ7 zxUxE*K|9W+u_WhS+uAkoI@geC86m8flSmkdR*P7OtA0P#MFuVhTRoO4rcsJriDhi1=z4 zGq3U1+w%g;sLrNxqjbMFkGJ!`35q*+733VT+P5Q%3hAFWKPTl?mhs{HVrS(C8Kubg zOCl#t{mM;tC&SDHFNaO75)#f>)=H~17swEYzAgR%=_j417`K!+p~bGI(0{q$Q&KH} z=O|hH2B(Y*nD@A>)aH6T$?40a3}g91!sD_Qdc}<-7J@mz^2HCF2Clxy4h z-e>dt*~-_$q7OSO4ft<`2}ckrCOw!D|FHPV_gqwHEq-M%_rPaS(ddYwR4{7x)nT*= zQUT~Gt^K5DxU_ENCE8R(<|T{vnwE_db~3~6WTYceL#B%#16k><$lSMJ7&-+@vdpg7 zm)oOMtc%HmbL|h8KGWD5#jcvnx+TWJ8nR#vxt$v9m00jcLh_W6TfE^gLTq!ZX*9S# z>?MRJLgs)Xyz!(+ic+L~(1W18tWYyV7k}rSt1o3;`|>CcC=aWhP5=d*riy`42Ne#< zW+rf;ZACuT=zUU7Ln}i$l1>psPA;NGtCZ~Wm<#N$SG|6ZQ!+Pb<{KM-cMW|oArF;Ihu~2*{-nx6q8l5N zh$Y%{MvLG_CA)x^B7*91xT763`064 zbNlId0m8p@P+&DI7QNGsqWl?;qcN!v?N~e5-yTM7aOOxj%^an?iC;#=Ej&E875kz~ zRak#;jSZ}Zyod9ka-#Q*fQsfU!=|SRrukGzKlc)&o(p1W-v_s%1Ghf1CtD-zleDX< zyjh_S&Opnkejgi~Af%puLnNvE)8{wjILYLb^m<=KlMj{DUbBWi$o}B85`^r=t>bJ@ zP%aR$!Skx+Y!Im82&6S@2w4X9OrjZBZo?px zxGR-)Z(}yOJ|yv=iIV3sBN?wj6ZAbD|v!Taze2&AF6KAXFO^0U3e#H zK)nS?<5DJ4^?rJWoingFa9iBZMt!2&iw+WAo-`QizFpPrSGGa>_I?Zvhk#$2N#m^4 zb@Q#BRYXIPkz;97)J|Sc{+0U}F}d}D#S^E1a ziNsdByeF9dPW~uokXtjVP7VSC0Hmno*KjqnvvIc8hP$}fAgrAKN__((hbd7K-Uc}s*`nSjZd5>Nb?X|H4Xj&{x7YQUoaPf;CC*+TX~Qv_S`YBb4wG%EKGC= zX=ShyZuBTq(5!#QMqwNSiXTi4z^)oicpba~K6)3L(xe;3djWF@zLl?ZYQk1R(JFFX z)@ktUI8&&2^pVy~UN+QNBaY!dtg0oF6k6jLwXOX|xG?<d1FNHJxl^YcFE% zJ_z_aO-$q5{r;8sI>96zI6qQzvjE4WpvWT*uV?>lI*S1gd{46_8jTB+v3b&o^CoJd z&gpStTFyQvjw9turh~{PURaELtP?#-^trvJld5W*WimCum=Il4f=fCGSW!u~im4zG z8eoDmkw{3}M?K=ZFV%y+&WiDv!NQz$74tc1Illf)lAxRqFc|YgU7EP$XGE!F4)P`C zEWT~NKzB-iZUHJO*?DX}Zu*a-;~F?RIzi;XmJTfco>i=M#;6x(lHobwPQuxZ24F|Z zEvd^p4kP`mh7bu2@;&<~4LL2ct8`3=m%M^`B38*+dQ(k zeaWp>0mg#QAlZe1w$y+PAL%TF`?W`N<(vrm!Y81Fj0@QyPbSgxcb81EZpY{89!Erw z89E9PF-#?rJ7^?rM)Yb@^F_oE@RC(#CDWjaKFEI+UvxdC>-|xKl^e#8dg>H6WDYrq1hs*R0=&+@u#oc2qS!+}0kIHMw z%peaL8-`q{FB$*x^F7=`r8hYC@n7(Gw1RYkkDl@F<6BbYR16SULdWd`?H8O$u-B*3 zwXUEU$lbhEkI#bHB$2yMl@_rXBM4Pe9c}UXUM1Xd;mZv>oSCm;(IUU=MYY&Sl3G`^ z_E^=-=SGlbioRNym2eQ&J(r5!H_d5&91IyN*M;NSw!sXUxSk2b5oW={Npl($-+U52 zdy6*%sns@o&fKC78cK&nvNr?S*+L+F38sA=Le5PzF82|xxyoO|5ti1cwB5w!SF%#_<-*d*R<7OO`80*1VoAG_^F3}e7_G8S2CQ!|&t zL-c-6kK%6;^=0*yQoh*JYG!<+T@S|@GOgIjzDy_HCy^IT;(q?6LsEG9i^UK%{j zn~K=zIo{zygbcrJm>-+?lE*bx8xQt9H_-IG&8w$rHIzCvl&e$?eW0tt9mKy_cqWjZ zA$qTe5U#j%kGgmB;k^p;cekCqd|LDZ3sNM=D&(HUXf^haWiyx2J6KG&K>h2Ml~$CD zOFeq;ex5pxi^Kpncuh5_55`;SBYwj@pID+TW_vYntX&Jom`DF#FW?qw){Flu$-l2elg;d>KY%=96vTyC@Zr++L z1@~?_`#x_QT;a|&Xvp8rs5G@t<(zD4CA!$4{Z8Y)&5jdwNmcct?_GRgF0-#FFj}8$ zo5Qk-oivFd7JNTkM%&uL8_4Bm<3940mG*XmqDa$|IHP&v2C;QNjvD+(kM=U(qagj> z^ga_d8A;Z2OFArXK+Ng$;e@VHU8b1T(`b2Z$RBMmCwd1q$$N-X~%aBwPmJh$ye`fQ0CxVZCqC!41~HA-a=D=BEXI!;&etw8Uefx@)wQ+dLSYtCOqMwm&XOcn}H=~-c{T?Rs>RIo0#o1%b zPEpq)&Av8#N5EPrTjY>~qf%bQIYRzIn%pyA(BRRVLp8tnV}2R2%&RFwW@~x=*T$ym z^0h-R0Zt%!AfI|4TGWsToE!Xgysu36P-+Y|AFjEM=}VhJH};^bZgK7CafZe8SC!5& zAy+%*Z!0lrcM(L!vF)~8=^5e*`PBY7rb$PArS}5GLx+W;K}FV2zYNQ_IVWk|_7lSe zIxhs_8{yTO&g=HARwrwAFQW}2J->Wq6TXzX)OJ^h7P@s1S+d6>gB$R)NJq#8JS5~B zvR@&!AkR1te(iqEVW;e#K+Xno_0CJJd0>2}ST$N;tOL}#+*5ec7}lGWT4K`7wXnb1 zmx^$DOE(4WSLNeMoMum+HhJ$B*CaQdLP=&8f0?%29ue1ez@uBrquXk3nu@7$EMMpU z7(aF2(l2_>_reD0So#YJK`#tpOwrb>>M6aar65;ql5MzO{n=og+Q+3h=Am z`6()*N}Rt33F?%2 z$>%n9nQQCy@7>nqkk##9k3IJ&9f8RyJbb9TZ0K3eM3f_VYEb&oW58nMn?XS)yJekp z_4A^tOy)UWwtkiZ?Tja+ftuusD~lln6BJMAp`1SAG(`Ez!!~K_ooY0Z5S>ET)Lmp{ zTjxvNXNmkP_TGA3#qty2O724I20Pq9uHC=84M$X+X|Jvb~EAbqYQ4Z|AY_r zBM79Yz<30X2!wZc779P8Z6rv1R6aBm`7QUhjw*h>?(8X5i4-<)fJFB^!R)X{?K2Zl zy|W)f5&%GBCb0%98}~drUu`jItHR)HV@trr0up>ttkT-F+7=Y)#Z> z;ryj3w@a9#v!lZJ!+w;zW;O^eR45^EM>xWQ(;Q}Q4YxvFp2NljV4;L(VgLi+7HW=4 z0017~SIhx`_r<6SsPS*|hS>QKO4QXK_CtEMw?TD~o{n&sqobXTIn2ez0m0>lx(&?2 z!3_SFg#9n&`u_pHfd=}KmH$I9N4fBi@uz&Q{BQ6-R{rJu&pE0k1_+|;w~GG1Q9pF_ zpW_D#in4#G>OWz>TJAq}_5a{dUqLAQLuJ?akEg%DfA;IY!Pcma`1_v!?B4&R__OQz zO##RMuRYLjg8zPu{3dvaipPIDRQ|mIe;zBp@y}5BU%UM);eH%4zdZOA>_0R4H-irO mf6ePZ3I0sC-vqlTf?v6-p^S<3;~zZKCkZ8zaQ%230RIQwJ6*{D literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/filters/test.swf b/tests/tests/swfs/avm1/from_shumway/filters/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..72bc40edaec04f4ecc42c865fc5cde2d7de81dfb GIT binary patch literal 1713 zcmV;i22S}yS5pzk5C8ypoTXOHZ`(!|f21UfPO^=i=EF&ygm%{1CaFwOvK>pcomiIb zW&t_b$iODpLqUlni!HxGQvSdmwnc$%PdyUop+I{o_OwlVEztj=f583$d);dR?VA}= zqGVNRQ^RjKeEj`>@6CHNV;@82eSq^{0n7+cot^@Kf4q4n1F+`lt@6|Aj(lvHwqM4# z_4#%XxMf8-IyzcBDlR(Sfufd5B_&@_3WXdZa{h@OXvaC*zcs%hGleSgo1WnYhGWb0 zU28aV6?#R+r0#m0W(g zoX;n?9LcFQ5@@;>XbCd@miCcZTuL$rfDzZxjn>JlnSGeNrVQ2a*Hu+-_KNCuJd<@w zZz{wj7O?{#3#+oi>dkV?@hmOa&|KFvni>^Uj&pw7X?}R59g!?%QIeQYtPNifXl5t+3h;Qe(BM)9lc?MQZwQP)kr_wa1=uVBlsQp}MoG zZs)fuC3SUso2qWEE~`7G%H~pGHLq5e?#HSlBzn0L&p0Idj^|jc3$Et*gjQ;OJ}wn4 z6RU687*QtmRSP>sjn(wmS;sd4Ztzxt-m%;`Aykc~3|iALq2tKI6Y{}gP6XJ8j@hAgi2xc4)?_i7re?X|dc-H* zA>nB>49&-|hlY;;uJSy3K7*>^yQbD;H&IQC6S5qgfZxY)I?c*>L@^y{n6OA+~B0<92#WHG+bz4m2|fB6KHiz6Ap-D!RHIf zuB0Gy7gA2+14!GNML=vB#MFKG8-yaH)3?J(n1JZ#p8^P1!U;$VX;Ff`_bz-XLJ`m* zp(8Eq?IJ}IcPS#p9DBRB!z{wHBC>ZG{RwyV2+QGmDonGGdptvY5v0s4Wl!wUF}t@74Wjv^UVs zqfMbrqg_CI6YV0}CA7=g8H`#9&!P%0B!w^1mGu!ZW_XMR2&W;^X1dvlm_IX?f0gsE z1FlxOCcVXK#&}o9@@6@29l|>_?sc>qxW=1kGS27F=BXY&Z=wA$dm+}H9jm)AO81O( z8=rqddmHTz+Fj|M^p2F17W=vjV|5j-yA7dAdy!}TkR)|PKX}Zz50_(oWvqUI>z5#0 zfLCc}r((^*Sk2;K&ZGCwHE9WL8Exfs&c(6%_kXwk{iHq~T=5AzD0td_`k6*pjiY5D zD^Oesac@BOBAu7nUX$KM*A0-?dS@-ev3y8V2v2&QC7r9U(MNeUETD1*BsGB+d$TSb z3OMv+S)!HjVp3fg@Mq$H%oX{klhCvMY@!m@!#rdJX@iIED`a{}Tpf|bOhR--f_LfL zIXYZ9orpLxkzySWOlGilVlNx^x`|^}8YUL%csn6c$Oykoy)yXWRCJ||Tc{6^ZgO0| z9Yfs_`vMP`z`c4n3%_~?(CsuioWnvr{BuP4JJT3Yp>VeNY?clagWXCErZ*WEytfZd zhnua3FA}}`E&8v=Vuz;EJ4pkVcs;zF*vy=h8b;03!*v)sFhe2cd$V(ctvfd?maT`G zs8Eli^LXl{e=-F-^)1J;G+Qsf=okU|e}p+41!%*C8zB4_XV5Cb)TMu&zwym?|5^L? z`(}j;lNnjs8dH@4I?^XCS>5qL$f6~|Y)5ZTE HwVz`@&y7#L literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/filters/test.toml b/tests/tests/swfs/avm1/from_shumway/filters/test.toml new file mode 100644 index 000000000..7cb78c31b --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/filters/test.toml @@ -0,0 +1,4 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/filters + +num_frames = 1 +ignore = true # https://github.com/ruffle-rs/ruffle/issues/12272 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/haxe/flocons1/output.txt b/tests/tests/swfs/avm1/from_shumway/haxe/flocons1/output.txt new file mode 100644 index 000000000..289623bc2 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/haxe/flocons1/output.txt @@ -0,0 +1,2 @@ +0 +Sprite with no ShowFrame diff --git a/tests/tests/swfs/avm1/from_shumway/haxe/flocons1/test.swf b/tests/tests/swfs/avm1/from_shumway/haxe/flocons1/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..62df325a7fe647dc6e3352eef143b8b543c4001e GIT binary patch literal 152 zcmV;J0B8S0S5pzC0001Z+N)q-jb~usU%g6uV4r+D9S8JRVdFa$xz74R|w9?FLx_S%uQvO zCcwZBGK2#N*_lBMMqBY|OhBFth-C6p15wOs%>oQ=!Or=)xruoxR)wXRB|xPPKnwuq G6d*bwmqZo- literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/haxe/flocons1/test.toml b/tests/tests/swfs/avm1/from_shumway/haxe/flocons1/test.toml new file mode 100644 index 000000000..1a361767e --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/haxe/flocons1/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/haxe + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/haxe/flocons1/test.xml b/tests/tests/swfs/avm1/from_shumway/haxe/flocons1/test.xml new file mode 100644 index 000000000..731e60682 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/haxe/flocons1/test.xml @@ -0,0 +1,72 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
diff --git a/tests/tests/swfs/avm1/from_shumway/haxe/flocons2/output.txt b/tests/tests/swfs/avm1/from_shumway/haxe/flocons2/output.txt new file mode 100644 index 000000000..b7a6e835c --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/haxe/flocons2/output.txt @@ -0,0 +1,3 @@ +Test +Test +Done diff --git a/tests/tests/swfs/avm1/from_shumway/haxe/flocons2/test.fla b/tests/tests/swfs/avm1/from_shumway/haxe/flocons2/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..217244823a225c9254191be09646117458d53648 GIT binary patch literal 4610 zcmbW5cU05K*Ty3d=^X@>j`S)WX;LL121o!ylMWFQT7V!@q!W6P8kQ!a5|An&BE75> z0fA5iR{Da7NUy$OU4O2g-GAOW=brgya-TbsoF_T=Glu%aBuoGR833T5C!*b$@*(mf z001}(!V&-hM>wMVJsfR4Jlx>+wkWteQoe`OkjZ^OhiA+kS92wDFdXFJ{mX&9>;!zBJY>#VqeHdI{rfRLEm?$N4Jnb=o=mD6zo>uY{TS-l`nRWQl&^2dw4S5 za7f^ySNa;}GAj@6e|o!jAAy85<0;4YVz)q2Vc2GtH`mG;@~K@r4ab(B{uY|If)$g3 zZPHxi1Hq}f>KPPu3%Cl;Nl70t$1$60*KF+3JA^192B435ui+eYMH_OHD~B$QQ~b`S zn0r6}QPO+I$p!ioe(1C1^pqo=Qd{u8$|HxDR}vk~1<4PC5^w5rL#mqnu7d`GU8?o? zT5jH5&XCFrjd6)Ls_;l9VZs*Qj_T1`{1YD|DnS`_Q>p8%cUf$-lco9Xt@s16af5;J z&uo#PlUdtaFY0u6!pjjk>!R@&qwun6f{*McOd_x3gFUEO?QJ5~5+08D16_Qw-LXc6 z#a$Y+G;<0Z9i@soBUucwbiPCk45V<^iTqiT-=AHQFa9i(^^%=r85kSAD|kTOOPOou zbc6Jyoux>57(SK7YE=KVNaj^K{p$u*cIxMm_{tIT)uiZSUz_Qxo8_MuPY&vv7OB8C zCBXfMek^4>Jnbc~JTiBhLLfpI_UGFE8@d&Z$&(XJ$)y=pX8cog8$ z+@MH4;i^YDu{K3N=TTbPS`|zi?*j?&1dhil8ODw@?)4E>JImGcqnvGgEXODP$-8v~ zNu7uW$bF6s!MD>OLLWa?SD?2<^Dv2*XS2evHT5z35&HGP;UW{}&sNZIs?ZsmidiMH zl`uIA#^+n>;_p+Nzq$3h4LL?;c1j60G$(kF`JZkj{FrPVY*DsnW?VM|Aqi%jUSM^g+(OmbZvM8Z=NB6JJ&h9Tu++KD3~X(>_Yq%i*eLQ2LLwt**m90#1F z75+^<KK^*qVikSJA6(fz9>m1=_cFBDW7>BKuw<@5r#Alb3|> zB%;GtAn2hgGDhBn{;xb#Vup`bO43J#tV1@2*jLDZSD)TQtn!eAwy4+Mqss@kcqfxu zZIQb{+jjr~)D=k6qqbu?zRUARr~T#w%C)$dF~vv^)jTEdS^6*Zg_2a1m)=$zM3$vz z@lz^6GDK3S!FeLW^OoH_#GTR?W1b>mW599vnrHEWsUYN*qD~ZsNnDpEdA?1|TOC>D z3HB1o1=6{mU{!9ncesi=mC0G1x0_nml zgVKy6`p7#~W{;odhB^9*?!(mxL>`x9wuq6-4|i zHG-?lK~p4b7o^{_Z$E!&-Mz7U>|v<+WNPaeS+eA3v?8x8FSP4>UiI7sjuX zrkhHfn2fM#Em4I}X;$2g} znhahM{;KbA0sxEzcN_ZHxxu|%AdV;$9O>-+m$zXE_bCO2)0sQABvGAWNgWa~IW?X@ z^!(D|*sbYF#3umpIo=_;%P^?Wn_Gu#e*3~HRq~3KNHqinRGK!bo!eP~ZMexFgITm1 zSiwH3kDl39&adpkamgH2;8oq$Wu~9-?!9x_?ph4g z!z=v63Ofl@C7BTC-RU)qX~D2_4sW zGK!=KbCS;eF@Ok)EiST}u=c+3#fx!@88_<Er|LL@fu|q&JWvKH8;rSe&bIEnkoYwVFG-U@l z8P?~)ipEhE>qlJ_<0T+hSLlOl&R)2a-K^XPHDK6rEthZUZ|~yTpK_(ky|Y+-o4rPH zDAX;g$+lr^#A2wYG1@ilS9y0Zz@`!CQ~W|n%D}v}e6u({Pc92DZuz=N-G{>V>2v&h zic*fcD<68FOaVJF(9g{Lv3!XM79p;aeQ}}-iciT9t~zLLL~1xuRN9hV<)WE7V*)E@ zQB_M!k}ph*j#n0>?P4Lwt7e;JB;0M;>P6W!Wpnupw&MYs9om+spT=;?#J-mu38f~! zPpcZhCDqt6M_zq56V@SGkV9|qXq~1+Hkk)J^p4EAxT3?c-_Vs|o-#A;QisV zl!z9%F``-tn~eJ+m$Puy(b;R9;$@@FC(Jif4gDUs;r|eMNbD1|FQAbXKS}yj%;; zwGKS=3iLkskip5f=*;8A?8Cp)pn`ak77NtsWR)h9F0Y!sAj5P+yRtwu#?m${3!>-m ztA*DRPo&+~sHk~YV!8B$&Nvi5k@wwN^nce&0v~MA&s`>veH&TqJ{$Arjm;SG={I3 zqQZ(1kmdzc$UM_kD$>QqI^!;2*+NJQ{Ji;tG>ynQBK0`ZXy&6d?%$n_%X;zz@c3_G9*D`Ml#J~RBd#vvd!&WM$3p5hbP+x$MNXLyBb~YvWh_q zN!%{KuOnQd%BY|0QmmVJuj+$IyJ8z*$sB2-@#)y*jhude8WR)#v17WJ;U&q(rB2o} z?KWyT%DM7NQDXae#Z`r+_b@uDqY2kbxub%L2B2dU7snH8W%E84qbsNgUEh5{%wt1P zAcKS)ybhnAMnl{ej#X8N%?`kSia8A4T4&?6mcr$2x3EA~s`0lAHqrv66NA_Rx=Vnv zrmjGcvEZqV*lu=k!0U!l*Rl2T)Y3g*bH17AR?wwUwhEXA{me5jO2B@Dj#tJW8d*m8!)siIjehbX|Lk>s z2G!+N6dxNQ?<~%mBRe=!0^*O*a`bQ{V6(lgy^EtWVR?p>96$n~B!Du*U#v}70=zCG z^in_J^#6m#&k->Je&GDCJbt##x1mOuexh^zpOxS9&gL^L|2F6dlNTX=K>B~H&M^Jk zI8$X3;vdldP4=Cae#Q2`b%d#z5WhgY;om3yF8&p^eu#C5|FP#k(d*X|zjm}gN?bYr zul?5TF`T2YM)ipo#>ID72c%#tj`R(xk1^4%=aqA}aNkI4|@i5wMj6q#oF& zmiuI4Q>-O%W}COu4!iUdaNalVoB#z1>$>h>TXvr3XXo)>o`BL<0ABtA;B5f}uMPkJ zKVBb{0H|@?_b!9BHi@G|cxqO!45Umw2*=~GF?I~buc76-E;Mau+qzQdVwy-a(Gzi4 zX=phiAR^>6m6Rn~Hb*@+l=Vtwft|$Z9X1gL!mLM(ki~FjigqB~6qyd;7Rc}SG}a8WRwjyemcBZAwU#rauM#0AOp^~%zaiSu1Nnh1%K zkX!@}F7)pZ_P0KO%OPG+aD_ z4Gs9k+uPd@dpGKVyfHutv?CU>L;y*I1l_C)^T(nUr*hh1BTD>;rXXMm0kh|z49bOa zalfGK{`*-`&EI8x;nUIV1<04nV856Rd-XS)-_`K!=;r}wU->MKQG&hiLn@W@qiVka HaC^o4@E1ER literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/haxe/flocons2/test.toml b/tests/tests/swfs/avm1/from_shumway/haxe/flocons2/test.toml new file mode 100644 index 000000000..1a361767e --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/haxe/flocons2/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/haxe + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/hitarea/input.json b/tests/tests/swfs/avm1/from_shumway/hitarea/input.json new file mode 100644 index 000000000..4df59e8c6 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/hitarea/input.json @@ -0,0 +1,6 @@ +[ + { + "type": "MouseMove", + "pos": [250.0, 300.0] + } +] \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/hitarea/output.txt b/tests/tests/swfs/avm1/from_shumway/hitarea/output.txt new file mode 100644 index 000000000..e26772bba --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/hitarea/output.txt @@ -0,0 +1,4 @@ +undefined +_level0.hit +rollover +1 diff --git a/tests/tests/swfs/avm1/from_shumway/hitarea/test.fla b/tests/tests/swfs/avm1/from_shumway/hitarea/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..e81250d63457b0b60ed982741c61ff3b687eb7e8 GIT binary patch literal 6132 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/hitarea/test.toml b/tests/tests/swfs/avm1/from_shumway/hitarea/test.toml new file mode 100644 index 000000000..f4228dc28 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/hitarea/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/hitarea + +num_frames = 7 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/label/output.txt b/tests/tests/swfs/avm1/from_shumway/label/output.txt new file mode 100644 index 000000000..9e23d3c3a --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/label/output.txt @@ -0,0 +1,4 @@ +Frame 1 +Frame 3 +Frame 5 +Frame 6 diff --git a/tests/tests/swfs/avm1/from_shumway/label/test.fla b/tests/tests/swfs/avm1/from_shumway/label/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..6e58561fbe305ab723c5f8829b8731d9b3f450d8 GIT binary patch literal 4721 zcmZ`-1yoes8XZ#UMmhvV8fg$@D5a%)=#e1@kXE{ep+gWDNO1f2m% zrF_Hl`Skbs&RXBS_uRGjIrrZ6eKX(Q+UhvC)BwO`0Dx3aUAZNBIg%a#09*v-7Qn^9 z1?=hP2DWx{b9S(`_H=-{3VOTR30T`fZNLJ)_no!>L1!kh!y&-XE`l5r*4{2R`JJt8 zz|QXc0OiL>^c<_Wj)+ixpWL0Xwjz zkkT>2@Hr@{q(RkyRl@@d8lOF_6>@g)AP{J#)4VHsCntF?U~xXcCtBcL$G|~E>@Ib< zd`v1)K=UwPyNGR#p2GT`pA)*iFf+MfrD^r#U|cd&UQJFopM-{DiLn08<@u-82q14V zw+ZK~)&qh&IxkY=-1~HwG=MNrjK)_Z?Mzh)q<5K1Hnld#c#(=7>=GUcgGZ@7q|gq# zd8d#mJE4URjL1|f6>VR90$Ve;-Pd+E_;@oQm`*e8Bey0BKIh#hpMv;8_sxQ=AoV=a zF&pkA!cF#ebrV+~rk<Y&seY})%wA;Eo9X`PgYl8t?HX%ZRLcK&wI z%EErWa1Rnjdk$&5*C@9V2w_;sBa3ecX4ZTpp+-fag$YkBYD3MIlW&ek#|}2i$6v0;pE5hExc%S3KE4w zH5quPw6TAXnuCJ>=;0w{Zj ziX?UdJp~2zql`-rzms}4S+$l=cntwB8ynJyY4j=N0tbL%kdpMG0(^0PbEnYp;W_xR zGlBH`qxl6jEs)dYI{va@*E;Ff_vC;46x{Fp|i+4I&Siho$+lgh_j<2vIQs|zRVommQzufI)ey8%jBY3YBH2CTY zxfGU9Xu^|JwG`aEJu56`;^IJHhzYb|NuVY+)oXm#Am8z0_b>$mowzHTxrA3+dt|kI z&Hmi-$Fe%@c4i>XAuIA-T2 zM$Z?abM2AJ9a)Kx{t}`GR<4o)e(ImRgVtotK6gFJuzqi}xkbRjlCf*p;P$35%sUU< zzb~t$L7+WK*bhkF=>)p0Gy9^GlA7UskYl>mCu7#Dh8o^&YPs> zbS6g~Q&KQc$9qKf&vI$mtGe5W`B$-L1pufp<)ZCnZC zQl2kZTH{7_@F%tlM$gu{I*jLF~2L0N4D$i=vOMF>xF_+5L7xD6X^#bxyqQSsvk^IP`30)E|U*lLbch5OunhD zn2j&{1Y@no)6l9gl}nkaPA)!7pe zxl90=CW`cilq{ASMa~6wv(h*f-lTH)wOS|}0zY1@8%U55ec@*7a(^IfQyOb&ZfP=^{kVj!Q zlfpt}mNUPVz38Q}+c$&ZaE{Kd5n|2Pm3uA z)vTlYGV>=mJ2!;r#b9gtd(@SAVIJ8U!uG89CGb9HPY0nhS$&-aaB3^6i5?PwiCfVyD+UMG>0=c`NQtLfPNbJVlga%-U;o zsuS<#Bs4`2-E*~wjBM&YK&eabt?ouXdMjn^i0RfKRZ z(LcTXa;`A-%A5WyVUI>3IcY7^?~1+}l5LP8EgYI7(rq|m#9+`(M`=4YQ8{(0xV~H5 zFsV-(`vn8*@Lm*lb`tJANX9kC!`sMgmXU{9B?D{;!s&&!FqS!Jz;@(`f4rL2is!Rlys*o`vv@16CVzNXiENw~qzT}ZA^f}yeFo*XC;;Y^X4<9l! z3e&;$kiYAHPeh9;&zGANM}78LV9zF?i`#~dwDSmB6iZ~V>2M&TzOqB8}ku2vV-l>T!Ik z%s1V7dhAZj6(=p#o><>h&n$fQ6c#_rUq1*J`@%_vV1H>3lO<8TerVec*KaojrD*M? zEI(OJeTrL4v96w}#2C4xpf_4IZ|m`pESYSHTT%R9C#AL|*XK;giBG1T7_!H2NNK8`da|*UTF998 zLv%PjBUHS<-hdZs_Z)IsIDc@hl;32+e?lM?;6`hP2DNZ)eIICi5bN7h6*z-qsgXZq zVH@#A?{Glo+zY^#fm3(LaCA*Ie=4kg%IO^S?S92%`7DUb2uc`;g_@Z7-ungl^271l z*XWQp5#@{%#*-sy<1ZgQqG5jPlum~$oec3}I>YlOjDO*0_11oDLRnqd0G$C9Cs zTC?BC-Ss)Ntb_&yxgHub*R1#cWj#x# z43xn5CBUQgXp>e7=>p;j9Ad^pUU@Q4653~U`C3+!BR%fpH|TwCqqH!mNvV{P@v7ap z)j7Idj*hr|BHL+JADO>{>^>$ z{^k#)B>G=jc@#K53ivXkbI9Q8W2i6M^4XI1ir@_8(24QuH^u}B0e;lL1=b~|^=YZw zO=JyMjur7ZFxxh zMf>2*qCJ|`o@mwBVSmE0C&z`Khr!>q4cxj!-6yJ90Z;Q!I;!Har##>&XODAg-+PeT z*9b8|`Uca6w(N4<_>ePpX0GxLM%qFhVkuIc6X|*OsrjaVK@8De!8clMr69o1J_n<7 zF}fGi+WdE5lmS2!YUAJx{=LolC8sa&vUaxwm@v4Dxaf;)99#wU{9Kg4ZeWbSx3#u~ zfbB827cLP3@Bu^sLI53r88g2aZz?ctlsXnRHQ@g{2S1QMk3W5cKUseo20!rtfE?!X zf9!)l_WXtZ;a2>ZUl{$IP=Ukm&_L4GaJg7HcImM*`(+usuA e7ylE6|CjX9R>#9U*@YWK0N}s~R>_NR4EPsYr0qEX literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/label/test.swf b/tests/tests/swfs/avm1/from_shumway/label/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..fede643da9d51c0a6292fc8c2d352dad229aa3f5 GIT binary patch literal 618 zcmV-w0+szkS5pZG1^@tfoTZe(Z__Xo#x1rn!2yO4Xh*A)c1vwH&DvURM`?+)Lj~G) zM_%k~5lI|ucWqA`xbDoE|Fk$++O=C51rAY^=kNE${`~YNVCORcFMk5CzY7Mh_5c9i zUhnMy&{jO8rvo2Ok~r1WeswBW#$*(s@pxPvyH%+!5oxtr2-i@p=2(TJr>S8RC)Ed) zE-V}dLI*0!Oe9m7f3piYGM!4Lw4Ef`!Zy`a#^r^m1~NetmLXEbDEF}<+E;=Zsm`U0 zyS-cm{g~-1_({o7Xl?CT4EtwC(191DDCW>}8*Ox-T=EhF`*drV)E$ByLe6oE)(Lez z2YVFbCH7W%iw=choEdf>CYaXh)Wys2inhchkHYCj@SPI2(Y+)$&UQF_Jl!NgbG0_7 zB79t}&!?F{r$Wn-3WSv(l(#b+(vwshmImTv(6xnX6md#$i z+#YGUt!A@0=qfsQ8^~akh}4vB{4d;=(7D@36i0e1pY>&uu$0rUqsRcTYZn3d1&gc8 ETIUZd7XSbN literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/label/test.toml b/tests/tests/swfs/avm1/from_shumway/label/test.toml new file mode 100644 index 000000000..0a1e11a73 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/label/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/label + +num_frames = 7 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/levels/output.txt b/tests/tests/swfs/avm1/from_shumway/levels/output.txt new file mode 100644 index 000000000..f8faa4db9 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/levels/output.txt @@ -0,0 +1,9 @@ +level 0 +true +true +_level0 +level 9 +false +true +true +_level9 diff --git a/tests/tests/swfs/avm1/from_shumway/levels/test.fla b/tests/tests/swfs/avm1/from_shumway/levels/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..4905bb345e8757164975497aef27ecd0a869c0db GIT binary patch literal 4675 zcmbtYcT^LL(+wcfL@6R5C4hjS6zPJBh_oO*R0$;zN+1b6^d?OLNRi%)Kh}O(gi6ZUwH5Nvz+(-`sSQD+1<>YolWl9Gxw@JA~<&$03Zect|Ec*Oyn>E5&!^j zmQ=WObhbg5q0JBuMo1_e#phy^uN)30Eegsw`t;>Vz~yIr6z65k*>1)rnga zC(l~Fx9Tq4f`>ehxY9-Sf>e_{_?hB^33mU8BnVcl{TU(`{&j7cT^X<3ETzm#adXDMyZR@|3OGHnPan}x~v@cDZ7Uhb9csW zuncxrw*EOd)cy#Z@5G&2^aA9?yUUFw7K@jDll(v=Hjh{Grg*zTQ*$c`ag_?vn#WXR z%*IN8`brySCD^krvh?NUE)m26=NFPM#S039jDeut#uf-8bNUf&;yZRHT6oL*epH)+ zZcU1e0qf4zO$b?q#aNCQwRK+7)t5u?v?65i!jR~ZBwd)?8%re8KkNpQTB*H>RUo36 z?ar5phov>`1{`&KIrK!OSDM+H`Q#dnKhy}^-s_*fyBN@Cl^kpm@F9F?M>}+D>SXcV z7Rtruvhv4+r!9=P?ZYKKB=1^23|H=uRrl`+T`3Bd=g4;LbF6A1;DbxVqWeFuGMR!q z1G9im;!ch+v*DI%1VCm!=^g%i{tGk57mGsn%F{b%rdU(%*|;fB3)fP@V-ejsQM?7? z6g6f>jkK`&x5U>mBm_6ko5s7iZCvN+;#IQDg zq8e!^{!o^!$@Kel$;PF*3N!1Q6eLgTW!?OYYZV%oPl+fu9lax8GYPHi8I@5-h53px zqk-um_x~pI50>V=L?WtjEM1}i0BC+CGt$fv3WGXA&$zm-JB1p*MOVMfUHAnZY{~+E zrEsGyye0&p6;d{pICi-Jl>8w_$_Pp8{-VA)c?;|%J%Oypa`HUgirY*!^=_}=8IRjd zZvCp{M_D_sXMA$BJ&d1x{=E*reO6sJ=eJe$(uwx|mV<3cl=_-rVfnI4>JsCA~h^;0p}l?9!oVx5|cOc)CZO3r#n8spgw)$#?HHvM{lV1#m+2 z#xPx}e>Tr>m#!bWC_{jmEP;wC>aMDb5-H6=#9&PBynop&ct}5dH2NAQ)d&P9Er?M3 z3jDIGAOcyqFnx<7N6`F)2<-d%#ED+kyejJcEr|#=-k>DvJY78ULXr1RXl_xehGcrJ z25^2Gy ze!^R)?d%nhi}I#(B7E!HL!)C}z}L*w(j{xx-LNS)%1`B0wo2rK555`>g7DQ=O};N9 zcg}2w)@9c4tDFMdlD$Qt9~|Tdwcp!OakRO~v9C=g+&Fy$)eDg15{JD1mg2TOr+9i= zuPf(V+3iNQfh<`yb)grD!*>AsCXs>OG0rrk$f&Sgk9^(%T41-Qa@Aog-(TVajXG0(-D-RRE)#O{YBPpu<41Vob!Vsp~9q7}+ndF}qcoqAc|S z%wo9>-mrSPa5IM7w*hn9*TJiYNuU&d!al~du6sRrB6D<7{a`ZFh0x&}1oSO%4=u&v zPxW+7&s$bEUs#LeQ0SG#M~S3u?9}xAX`A)RKA+pAGVN4I_Q%>I`0BOp{xJ7OGK|Hh z)X0WUh7_y?J%Z zd-`2Dq4MhBq=dx-i#cV26HSdsN|1BHn5NXV4EX&|&H|WTs}CFPIV(-XuSnZ^_>9UL z)7~ds*O{H+Ym#FvT;EI7ha$F9IP58%YK`eY{v}*V{4mE!{K)~d2cr0^K6_{h{qul* zWoqJ!;{ESh*Z8HWLH>--OVfjg(0W-E)Qs#@ZM1x2{PBpWRmr$pD_t9+Rf^u7b5fqv zGK>8jpac)hGk4`jnZ{C^VCMU`4BU-(qV*Z#Q(Adu*C~6}yvP_CA z6@YeR=|&56LK*hU)kk8Bhdw1j3Xn&vUT@ARbzl1!EB%eEw|W3FxF8 z--yf;n18cPr{&3@HZ&)BHZ5Ogz;2bMNi(s(gAD;m1PTYLo2ZFQp@7ZOqzgIrpMq0b zpDYd~u1PU{z)w1eJn-#VX_u!NCWEdXTp0lasjIm%6))+{zgg&bcq!v6Apf#mO4DgT zXy5%Q2*jwt+gsqXYVpRAQLau}17rr`b+B&HxtP!edC^yPuhJ~$#-hhXJ%JqjAtjT& zi6?=pFSy=A*dq%N0=1@4n7qf^FJBIPO3s1rcy>93k+N#m^=TIxzhnuLKpFE%P1 zO42CcYO;wMgM@@zpxus7D_Oa?rX$B{T+}7YWU2?yERV0+YgNYC;>ItNe6?80qZV%l zu(T7r&^V5MQ~_%&RCznDm6xcrm8vI%w$LI&uyxaI+<(cFh1OXw#j_k{QR(*o?jYQD z8GHLRkUFvu>Tz;AFonpO>fNGt-3}9`weIP&3EpH27*cYD+_GbXkW%$wY~CJSFq>9& zxiYNlJM8uq;YIcg6Pd*)*9RX{RGmXoA}ZoN8lQgO(HRr8tN-46Qzk5{MVp$DD-r7< zFIX``(Clt#*^%rr@JI_pfyX2JnT2QzV6S>tkJ9i~*++W$CbtyR0Wra;tJa7RCqIhrl(ipJ7r zQm@{{+Kk9!Zv%vd4RpBoDtdkpl&RCO5HEZG2U2ov8PQB;qSb-fjuoB>*I>dPG5pk zm@tSuV|H<1+^^z3I<$ zh`b6Gpl#4*_#o3sT+(LaeK9voQlY0IT5tL7=BCp4>!P7E^Lja7im3jQJH8sPPSV%G$;R?;erfLPi@*1wJHxVlXqzv;MTk#yT>SX;8-5 z^B(=Ar96IzI-^w2-Evaf=)P*7LqL1r$>Tu+gP@q3+IiFmPL6I6GLiXbxl?%oiFSTM z^ahvK#w`1KS?_}<8Eas#M-8PsJtLYJq+}a~*DD+Ixpo*;W(1|_;12JEL0-rp1*P+L zaWLuL@WOfE1f)+{h(BSHhhYZNfR3$~8%v?rGKo7$TYMW5+qx^zHX5(kVrrC1sP>ge zILHqD?9xU8qA(*XP^H4~byU4cvy1C2XV3DA^>TN}68*+#TJBNeW*u{U$k!{rdCpc| z`EVz3aNS6)G>5aegJQf&DGYy?z@35}bLdCy7c}8~@ixz{aFJ5kR?KwEYGUV>Jmk^% z0CxFP!-&oB(bIW6Ig*Vo;B3Uc|5u0X#cQ1F8u)g-BOZ^3!b%w0K81-x#(+~|K5Rz> zKbD@q#V~Hq`CpugVPzW=IKu4Lo#%IT>*;pV#E7dq%d;iP1diedyCP-GY|T(GK2xZv zrI`ip@(d9%01p5JkOKq&;<)p(Xeh$%RKE%8+Njw;dfYc>c_yflaGb1gwKap<+9Kel zP)E28iXV+@3x(O3nEfTp|G#iN{L6srC{1X4-3q1NA|4Z>-^Z$L0lS+R*^G|!= zzforf!QXL)GQ#CAcER7UA5!d3!{8qr?jsPFf7l0V|4jM={HKol3FaaA<(|K)x<6a| zxgP&)L5H(2{$*MI+2G%)_Ok&w&H(v0;{E=+{Ykx__H(S5pzE1pokeoTZdOZ`v>zhF!W!yRFkM)6_{8m3m8T6T%<@wvG^q1KQN} zj!fb}v?PvfL*TT-F8c*L@1J%~8d_Rdg}Otme9`+ppY!^YSKwpr(*0 zk2j|$0CYtVI#;d-S4o^oM_0Z2T&c`KD9>{QFtoyu>r~N|k;?OW zAC?4{Nnb>nig*f(nojvb_3HHsyGpV2bu4cu!|lgd04iAe-~}G5OH~4fsa_s z5|%2d<0WOhf$xM|Bvkcjmc@}z3m{qTy0se2Hx9JGfy-DkJks%FVUVxY_Sqw3llrI>lc_hI^aIV1b8h8mViuLHMSZima jt?Ia{YG)Te-vO2L5+EmXF*Ri#R=^GbpLDCgmOH{ff_oab literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/levels/test.toml b/tests/tests/swfs/avm1/from_shumway/levels/test.toml new file mode 100644 index 000000000..2982ade71 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/levels/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/levels + +num_frames = 2 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/levels/twolevels_sub.fla b/tests/tests/swfs/avm1/from_shumway/levels/twolevels_sub.fla new file mode 100644 index 0000000000000000000000000000000000000000..d2a4d6c29444f632fc074ff13cd759cb7d3d8a01 GIT binary patch literal 4726 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/loadevent/output.txt b/tests/tests/swfs/avm1/from_shumway/loadevent/output.txt new file mode 100644 index 000000000..c024fd9a4 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/loadevent/output.txt @@ -0,0 +1,9 @@ +start +1b2 +b +1b2c +c +1b3 +b +1b3c +c diff --git a/tests/tests/swfs/avm1/from_shumway/loadevent/test.fla b/tests/tests/swfs/avm1/from_shumway/loadevent/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..8ab92b77bc41f9e6184da8b8676a5bd2f3b91e4a GIT binary patch literal 6319 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 QzA;+39!*yM2Uqs+<4Sal1ONa4 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/loadevent/test.toml b/tests/tests/swfs/avm1/from_shumway/loadevent/test.toml new file mode 100644 index 000000000..c00322efc --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/loadevent/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/loadevent + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/loadvariables/loadvariables/loadvariables.txt b/tests/tests/swfs/avm1/from_shumway/loadvariables/loadvariables/loadvariables.txt new file mode 100644 index 000000000..21031e271 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/loadvariables/loadvariables/loadvariables.txt @@ -0,0 +1 @@ +foo=bar&spaced+var=value&spacedvalue=multi+word&escaped=with%26amp%3Bamp%3B&varsLoaded=1 diff --git a/tests/tests/swfs/avm1/from_shumway/loadvariables/loadvariables/output.txt b/tests/tests/swfs/avm1/from_shumway/loadvariables/loadvariables/output.txt new file mode 100644 index 000000000..be4582741 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/loadvariables/loadvariables/output.txt @@ -0,0 +1,7 @@ +loadVariables completed. Loaded the following vars: +varsLoaded=1 + +escaped=with&amp; +spacedvalue=multi word +spaced var=value +foo=bar diff --git a/tests/tests/swfs/avm1/from_shumway/loadvariables/loadvariables/test.fla b/tests/tests/swfs/avm1/from_shumway/loadvariables/loadvariables/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..10a84311128c494fbf550dd160ea817b585d7b6a GIT binary patch literal 4790 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/loadvariables/loadvariables/test.swf b/tests/tests/swfs/avm1/from_shumway/loadvariables/loadvariables/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..f4f86a2620e0e9d795cdf6f03c6f0bef3728b5b9 GIT binary patch literal 793 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/loadvariables/loadvars/test.toml b/tests/tests/swfs/avm1/from_shumway/loadvariables/loadvars/test.toml new file mode 100644 index 000000000..17ed6f78f --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/loadvariables/loadvars/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/loadvariables + +num_frames = 2 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/lookup/output.txt b/tests/tests/swfs/avm1/from_shumway/lookup/output.txt new file mode 100644 index 000000000..60c478e78 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/lookup/output.txt @@ -0,0 +1,3 @@ +_root.label1 _root +label1 scope +label1(2) scope diff --git a/tests/tests/swfs/avm1/from_shumway/lookup/test.fla b/tests/tests/swfs/avm1/from_shumway/lookup/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..0d60e48955d9c7c7ce1f9ea0213895fddb827920 GIT binary patch literal 4900 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/lookup/test.swf b/tests/tests/swfs/avm1/from_shumway/lookup/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..95d0058db604a0c87ecd2e5015a580d3b7aa6277 GIT binary patch literal 759 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 hh4_2A{bKMK`9G6S8~-A1OSX&03ZYb zl317k00iJfzypAwv)Ld4Q^>fzzR;=#${;B3Ll&d0~c z%ErOU!NL3(!R+E??`rJHZ0|x%B@F#TkTiEOb+&SJwQ{hB{Tu47ZFGq7$HFFmSH)m7x$8hSuWKmM$m$P?qHMTc3my;BJbg)=inemIW^NC4_ z^K$Y@aPUbbFdP^yRnu7c#N^ca8n0)W2zF|G6OvDVQWX8@Cuc z?5~D6IK=pPq+pypyu8xfJbZuC%>H8||L$`5|B>nch=Bg%#{5&K|K}xbX8Mm6>geWd z`{&s=Gi5cmHUE7zm&aAg{^wCOGv$Bf;B05?Ds1fNXlrF^{2R#X$?Rh3U~1!G>~7Bd z%GTJ$QjqnZf&a23*1vWiVJIL0_wevQ@whS3u+xZ1(WsbMYFcY6dUDIMv)jArTF7eY z>bkH1qZlHQvIJO=a@ooxGGj`dpFSdBmdDL36#)QDTF30D=EDx{*C|&{ZnE(g`Ff%hhfN+67;{l7ix=yZd z7JhNw%w2e-o(=#ykkB3{;C|0yfF20|JkWvo+w~Om=p~GJL;t&q2P9c?000BVkD!O| z56b|iytJJ3Z#?iP>0us_01)93kPzYFkrAJuq97t7JX$EI7&z#ts81d(WK>K{R8lCE z1P2ur)yJ z0W2gS5C{Z=r~o)D5Eu*e&;yV?)`p&+3BeVEms>KKIJe~|iOS;%_xDgX>n>Pr?C>Tp_>X#N=55P^s zR3qmvA(+F(m1a$zr}K;6+EaUQ4nH$KJ0T%G80xg?iKU+L%GPc(NV`!`#DcZ#+l&CD z{Byyj{IcJSS^(-K-g&y)tIn4aG+x8J$$?H=dIB0Mh|+3eEAcY+BI8Xmg>#E~aoG3M zL}rUxp>7$3gD#HIZPFOR^}X#`d95<2x5=&CH9eceKBhetv+~t`D&NUm2PJ@Zm18aPq zPT$lV*hQpl%HmDAt5K?zrctU^s8hq(F7$3cTImDt=XDdm+=dLVmIA4l#(jC$W1F4i zno`r54U<~qeJTxsPQi22Q@Bnd>ex{5Iz8FtDuX)MW@{sk%X_6bvRCXon+g6NYQr6j*dW7_QP6#CLd5Lx@OYp4`YyZ%uA}`0!4ey}#)G zIl3@1Twf0J!Oz{?v#JLmoH(_`wul<*TMwMa#@k;%awc5b&pJ~T~ zI5$X;t)AeT%C|?dh_8#*8IFyl^VEEp(2?7(%ZI~We{U=WJ)0;cX@MphTe~cq zuh-L~qOn?LdGQClT0%u2ok&Z8aRiUn#%fj=h?T_N(;4t#1p}ucXADI~g6s zk$C{ngvE@|VTkt8u#*AAIfx8=utwCIx^(U~xLB2vGs%<+EH}f@5fB{1uqM@`p2#^k*yT2;{rn*x z-!4JcU&ps{Y3aCj8iqb_)!k!xV=8%jscD6~$o;1V4g=nIH?g@mt4Q)~t} zW(OhNXqwJ7FTS(#JY>Q2`s5TB&sFZH`Na_Fu2w)%g=Wi9ow>GoX#~TykMG4iJ=@j5 z$OGVHpq}MtZn5aa*GPQ%J}9|&fxs>P4LCP9t5{cL&XQIcR@tZx#@H*0%mRY?(&i)reX&2t4ejRF1dy99lG>kZeU#O`*mQUL^ zUv_>Lx^a?i5a?U_DXp|4mO4Ha8z)#<7Dji>P0f|LC&4Yq^|2?r1NXwTewN4PWqm4~ z)>rMwxfS8zO-FQrBA15qzO3LeIxs~Bydt95S|#JbSFd5H=;GjGi?Vf<24rxl}^ z_3Sy>XxmREr=f?C6vGTw8!9WD&V2(LfhW%2qVd^~Qep*<`^a|lcKRJwq0!l+qX)}9 z6qugRB;GIIlhO3Y%jhJEk#bQ-XcX^Q6_s0)u$J@+?bsc14PM70z23?zBPw$kdS*9`peASm!b~;29iU{VU7ymSVIj=f;^_gD@qC zF)-nZj%3{$N)g3MR$Ng$*pkybNZ5FeDUfb9h#g~;8gf`Wm60wsG{4Gne) z=U_mi?F>%~?p$&~%-5cCB?qb-^;vu?L5Z_=QL~@N_ivnnvR4A>w)Bc+V$?0U+k8<2 z*NSIS0(Kdr&%NpntPZF)SCXS-Kh~AZXBq{xW$^;1ii$bS+OdgOiPtJ8G@GOv6>Q^`Ee8y}sSWxVAhMBi@W4uO=@p`Vl;;!aMrIjWH?M z(T^ZU*)8?1s`G=7)SOuyNw5t8;7m>%laa8C4858jomhrga?8nHFz2^5J7`4*-40x7 zJw4BIX7S6lGmWb&dok~O;9)HCPTM}V#g3H(0Y7^NYr9}cl2~c)wiu z<0kfvT9fgO%$L4(#*v8EMEQc5S=|$!&R4`mekqGgdMWQ3F)-9Zl5Th{scs2ellHW} zWL(A%%Y1M76!HKRx-iD|qipyzFte*I0gW9#(7K6>r*S8qau&rDMH5!GKGet^_;?WkV+Pw1yvR*MC1K4pg)r!1nm2O`Xit*VizTvXAY?#F(&10aJHYo*wdui zmN&<08WKc%bl_XT2Y^(yKrbd?5IJv{?}#O!(l6;{eKgq&%MVZJ$kx}l%)G6Gloj1= znJ;R=nT4&~L!(zNQH`LmY>O7mUo&;>s&?jyqkS$brS37v*vqJy45WUb5o1l^F}bMR zkd@UFtTk!`L*FAaSKFVEIF#B$zgm_A-zCvE_Ag~2=vwTr`x?ur(ai${jj!?+(P7jQY~u}3?oyq<{ag*cAso;o;IAe{!B8S&!>Z08{9Vy zTj)#0&|@PfN#{dsy3I}ck=q;+PMkP46!>v7#eQr*dqClQNhx^RkSE0PR`Y|%pp=$~ zx(!NBINZ10o}{aH7FI}hBnr{!>_f4U5RQ8mL=jJaxFWQ-v1fgB^w=P}jFx8!+njM? zTN*+h%AEIo*=F%MjD$rblZO2iW#%P{@3i`DX41%y;_$u=UP-lVokn?ma=Ur}d>m)A z8(rkC2cx2*!X5yw;o$&I{U>K{=M3{~(Kg!bB3Ko*0Q90QAJ2gKilv@sBG;-h zBJFowaBV8vSxq^^0BM+a((GQx``!3N$67F$eEy4k=2`cffrEFg4QdZSk56F+V5me> z<^^I(@4s7%_6l08`=!%LR#DMV$l|OGM|5%mC)2Vv6x26F{yBVcax?QB*Cs#3pI|~@ zadC&-cd8oah=Dpt+w(iQaeTbkPk1b4>UALm6kThzi0`eQ(NRPm2I`V+cqjK%B@1*_ zfS^~3et)72`5N38_(1SC6)J()vqH@e>(j0(RFC_O8>rq#*nuk12T$F%3|V}>oL;rR zk(Af;RH$d}tg7EBa*7x8Seq_7GViD%ar3KH-n-FmHzH_7w5M}lYf!v5=?R1?zv|au z>t&X?-FFqlNcNWEFoOc}o;9lKb{p~9X()1uWUYOiTQmPwT`cuPLaxn`xj@C1QuAk= z_#{@W``oQtu07W|dcqzynA>2O@vwl5wR$`KG&2;|L>5f!BQ1I}puzDB(WEmv$$(QU z?n1M)Uo_FiC`;B0`IcAOGRdMnd1snKhNqOW#g#I|%w8M=-R4`<1x!eauzsF_y_O=% z5z$Xz)J7;VKMSFz?IxLazu1IAJH@^po?1Z;1PT>&Apr+H04hGOvzt2CGGAOvhkQ7A zT3w>@n)~zotbWM`UK^G;n~1fHTHlAxBbACQ-Mq*Jp;36tGByAVAnYTM?=J>Ydv3IL zIR%#vVHj*(snKrPy2%$CF)^W$Nd|i*r0-AA3@RtlkK&|%iSlBTq2zP3DSP~8g*NEg z)JjrL{IRC=2FkGNdy*sed}7ylqa~#Yl4w;kvuGlEg^H0PXXjtRe0E}o+|&3Zv~M;} zFd!hnG?sqSl73KU@5&6OEF>9qO|AMMjVCtLFzcJJ)Qwe(#bq$i`&J ze$YhVFUG<NplIlo@H%{k>lo z+Z76BlXDfo`eiWxMVyihf~k)6a1B97M!6Ah7U=r&${Dh1NZmJFKsBe}g{6q_Vl5IM zYaqLm2lR7IvrK>*E+mvxj1=i=rnJz@&|9KyD}&r(@|UnH+ZfJK$9HMAXBJPS zajGPGXtgAz4?}SJMhX!uX96(DCvA#e2IkfPs7`_cRw$-(-Sh33xt_hsQA_e)l`_ReaiIyZ z2s8-C;1PsWqlAekWog)?AJ9u#dlA4oi8jM|TCI%6Ki=%!sUDYSf=*=D$tK07V%Z>~ z$bum5WS(xzL-(i`&8=-P=3kDz!i4YDJT$z`61{8aD&6OWD%$5>Dt_~x|Bz?i7^E`Q zQ%oAB1ta-3lmi9Gi(6|)&TW&f!#7%|m=-lp;t`dI9WH7ZHA+>@7#`oXnB?1~4@kN16f%LTbon$)2!%H8nb>R_AI0O zO9Y-)ah18D*je_=#Bm``=#F^wSac_9l&V$jKK89vq0{j&>p6Fj;qzR5maLDHmzTF$ z&feZ&T}m8@oyM$N!UQRfR(cTw%L|Dqiv9^IHsxz*R zT%0ObI%1CZ1TR|r}NP&Qn(#{Md#sr zeJ~Yf#DR96b8lnAzZBqD@bTiaCR;sA_V=W?t2g8qUEe@#WD6~A&xW?nqym~jMb$wn zE`G>;k)Mcx#hu-;FQ49Xa-uIm7Wd|`1iA@4yYC@JudbKEDC>$`3_8HCs`7rtrwJlq zi<5Um+}L6cNn?ESCJKeJZp%Rky3WQ7*#bP#hO`<3s6@j9GRetbodpREjh&CjK>{(j zMyV_~iq;U2q!U4~*G@V}3mZ44-JQI|-{o&8FAMydg$)rj z1HogY+VeRGk?c=3ya+Be>|ob$1fq%tIX414DhxeK@7D>cZkUREO-9EECn#5=_GFpD zJ)e|hqq|sc%TOi8lOHUKKYp_8l&Z_@nHYFx7(W7us?6B8y}(87nxS9zcI_R1^WWqU+Fgm|!oIO}>j>-}BnvGiZ_u(#grT8tk=*jNGTQWiLZiCjAs|-Tx zu!wI)*XD5v9l@wlWf4MrF*lpB{wS9hpm4O56IJ3OHgvGO8E04rd>5tO; ztE|O{4~_|Lu^|eV9ZAIZcfp?RsMMD}r7KGe@?4m{2Fu9Smjnv7h(u|j&u&Ura!6Nx zzD6urpTmjJu%_Y~6 zz_+QyJ!Ta+UEK^<<&SwfIn*j6{2-d*b56~Zdz;(*sQ1!7O2-X+U@__gXy?*rn2PH5 z5Qngei7CqUe(M>&e*NL`#CK53rGnYdMomGYJ1*iV+0LBAXbM{HUQ#B4$Woy6@<~jgTu~>THWV|70yjl@m-sBL z{_3PWZ?FUhjj#68*l~(xFh5yO5Pu~P-Upb#ux;OD!w2}aL(kqEv>IM z*B6)Eo>;R$lzFcLJ-Rp7_p7<1ebaY`kwyDl#v*}1J z4tEA~w2yW1$nf^{p{DtcKWGR-H-x`OwLHEnX^h`6kJSbL4Jm z2cjfD)z6;5Ktw&VuVj{wM8S87-y$%^HWe+1eet~M>lPwv$CAN?{5#!el%b2bzWkrj zkRp^B>`!YzOYKXl57wblbZbhwuXp7^iu`?X_o>=?yy0Q%ImGI#kU})7e#di zDKKB11Vd}wVp?2)I)V6`agMZfKg zjm7Edl)`itL6UT3Nnh=TV6;=+SNEPxQv2O4Q5|W*BHp zT`o3q_U0_ql$vjhlj@s=qtdC3L^VP~Kriyt92&M*+_;WDu~AkAv&^sMO-dxTA-Y=@`56J%eWkmW_nm z99>Zq{)#80;r(zgDkk4C{p5V|wQNtT`sl~myhv7tYuf4ddB^?e&&}y?FDt(dzdQZR zu9J;(JS~->(pQx^*wP9&#u+;4IQ^3b3E*o}t15XTkH>ZL$Bw`%nK3ttaxma#qu#*zwYnU<;PtI#vm7d#gu5`v-h_? zU!^VFz|-Wek8Nr3F0T7jHLR+y{<68EqJWK8;9Is)1nNYY85McPz%j^=3*$LDOCsZI zw_c>WU*=sslZ~REHnpwyE(kjiHK|i2W&D zdhP6jjNS%{wl92x6`X3cqP*-w7??CjD%4~{V4=!KU1^O^JCUMdR^VzRt29cv=lJ+v zmKabFmu2Kn!9y7EI3jccTMgo_$c6Ed5XCQp2D=f&6JVmNT7fz=xW`V>gVO2n8HaRD zVH8I2#vHozU)`Tbsp8`hQI5dh1$+-fRO$d|fZqqrmH;jQAOHYJ0u0QG0)LLSF>$`< zqE7+tI^c#*0C+(D{l^{z00e|0B7z=M0MSRg0}=K20rlh0MgTVh0PIZvc>fImD@s=$ Co(t;$ literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/mouse_transparency/test.toml b/tests/tests/swfs/avm1/from_shumway/mouse_transparency/test.toml new file mode 100644 index 000000000..b033533c8 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/mouse_transparency/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/mouse-transparency + +num_frames = 2 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/moviecliploader/loadee.fla b/tests/tests/swfs/avm1/from_shumway/moviecliploader/loadee.fla new file mode 100644 index 0000000000000000000000000000000000000000..dd433d9658fda8da7fb7eea08833a9578bca67e1 GIT binary patch literal 4513 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 XbWj6I(9sSJ>4K5;r}xo65WxQd_+EP? literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/moviecliploader/loadee.swf b/tests/tests/swfs/avm1/from_shumway/moviecliploader/loadee.swf new file mode 100644 index 0000000000000000000000000000000000000000..b7736950184eef9f93660a0c890909dee3a42034 GIT binary patch literal 558 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 VHSq8+t`K1k1I+YFNOAG*{{XlaMzH_@ literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/moviecliploader/test.swf b/tests/tests/swfs/avm1/from_shumway/moviecliploader/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..99931855e748461a74af58817e7dd6424ace041a GIT binary patch literal 842 zcmV-Q1GW4^S5paZ2LJ$goTXJwZ`(!?9Z7a1x6KyIWzA)%)VJJXR!G%!2M4E zl`{Ab9{|AnM-MguIxHNzCw^a>#Zkgt8FlMpAyU^crqgL-y4#>^WLWKX+c0gzwsncn z`9&hoOi%dJdQZy~e9QwzQbA~jd}+PrS&7k$J!f4hnRCIk0Q-`yRYfm*@Q%)wzunajGN3AE$qv?XPZ`2 zH*MW&pW2q&G+n#-+}d?bbA`J=E~o=6P>2LtA-8qgIkooOrtLPZ=cc_RU&H2f8j|6~ zcag7vKWaTO4Eo0NC_Gc{l4dz^4a<;^Zq)uQ1fXpQNHDB;SZ>- zPz$x!jEsofvTIcPj?=d+r)fI5s@dB0eak%DYxjM}F$>i-63bpOBj-5mGa6@8ND<>$ zIn}KfRwAr^V@QResy8DsD)biGYh&!E!61$vFWQ4+Hx>gKCR!bAr8yq@ZY+!7_2Yh{c$2Kw)@HxYU!042K(h zI?P^|T#}45uG+;Re0;LnKa`;S3`z?kY{7g3YOqoId*`FQx-zJ&!T_tBM??9lzEG(o zCOl`CGWN3@RzUfhz%5oeWBs{e*t*Ut8S0OvmFqAY3Nyb8waq(_U$r~k`Ibyn%POdL zJE~l}DsR2)%*#;wWqV$QYDr~k+bZ$v$?xj1xvkj0E!d07-9_cz4!ndHmB+F$m%q=& Un6x27G1hF@smdzA7qkX7TE`HoYybcN literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/moviecliploader/test.toml b/tests/tests/swfs/avm1/from_shumway/moviecliploader/test.toml new file mode 100644 index 000000000..38d5e1ef6 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/moviecliploader/test.toml @@ -0,0 +1,4 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/moviecliploader + +num_frames = 3 +ignore = true # https://github.com/ruffle-rs/ruffle/issues/12273 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/nativeinheritance/output.txt b/tests/tests/swfs/avm1/from_shumway/nativeinheritance/output.txt new file mode 100644 index 000000000..a48d07765 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/nativeinheritance/output.txt @@ -0,0 +1,6 @@ +B ctor +B ctor +A ctor +true +true +true diff --git a/tests/tests/swfs/avm1/from_shumway/nativeinheritance/test.fla b/tests/tests/swfs/avm1/from_shumway/nativeinheritance/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..0f3c4ebcc8b5cc8aa39f2dafdf0927e7af2dde1e GIT binary patch literal 5364 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 Mu!?Nzo}hsL2iuU%7ytkO literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/nested_button/test.swf b/tests/tests/swfs/avm1/from_shumway/nested_button/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..47ea60100591d57c860a6176c9b37884d830d4eb GIT binary patch literal 622 zcmV-!0+IbgS5pyX1pokeoTZdKZ__{+$IopV=mJzNf(cov#DbE$bKb4QDvA@SLj;Pt zqlTHMq|h`9VA;MG{h#06^S_r7 z*m?%Q?RNm&SAe;52LSM5_f-mjT4?w5j@eR2p6hd6w(6O_5P=Tia5&5j^EnnCLtL#^ zA=03xWu+p^$G#w=tk3r|h8h!0%B|1|gu{F_YLhM-hdPV;OzD>RM6O%$Y-x0Zzct>pReytX!EQO z?rwmsgEK_|Z+rQPvIpX4vQzx<65ROy{=t`vAKxY)pQ>Q89o=agGWI;3R%8JVBH^|n z|C_RTkw&t1u1Lw}=U+edBh1a|w=0V`w*cr4gpjsaGM^LhFdk^ih{&mgygBWS>#1q| I7o3QnNd(tAYXATM literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/nested_button/test.toml b/tests/tests/swfs/avm1/from_shumway/nested_button/test.toml new file mode 100644 index 000000000..845bb23fd --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/nested_button/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/nested_button + +num_frames = 3 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/operations/output.txt b/tests/tests/swfs/avm1/from_shumway/operations/output.txt new file mode 100644 index 000000000..32c3bd1b4 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/operations/output.txt @@ -0,0 +1,13 @@ +false == [object Object]: false +[object Object] == test: false +false == 0: true +1 == true: true +12 == 12: true +0.1 == [object Object]: false +2 == null: false +10 == 10: true +test == [object Object]: false +false == false: true +true == true: true +test == test: false +0 == : false diff --git a/tests/tests/swfs/avm1/from_shumway/operations/test.fla b/tests/tests/swfs/avm1/from_shumway/operations/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..c82e0a165357d94adf6ff04f1afaa68cb0299eda GIT binary patch literal 4893 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/operations/test.swf b/tests/tests/swfs/avm1/from_shumway/operations/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..eb267cb4f698f587f2f35ee04976acd019cf1a4d GIT binary patch literal 767 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 a{15V}D`6t{kvSh5?_p8gq78iqn!5-wnd z;k7C4VXL-1Of58Q6Yg6OW1K#*mDo(^6@Pox1)C>xGl%%LJh z4X_cBU_gk|XvQk0?HJ)D^DZDG9EKEcIE;E;VOVB3wjGNpOVv8M?c88tjs6=VFO*qc zW<_}*3JPCQ#OiBaRCs>FyHGByT^t#f5gALfD6xE%6{UeFDbk4|$(!aI+NGUX_UQUv z=CzWkqgzSdJKJve?sQ!jrRp&1nce?%~=jaldP&qvxa zS0~gT2TpPYSth~`j=P2QlnTj>VVTN^1g;S^4BvNb(};m+%7&N3{4_DHFguEGk2+cl zcYYFDUV;q<)a-mdf3x>F1Msa2kAMt60-}R5z~>P}dKfLH5vETz*q(=jMaA}dxX&fB zWZvm{dcY;RPLIBV*<&ceJ}iG~eO7>Cra&9Pt67%5I*be1LY5ZJ;=Y7Vu`X2eF?}VKKj^&+?FvR&D5*@7-#)ziw7Y To5f?XcaN6vmU@2!(*)@!0cdT_ literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/property_paths/v6/test.toml b/tests/tests/swfs/avm1/from_shumway/property_paths/v6/test.toml new file mode 100644 index 000000000..773813604 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/property_paths/v6/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/property_paths + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/property_paths/v7/output.txt b/tests/tests/swfs/avm1/from_shumway/property_paths/v7/output.txt new file mode 100644 index 000000000..37924bab2 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/property_paths/v7/output.txt @@ -0,0 +1,7 @@ +undefined +tEst +TeSt +undefined +TeSt +tEst +undefined diff --git a/tests/tests/swfs/avm1/from_shumway/property_paths/v7/test.fla b/tests/tests/swfs/avm1/from_shumway/property_paths/v7/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..3b2d54cf178129967afe1508d2eda5888b43ef22 GIT binary patch literal 4837 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/property_paths/v7/test.swf b/tests/tests/swfs/avm1/from_shumway/property_paths/v7/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..be9026859eae2ff47140a27c362493c16ea148ac GIT binary patch literal 708 zcmV;#0z3UfS5pVP1^@tfoTZdcZ__Xs#@}`=EkcMPIB*zJ)JeOb#7VmTi@L%{TB(P2 zs4HjWCGHkT;wX04PD0`cpP&*4Bt98mr8w!|ZDn*&saE{vd46yF*zy>%9{`^G1bC4G z>*+24e0jE;1*k{P!01^mY3zFeGsNtuaKU+KAT%0{lu=Qk(K*s;wHi`&r0cR!$m}ZM zcq|8OztE5pf<>4exgmFHAjNZhMu+^UP?%%Kez?R2Ou-I4BZ^IZG{zy)6cxoBAu`N} zU{0exrC#GWR!J=nvkU26LM#}4Lr&0LdJy{{DwVbipA^EK_D-;J@1up9@g5o6t!DkJkf0u6bQsx0$oJ>F)9D!PfN>nyq-`}sL2+Hj(3*#> zl4>=JmadhnnpRb-#p9OQEH%|)xpinJ3%zb#&@5^XeG>3F&AA6{&AOnSMDDpO&c_Do z+lp2!n`T+9=;~e64T$BplE}RzPAj5*vI`-O7>ScQDlDRkV@mQh+zm0Ae_Pls>w@NN zh-pijv%Zj7iT+Pae?&;jjalXN&qvy^mnSqFMqY9SIW{65iMugzO10$1aBO2hBOmhy z4nxniaSTLbnO#u((+FP@c@WFIR(dgpTr;9CbC0zLZ(NDM}w zoO0kz#%EJb#FGnd5RhnAaf2@DDTyqZx4S_zQW9OeD_+6m5#-?k%ztKml7oCICmO-a zNm{(xiwo&oS`<#=!p`2otp5J15KU5$ZvRNbbC_fxpUFTyewo=j_@0Je(_8FY!0XNK q#eOV=`Rs~5$wER}wh?2td!yNdRkPfpSv=;uTeO5X!uuQa`{;6CCtKnG literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/property_paths/v7/test.toml b/tests/tests/swfs/avm1/from_shumway/property_paths/v7/test.toml new file mode 100644 index 000000000..773813604 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/property_paths/v7/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/property_paths + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v6/output.txt b/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v6/output.txt new file mode 100644 index 000000000..37e60de98 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v6/output.txt @@ -0,0 +1,2 @@ +MIXEDcase 4 +mixedCase 5 diff --git a/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v6/test.fla b/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v6/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..8aa269e8598a9cabae9920fefe39bfb0511b1282 GIT binary patch literal 5046 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 wqw(=G=xEUh(mN0)kiFy^-K$5dZ)H literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v6/test.toml b/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v6/test.toml new file mode 100644 index 000000000..caa1319da --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v6/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/propertycase + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v7/output.txt b/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v7/output.txt new file mode 100644 index 000000000..ab3a77cb8 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v7/output.txt @@ -0,0 +1,5 @@ +MixEdcase 2 +mixedCASE 4 +MIXEDcase 3 +MixEdcase 2 +mixedCase 5 diff --git a/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v7/test.fla b/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v7/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..50fee7bf1233550dce98c3179b868228604acdcb GIT binary patch literal 4924 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v7/test.swf b/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v7/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..8fe456e07377695713e3bbf9a93540d0c8bb75b5 GIT binary patch literal 713 zcmV;)0yh0aS5pUY1^@tfoTZdaZ__Xw#{cd51{?r!;jly0NeBt0vD2n6QCApEJ9_Ab zwjyyuZsKkkNgO5Vnw>bpC#b{$iO<8ADo&cdtdvn8QX>1G=lR)wY&nGN2Y`p)0iLEn zd;AChK0SGq1!#K4NIlcKLTFo#ukzku@iGWpRgxx?Noi6pG4DdcjYdO4vLwqQSBU-Z&Nupuq!%$7ppO1Olih{Hu{ z+oL34-heTybrh+Du0{My;jPC;)b}}_SVH@}Du}{xY+8n(lxt0C)49f?8h=|d!itEh zB31^tqLvj^slPz7iqM*OuAE!@G#~~E$eOt!B0Ru#wSrZotebCX6FW1^(alcgl~QO* z8%ge*ZNGnay0$GX)P8VAM|Z3J!Hr9$GwQRkr&BIJNOq^+S9^{h5J#syt;Gu^(=^n2 zS<&j{8bYsST&-hVNA>bix7|@Xs9fz<+VMhfTNgBq>0_HZK|(YBg0^N|&`v$`!sO>; z3l(t=#0vp=c}4q zVv_%~uwSeTnz1FO9cjk;Lgpp*KQa9lAuKm$mD4{TX+vM0PmrVaSA=gwKMYl&&S_!vKNlGrkmH_SaY&Ltjhf)Av z-oSle!z(x)UQs;&*JA+-_>M#03_FHSeBSE4?`Uz$HbZK(kIp-h1t;C;hY12qA3yE5?AJcnrp3WW^B>Ows1z2gKOS5A(feNDrU*_^hcIk#bkSA6`R7T4XUU|Lp2 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v7/test.toml b/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v7/test.toml new file mode 100644 index 000000000..caa1319da --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/propertycase/preserving_v7/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/propertycase + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/propertycase/propertycase/output.txt b/tests/tests/swfs/avm1/from_shumway/propertycase/propertycase/output.txt new file mode 100644 index 000000000..7dd114993 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/propertycase/propertycase/output.txt @@ -0,0 +1,7 @@ +0 +0 +1 +1 +undefined +[object Object] +undefined diff --git a/tests/tests/swfs/avm1/from_shumway/propertycase/propertycase/test.fla b/tests/tests/swfs/avm1/from_shumway/propertycase/propertycase/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..8b546d79fc747dfb8180d13597b3c6c5b9e0ce46 GIT binary patch literal 4842 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/propertycase/propertycase/test.swf b/tests/tests/swfs/avm1/from_shumway/propertycase/propertycase/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..f0b49e1b4d581a90c2a5cb1e3b2f45b81bd4cbd6 GIT binary patch literal 639 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/rollover/test.swf b/tests/tests/swfs/avm1/from_shumway/rollover/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..44f9155e36629cde2f0b40d9cf072a13543b4d33 GIT binary patch literal 726 zcmV;{0xA7NS5pQl1^@tfoTZe#Z__{+#@{3~rBhphDuj@*QYoDrf8)eT(&kg@5EX^) zaJ4V3h3&I^&esGiz>d@f39%t2Cg%PJu!0aP{{;$XH(zZ-DIm+IJHOBK)7^9D8^F>- zfYrAEw~|m_Uju+AH`bN_ih0s5fO95sg#q#f zDJKdMhlz|@fKf<-eL|daB~o!s2hk($en2{yQiewkS9@@e@CZpr1Fx;i^{&F7*gJlHD1&VQJnLhDo?E~93l&a=z>`{6wOf2n9pd(c4FC`;g!rY zC07*AC3&@MEpr;J-wm92zbsS04tB8@QWmci$7`8JhXgJP%gFZ~+e8si81VFnn2-CY zhxtwvby1iJ|8+`iWv$lb8}7QoL`}ms?p&^>`$HcKZA?iwFfo&Fjt@+$W$b!1M4pLv z>t*&KXWNz`>xy2l)~jkktu|CiD(JOFqoP+8xuHm^F2~uQwN7YtVs@k4#x(0MXmi#H zZ7;A7ZFXcAPz#lYr0bd}S5B!FRjV}Ayw;TRvQ|^`6Y2uQbgnqCd)R6Q#Eo~sM*+oA zQl-o!swk#7U&CGyllZ5FU9e7Q*1s(1f^|Y8{}a=15!`fRW;rcB(!%%>EOSsxjz**H z6lNFX%PqJDodCI*lYkE01L8*X(8mNXLa_ zc5hZm%~w*{Jvf0aHckNf`R4n`y32ae@FuWXtZN^v%Db;CpT7O*m0o>JKZViCZB|XP zXFHW-y=8cwPA4MI4toGj((A0vCYWI3{g+3RIqxv}Dk~hXz<50}WS8MZdMN=L&pyZ2 IUon&0uP!cGL;wH) literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/rollover/test.toml b/tests/tests/swfs/avm1/from_shumway/rollover/test.toml new file mode 100644 index 000000000..4c54e9318 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/rollover/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/rollover + +num_frames = 5 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/scope/output.txt b/tests/tests/swfs/avm1/from_shumway/scope/output.txt new file mode 100644 index 000000000..efe62d82a --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/scope/output.txt @@ -0,0 +1,14 @@ +---this +_level0 +---t() +_level0 +---b.t() +[object Object] +---b.t2() +_level0 +---b.t3() +[object Object] +---b.t4() +[type Object] +---_global +[type Object] diff --git a/tests/tests/swfs/avm1/from_shumway/scope/test.fla b/tests/tests/swfs/avm1/from_shumway/scope/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..d75d29b3e75fc858e11a370b8d7203d10031b646 GIT binary patch literal 8964 zcmeHNcT^NhvmciwBUvOT7X?X*fPf%5=L{+!VL^0vi2@3elYl5l5|u1LkSM}c#6S>` zD3Wu|AXxW6ZDhw_1dtmb$#2G_SIT!Y?%#0l^Pr3_6RYI2(Da(0&2 z(MXIlpBozWBv#d~M}*wF>F~Xsw`0u1j4Al58fk#^;nYKs?cSj-J}E{@0!SxA%EOW2 zk7+g*I5@frxVgA3Z?R7-HrNL;z8m`5Iue&Y1B->BLd!-wE^4rsQd?YqHuJDSp~r|G zNz6nSn6guWt^B2Q+ICa-yOGxxA00PRwN17wy0oz&2A_&QO*e9e%U(l; zQCjz=^~TY9kz^!1A~21jq9AFuy#5M&ff`S3DUSbLR11j{l5S$~dwsy==nw3vIl+U5 zI*n6-vS0Lyt}YmF`A@Lkzzd42rjAoOBUN~OgHa>~Uz%b^w(I;6U27dK$=pzQ5rKg) zM}LTMh^mKV>;x;FHoYFl(v~ep+KI%vF`Osa1lA6X4ytGG9F1G&I>E#D#pJ@At8mGL zjnsFUmZ&=mh+-pQJ3}ok71tZ6Xtq;B5hiFJ%NnW|N8CUA30x6by|BjlL^K-zduxK) z@inV~4+KOnVuDyb0-YWaiQ6G0w#1au8#`m)I|%5Dde0v1S7`PgG~3!znh+>@E4%$r zn^Z(yR9C^kB2IO#!_D8z!(Fm`(_>vdU!*EEG&`HS0I@Z^G`^KXll83oaUyc2kO;4G zl5$I2(%lvHB?U!#D)nQ$z|+@>7I>88K8d6Bar`<_S7b0%4FwOQgu~mWOWs~NdgHTP zl!B7B7K5LuXeMr<3+sb27o{TVhO4bPhVgAFU5DrNhXo@CuCC0>S2>docb!b=3%7Yw zU377=w-JvKCG@E!;>}S}_2I3gk~^bItXaUsh;w@Jyy+lJ(B;gMEGa>geqzvtl%;5#KH-Q7 z(HOM!EmlOnFCRgndc^>DwTLl){2ynjXYn(sP`Em$87*9;)jAyNhsg7&Ea2f2kATx+ zthskccHqH1`Y2q7ts(LZGK++Jw?|xM>ZLvf$-X4wW_yaRU^5`AWJplHEFwYvQR2|2 zSVDpA9f!}?m`G2%vrhWETU;M7YCRly7k^+{G<+tp+2XTMCUqr~r{(KLZC1AMk;6@u zlUcVdnLZ;vUtBKz#yPt!*}DzT=o>AV-x2EJCKu7tBT^Ea$zDR(=W<7T(rQYIO2NkT^B| z{nb#T1RmA(3Y?uc$M_Ol#RRnB5AX3X@D#Qx312t?@260h$kN0krnHG|&~vp~qCbi8 zyb*UQ!RA)DaiB$_$NVdgq$BXo$S_kw-L&KueS94Km~(SJpBUDHLQvBo)=vZcvYYAA ziQkrkn{KIwnn}OHf7aruj?>Sn)hU(d5*XOhR-c=^rrB~<>$4RGRvl_SXRu|ORx7cg z&BSZwFC8IFs6to!eV*XSNB}+S2kNZLY;Tn0-f%LaD(WU3jI_wQmp|r7-(BXnL7dm0 zbvO8+O#9eMH7at3Yki5kTbt_TxMS(!hFLJKZ0NfD@P@dT6Jq+=e4^s8a#doon@T>h z>SfU{g@b5?>{b1C)NAIC!m^*dgRaGWnhano39a5}Cld1(K0Q+MJe~ge?FZ!<8%$3! z-QAnASjt^3yh?01mIZkdV?4^^NVAbA$2Z%zqlKsr&!^7qmHd6$ zXap+`RelP?mrz^ThXJ=cCjnj`wV~hshY?RymX6EpqD&BjQF;r)5 zM~J>uH++2d_+@cV?;$*xLJC?qGE*n&@k+5)>_l0gqG{=MMg=2_~-d4 z^>XGN6^0GZsESk(@oe2#Y2hxF*kGDKf&cCc?dF`Zc|6 zTC;A`pE{ekPN(uj*m#_SZzxS;^DSRX)gw`s$Vt2$8uMnmb7eXa{R9u#sR`rxCB|&M04wM@>T0w zibZ(EEWNFcK4L@(@nrf1i!0)lA)UB61hFapZX1l&Pm^h zBHbi}13Rm98SXHgy78veij?PZv2&CS{_=-{%ac;)AIx5p6vHChRGV8`RtJ9a%=yipUx_C z+RNGU9XIhjA~+VjNO+Q%kr@53jfg_WPtSiXKwya~ot~qxi8}pKC)zjr^8{k)bBXkm ztv}=lhct&A-k_B@Xoolb70Bca7~{l;+G(thpAMa}Rp9&+Z7mZjAe z7Pn+(C7vx$^@ujkmupPiDaQn<3%(We{hA)?Y;LRJ_!|8^uetAXNnr69ne3DyBscBnkR=FvSX%erH(I>|o35`#`Bl#4T zJ>B8`Z90=vII1f78R}Hg#jKj}srZ^HheL*h=`L$gAL++rRTjlA-uHd$%UE0LBT82A zF}gnbr72f?qcx{?2AM8=4DRLQt7B8npRZGrtbPo$rsUx#s`kOJo0eN+Q#n;f@0(MN zW&|alSpfYbb}fdN0ypCemH>I~0#Q9@4*IA^qz+N6f##_m>ju-Em!F6t@*n!>vp$I& z;>P9wAd#lC8RZlinW&Iq(eRX7J$?GT@fmBIBgCk>j|B6g`8*X#CtQrl1Z~MVkYPI# z37OQHBClDF(b!$~@Z`%-XoHsIk@*sWr6~NYUZ?+ zJiBAIa@xmjXF+q3WX@_-*hWb8P#|0Bk|4p0i)wcK@4dFDUZ@qDdR-^do|(*V#lsJI zp;InPr#$BU`A*~6G)?h3Rc&Qzm{Cf;ALCn`8i_S4x#_EHxJ@E3VWJzYT6Nbq<(d>j zx+wWVZ%as6oa^t~$lhoR3>mO>+Nw#GX^u23Nnt8~G5FkYGBe)9OrhJ!w6`r}G|5W2 zbXeSL0K@MnqK~v_B#RK~W>gSFPmD=8uN5`imw)Bn>EqRxnmg8Lg6nH3xrw$cn&-$M zyq!Q=>DM0W9!kp_5|m4REwTKG4w&^g#K zQ-PdBfQ{zNm7)%n7T3D+2a50c07Q{@qv=dJf{=0hGT&OamtuJzZSl!jmwPj=c13`65Q!(U$9k*1@%(4&>3 zBjuahG%K8)XJDVB`+>eqtqjloo@d#6&JDZ_=aa9<#D>WVYov>78AnRpzr8BUpzEew z?Qdt7zL=6V`|YM!Swy(oy(c36aiUj`T;_VLi?@6z{0?4m3QjjEv0<1_$MVeNN-2#> zHM3^(vw+9~zcWl`cc(j*8XMWp>drF0M1*#jO5xnNr*+ml#M8F>?3%Odx zC8>h170C28n(O;-Xoh_n3xE@}60Mf?qRR#b`6KA*s5@~Cwle>Rdp@#IrH;PrsvE|1)J>OY>VIT z@R(VZGAm<%zwE!gk(J&y?z~93Kos3OzQScL+%U{lPc|!kkMkRu1_>#qUvw~E?S7g- zi?-bgsX>QYif4{c8sQzcaAx}rVcxqUq)E|(xmy&ZwwlwPe9te*WtjM~=01qil@o+-<0`SCrQ#t6Bbh7yuw9 z2Q?sLXgez;pS`0q6sE`m<^Tq;1DO?22NVGz@Hz!vtbh}M1RMcd@a_bbw0`6ey|#da{h(=0sD{KAnUMS zEkODG^cCDXkx`LTCj?W7dclQf6PQAbB?xDr2LK2(0PuhXZ_wanO#pyj{cCx@o(rhE z0%G>-W93+T*fLhn2xbJM#dhGI^gr$a@)Q4Ylm8g}#{>U(;2#hC+a7@4SKzkc4~C5W zd`CjL{RI0{XMfE<<^O*kfYw&naRZH^{RFLJAck~kzzmc^1j!B}s2;L|t;eR2uGKF& zcD)1DLA)==cm_jnFe2@6IELP_ry@O=Gf%g>tH)5Vc!2eCm z!*ljw!0!>DX7y;{XYlDErT`g=05Rrhq!Ts-gad~G9?3-A&IbAn+0G#~)xM8LZMU=8N10ZT9_wE`tj zEfOq4ECBF;r+J+$?d*}fr+;YcXc`&w%IXU3 z!v2S?9)eK=)PMUu0oXK1P!Ay5{kq`qQBaS65`;Pq@}92^e!{Q^n)|;u_=STYAn*J7 zKuh&^@cz@#UGOaUzwl?9d(TGqo7jIcv}@uR{(+W>XQpLrCYKXzB9sE<*0P6tYzW~!e_Ll$v literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/scope/test.swf b/tests/tests/swfs/avm1/from_shumway/scope/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..b7f3990a3ebc5804b30899e722d56aca1b04c982 GIT binary patch literal 766 zcmV z_SIky!Kz^_+XS-ewyP}Jbkh&)Kcq9Zc_k!DTO;hbGv^-9T#sf7+g|~We*wHpfbr@C z0KUID*#@Y3R$uQJEq*$5M!rs?T6Pcwt}cp`$s|811WE}0?I=J~ zVdS4?>wIW1uy1;{8`xyTvl#WrIH+Z_v35Fi7uu1ZM;7Vfyh(=Q6uF|Dmqg~Fklyq# z3W(Pw#HpV%if=i{AMl?&(#O6}^~m9yUy8iI_r|tk@mir&6(44LQZFu4SuPhYlxE9lDRQN#XcaYF=z8khW)O2c#G@d#S$|<$NuArSJp0hj?ov5C zF)UN>6K{xuI&xjdHW3qwQ^6k)^V{655YPQ&E)<4{fDjJ34k9x zIDr5H4QvnuAsE;`gf|wvKZ71?^zy73C~;e1K_LzbEKuV>r2%byy>>_sIWT|T?a@~N zB+p<6W=TjTazA&O4(PjQ`?NE@IH{yfv!~+{sW0M}L_s7VfU+(NWq- wC%Z)H6`^~ZP;M1XbLj}(--M=D(F5)vLJv2g2N8M{F6}szgO7CV4~m)TF-l%(F8}}l literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/scope/test.toml b/tests/tests/swfs/avm1/from_shumway/scope/test.toml new file mode 100644 index 000000000..bcfd1eae5 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/scope/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/scope + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/setinterval/output.txt b/tests/tests/swfs/avm1/from_shumway/setinterval/output.txt new file mode 100644 index 000000000..e07b6427b --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/setinterval/output.txt @@ -0,0 +1,20 @@ +setInterval tests: +setInterval without arguments does nothing: undefined +setInterval without interval does nothing: undefined +setInterval with null argument 0 does nothing: undefined +setInterval with undefined argument 0 does nothing: undefined +setInterval with numeric argument 0 does nothing: undefined +setInterval with stringy argument 0 does nothing: undefined +setInterval with boolean argument 0 does nothing: undefined +setInterval with object argument 0 and no argument 1 does nothing: undefined +setInterval with object argument 0 and non-string argument 1 does nothing: undefined +setInterval with object argument 0, string argument 1, and no interval does nothing: undefined +non-numeric interval is treated as 0: 1 +non-numeric interval triggered +setInterval forwards rest arguments: 2 +function callback called +arg1: arg 1 +arg2: 2 +object-callback called +arg1: arg 1 +arg2: 2 diff --git a/tests/tests/swfs/avm1/from_shumway/setinterval/test.fla b/tests/tests/swfs/avm1/from_shumway/setinterval/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..888e9f52c9ccd7ca61b8a27f6fb9b1b0878c2f0e GIT binary patch literal 5172 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/settimeout/test.swf b/tests/tests/swfs/avm1/from_shumway/settimeout/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..604279b56dd26aff8b7431948cdd18394128cce7 GIT binary patch literal 1044 zcmV+v1nc`lS5pr^3IG6joTXLIbJ|7}USzPPq#G$Zs24AK}{5GLb; zCmn}-XOR|ABkj^%VQ?=!^w6GqRa8kH7&!vMqX3TaD+S*p#|A66|JTiX3sF~ie^`=x0iL7qdy!X2c&y%V^4{K_o!#wj7^*3nN9TBOH=6e@$5=hboKBdF1^mt8bk5G~Q^F%e zTzuMTia^=-J-clfn&VhUE#0tAPISF)>Gk$Wt$m`mtJQ9+o;12nP1QQoorIV~3pMWn zY8h&(_MZ7eU(ClA)mFvowCdfu-Zu23x=_{XW~ZZTCsnK4snxVpb&JHZR?Peh>~$Fp zlT#QY#&PUa<1n=*3bquRippM zrduW8@?cgzefCIu?s7uM6BZ;_kmss6z;QM%rc_UE49~R(l!Yj2qVYKJT@(wdGlh?+ z`*Dgcuri2mk7IQO+**>lxCEOJIMUVC)ek#Yc>w+@?tBXfB?=KuGT((hi7>km7f>Yn zA7X|*z;V>`LoBL?BEb|fk3)ue1Q8o1)^Hnwlm|o*>KTrMf}oGwkC_k{Oo*HK;x1k$ z3z15Ybs;7mhIqIEMl9uIs)$5#Zf7G?KN`i)Wkt}Vm_tINkxzy~Y72JR=?$n@iT02? zT5mn3K{5$~WfG|UM;16C9v=7vdk^5G2XTJ}7e_^gmv=A*ly0#4;!gx4@_;IgVoiLYhqPRRC&_PH49_)kzA2Zx#<{e~GmUA#_5 z5qx^JJq~~g<`R%WX}%BSoGk50A|~(b<>E*F^?VQP<>O_c@uvuVC$M?&uJm_l+mAs4 zJKqB-9(Rz7ryVpB?cLHm59GbP^e$P*`J7mYxRj_TiN0tY{80qm4-O4OVV?c##E(Ei zepH%20rKNru=t2VuGwFHD#ZKU1ofn}luF(|0`gO7egAAHvwsTYVzSM|9s~KgyuTiJ zQOKFX-@3hfn0cfJePs|QkLX>`PGVj Ou*L>IirBwn{|BrDC-%<( literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/settimeout/test.toml b/tests/tests/swfs/avm1/from_shumway/settimeout/test.toml new file mode 100644 index 000000000..a8ee53c0c --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/settimeout/test.toml @@ -0,0 +1,4 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/settimeout + +num_frames = 50 +sleep_to_meet_frame_rate = true \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/super/output.txt b/tests/tests/swfs/avm1/from_shumway/super/output.txt new file mode 100644 index 000000000..4f45fb303 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/super/output.txt @@ -0,0 +1,11 @@ +constructor A +constructor A +constructor B +constructor A +constructor B +constructor C +C B +C A +C +A +B diff --git a/tests/tests/swfs/avm1/from_shumway/super/test.fla b/tests/tests/swfs/avm1/from_shumway/super/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..d141c809ea1cf366aca0fa7e8608e45766ceb5c6 GIT binary patch literal 4773 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/telltarget/test.swf b/tests/tests/swfs/avm1/from_shumway/telltarget/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..61a918b426e5e0d062c3651569d6480d3593a1cf GIT binary patch literal 892 zcmV-?1B3iSS5pzm2LJ$goTZe_Z`(E)#$SI`>e8(4+ASTB4T1~gP(Y?6f7OER&7VaM zUWzpLl#=K~m?UbF94n_DcG!jjJNi6ee`rQZvSYVy8*~En!I#hTBl(a}45f2`hyMUP z&B5qV835isE|&m0fi=@lM-wS_9WT^bt6RB@B40;nu~<|WwJHrRklJpyk)k0@lbJ#e zue}JzvKKz9^rVC^BB2@Beq>Wm;%#iudDN{`GHmSnYpfSmu|*A1HK~hY>?5_RAkJYT zeHaiN(cp|yr`P8yY2x7UQhF8883{v%$Bs07-IQd>nA?seHEOL6df&OhA|rP9G(~O5 zN?lf!Go__#4ZT*Em4>b;8{SlzTBjt!7LM??xpt=3bWPRkjZO2GHnUU9o?YL`e5;f? z=)ENGmaS#3qxI*3lkAseBH|F2cu~mWRg-uvQ=iem#ZeFYzGIu115qr8m(=`qfv<=> z<573et?)~y#8x()etN@Q7p>G`bV_EQR)=TTK0&7>r1QWeO#Uo8Fw-fUOJH9SYZ6d5 znTwBukZ^ssvNCXSGKy|{VT3)C9FKa;UA1jXZ;tz_+8?x(+E^RcRdt}YM&o9?-k!7? z!=^UrpbxAonnley4>_Y*oYt!KmGM|<4M!7B>$h8j_PE)6F=z}2nx?F18`c$#2KI%` z&iClcsXGu-a?rMOy3KCKP?OKa@qu+kJKhoQ9cjm#;ijdN{}abY5j&4G%6@`935NNb zo132sf8_!G{1?6l+mmK<&*VagrLF|$$rIw_6~|yy)5`gULk;Xe3@!!?X7WoJyMA;% zrB^l?I=0We;2K~+bZLj&!{2c3kSpRS)s&dE09TVH&ge$gM24OgA`(VGJPZDQkbVQ? zpTiqi=0Sv`WeJ2LEB%p!+`+O4Vy>8bd9>UIF)tSGL3UMGiS-r5(&5XacSSas0bAmG z+v0aQNch6xQUI|eSgd@)KShD{zz@qZi1!7S9Ee|~uf1-E8}28D2f~xYur7#+=!Dz$ zg#y=qo!VG86YZTQ=Kak4NtdoB|62D1CDE-0~m1n!P zO?kYgJozYv&7dIc@$yD+-zG*Llf)mq2eBRo`ff*(d$2Bv2i*fcp{GZ`mtpdHNL?3u Smj2t^<{SGnyZ-~aJQ4_=eZ27i literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/telltarget/test.toml b/tests/tests/swfs/avm1/from_shumway/telltarget/test.toml new file mode 100644 index 000000000..fb94df76e --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/telltarget/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/telltarget + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/text_bind/expected.png b/tests/tests/swfs/avm1/from_shumway/text_bind/expected.png new file mode 100644 index 0000000000000000000000000000000000000000..bdfa9c4a59be82dc3afb006edffafc491fabfe89 GIT binary patch literal 7255 zcmeHMT})eL7(NUf1V(U}*g&+^Y%yA6xG=^GN-C}cG0WTx-H8#Ye<>G>;x;FAB%DcR z7DKeeWGWhg?8=mkW-j|dwj9xHW&Whw1>yuf>`$f}b`(p~($nMjKJOVcPH#-Sa5=qb z`u)5=-}Aoj^M2>_?M)l&ON%RuB}po6c*66vB(1nllJa_rR*IRA4i6rZq`T}5p4!It zyxHlzp0y3{t!*gp4)u=Idpv%>e~VXq+US$~_P_YNPO4>@toZ$Pb)G#VANLkVH~8hY zoo#JTMakrb7Z1NO^!ab0L40KwHxJ+VJ(TW$^J}mC+|F@)8LJv|_O%Rb=V`H)aOdx1 zaoS*1eA;A+cx65M*kx0-SW{Lym(+QUhc{WK7+ecLD=p0WyG85jo@0U-Rs=g#_oZ#I zT{)@+U!@&E!F+llPu~f@4{CFvOzRx{hT5Vppmj4VVzV$>%`@F_gl3vQ#7`Es zFWwy{T1~hs1#70u;?Nl8!!_e@>)FbqZ2lRzO%e)A0K2|^c>X2Xx_vi(yMF?NwXje! z5512-cz%A_jqR#=-oXvvd^>D4=@a!Efg4cEu=xNgwMwi=k7Xpod zX&6y3xAk8l)Q;Z|k5q)-b;d-Ev{BM4rDzK3X($dZklTHeG(dYuD_sKe+F!d-Bh zV>h!vWCgT8XDDTtZs5R;R9_l=4IRFt(DNYfTn$c1ujBCFltiA+UwO^q@Q(`}7 zVGi!)qm&H@k*r@uc)4DY*9ACuNErdJ$|yx46-8Xp5OJDboBm z5_DcCbdLVRj(?}Km@)jTPNajZCpj&8;hSz20g`~qlL=#3BS-?BSS3ARqsSWOGGZZu z6u>jaO$p;G+6UbXXetSyQ6~%~Kx{7%G4fqQ^0i*4JhoqaUZsy_lslvRLb)l)Z35xJ}7pV38J zJ5Qcu*t%^T=p~urtLI28#Ux;C zSxU3avwUdkiN5n>C!-*Y*+a|xa@)(3OL)f3K6?V*bYFl-3u0n$qt-6qJX;}e`z7aa zTr(MSg-^;Jp+uZxN02FaHc7|ot>*~qLCku*v>uuTSE3NChh`H9frj-i#d;aVw>9e( z8}1AAmAysZrC4uX=^~3qUF&@^17Rh*^*00Gip0wl>wlUXmx2GmzfYMp=eCWO&1VZj R;txZqVf{wW(Bsc{{R#3{`DXwC literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/text_bind/output.txt b/tests/tests/swfs/avm1/from_shumway/text_bind/output.txt new file mode 100644 index 000000000..e69de29bb diff --git a/tests/tests/swfs/avm1/from_shumway/text_bind/test.fla b/tests/tests/swfs/avm1/from_shumway/text_bind/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..6f89fec76ad277ea9ff8a9a81226733705d14329 GIT binary patch literal 4744 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 sFovOU{>@wdd2fIE%P%|*=JNi3Jwj?5XVR_ zXei-Gk=bAb3(EE>4Xo`%1zQ2;J@|%Ek8m#WIDm~#8LIHG?*}d{ZB%OLvU7n&Z27ee zO)sjtt{T;Sy=WSmxuL0A+0?WJ?^rpuwu!(l7I>MtWNOBu`GR(0r>^gv+{ipv!Wz1i zHSMCI+vQR*ZSdxD=?HQiL;{lh8ke_JPbY@!m>y*z78Z`foo +foo +foo +true diff --git a/tests/tests/swfs/avm1/from_shumway/textfield/html/test.fla b/tests/tests/swfs/avm1/from_shumway/textfield/html/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..1d80d9e624f559275e8983b6e84d652c2b3e1062 GIT binary patch literal 4934 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 Wr=g5baB+ng`!dE3nj};gXa5IbC|q~| literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/textfield/html/test.swf b/tests/tests/swfs/avm1/from_shumway/textfield/html/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..48bdaf4bfa812925c6363567c092d3ac2dc74e34 GIT binary patch literal 739 zcmV<90v!EAS5pyz1^@tfoTZgdZ__Xs#+`2M$^jVT0*FJDNfQ#JPTH((qBd+atF%Km zRC=Gh#91SfIEvl1J8c&vE?jr!n;=e{xbsQ4q2gps|7>H7QKeR1`+0tG9$U@`+nBhRQjSNy*m_qLW$|#}`Hr|*sWsqb=Nt=L{BM>O zbyHR}xuWz`-Ov<6t-e&shN8@QFO(P74ra(f49%JOrS=rX;5Kc+yr7-fiQ~B^w=&O^ zVgp`E^48gQIya{q1Ta%m*2V74YT7%AFzjMV2Cs_+R?T(y{uI0s#;g-6|2?W)LYt{`cA!?zUZPgqglir1UO_9n)45|IcrASkG&(0 z?~iM!R;{vAS8BRq-Aug(F`X-py<_aOV-lpR5TTgjB&nv9MU}*q=4*IYWBU6Pu2?gg zbC(yoV$Epee`5M0LYywlET=nfX~&-K&}b0*=@I1E5c@cJ8s)oGO-~HRHe3=1h?yvg ze9uM+5RPQpC-(axI>xe_oE{B06J9$dI5`AO5wvpS@%Z)94}L&?+yh0xMhx^>;HOOw z^QwVNmyiZTCSYmpl8}iu@k!j2)?HWAbX~fTBqJuU`zYS#I&hxjz~|@7peW?Q{;bLs zm$Hht%X=HMA~!8km$2ZAecS$pP~7>9=1Wif5lB0lX4qSsqWoFZd@T5|Qs6g-yxFE|bg#j7;#Q@PLnQ V2;BSZ?CbZlB)2Wz^Bc=C={sYOZ43Ya literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/textfield/html/test.toml b/tests/tests/swfs/avm1/from_shumway/textfield/html/test.toml new file mode 100644 index 000000000..020067dad --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/textfield/html/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/textfield + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/textfield/text-setters/output.txt b/tests/tests/swfs/avm1/from_shumway/textfield/text-setters/output.txt new file mode 100644 index 000000000..5c1920e11 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/textfield/text-setters/output.txt @@ -0,0 +1,8 @@ +undefined +string +undefined +string +null +string +null +string diff --git a/tests/tests/swfs/avm1/from_shumway/textfield/text-setters/test.fla b/tests/tests/swfs/avm1/from_shumway/textfield/text-setters/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..f97832a05c0057b4e0620b9e37acf09ed57d7bea GIT binary patch literal 4945 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/textfield/text-setters/test.swf b/tests/tests/swfs/avm1/from_shumway/textfield/text-setters/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..5481decbe323b4a3a9a2ee2d124f6ecaf897e961 GIT binary patch literal 700 zcmV;t0z>^nS5pyh1^@tfoTZgdZ__Xs#+`PXhJZ1K5Ib;)GHF7B)K0SXPt=B$hDtk> zq0#%~CGHxL#8K?7-Dw;+aN)W$p9Ic)3cdw5RGjo*HcBZFDN$bMd47o>TW zp8(jFfPH@x0C4$Wa}|JU>~_p!yD1L>KV+t;YD$;$$b_)p?-%+;fyQT0t5hlw=}^~I zp-|aH$nii8*^Xk#DZwVpiM@z>G?bGXpVA($Dasf-2%;%AWCiTfQ&Mnf00%gNS^>d? zBSdB+CYaN>O{s6y6P4WbG3&~&W7;8%2|V`Y#+#z7%BMZgcjbMfRE0O485Xg{Y3WGY zS5Z+#Mq4YIsAL*@PmyjSl<|&~BWsIr>|%~@nsvj}k*Srl=4;xqow{D&GLS! zRDWTVjG~T;WlbyVdc9t$BfF>@FYC=lI??Oa3C*TXFCZZw)7-zHWvmn0QS6<0Vt>q` zBCU)xt+aY%E({ClQcTU`9OoMb4A{;Z4Bvn%;Q6({@`I_FGnD+iOv0tncnmZ?^ zC24MUBBLStKQa9lAx{@(meW6PY1f(V(5M&tX$x{4NPLpKjfq{Vr5(d{%npqM%q<*6 zzUSZs2nQhTz{!AvE)V?l z(oU+Y99RdBukv7B${&pjag|=}W(#{#t$_91Dma?C@>y3t>&nku2|c$2J>lgR@xXBF zu9%JlR;0BPhC`M#|E+vFbZ~jg5H~qMzd!u;JGi@NR#;v%$fED1QPWoZM}&7gTfr literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/textfield/text-setters/test.toml b/tests/tests/swfs/avm1/from_shumway/textfield/text-setters/test.toml new file mode 100644 index 000000000..020067dad --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/textfield/text-setters/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/textfield + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/undefined/v6/output.txt b/tests/tests/swfs/avm1/from_shumway/undefined/v6/output.txt new file mode 100644 index 000000000..e07479388 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/undefined/v6/output.txt @@ -0,0 +1,39 @@ +undefined +[object Object] +undefined +0 +true +'s' + undefined => s +undefined + 's' => s +0 + undefined => 0 +undefined + 0 => 0 +'undefined' == undefined => false +undefined == 'undefined' => false +0 == undefined => false +undefined == 0 => false +1 == undefined => false +undefined == 1 => false +'undefined' < undefined => +undefined < 'undefined' => +0 < undefined => false +undefined < 0 => false +1 < undefined => false +undefined < 1 => true +'undefined' <= undefined => true +undefined <= 'undefined' => true +0 <= undefined => true +undefined <= 0 => true +1 <= undefined => false +undefined <= 1 => true +'undefined' > undefined => +undefined > 'undefined' => +0 > undefined => false +undefined > 0 => false +1 > undefined => true +undefined > 1 => false +'undefined' >= undefined => true +undefined >= 'undefined' => true +0 >= undefined => true +undefined >= 0 => true +1 >= undefined => true +undefined >= 1 => false diff --git a/tests/tests/swfs/avm1/from_shumway/undefined/v6/test.fla b/tests/tests/swfs/avm1/from_shumway/undefined/v6/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..cdd597589b5522ba9108828cbab8b7119b558ce9 GIT binary patch literal 5118 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/undefined/v6/test.swf b/tests/tests/swfs/avm1/from_shumway/undefined/v6/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..af046a9c5c3f63506b39de497498a5c2ee664951 GIT binary patch literal 893 zcmV-@1A_cRS5pR23IG6joTZdobDKsOhF7L`ltUZa=^=-v*~%UJB7#&KvU%3`soFBKJ+f`Ie(KMMV zWOC)l_EPrALCu5-!NSCeyfF3xAF|p$59V>dRukCeEL>rIQn%gU9M_#-rY!AHL3LGO z94ayf5w_zXItzlS`HHFFXlj#7_(v2>Fd-CgPvPLt7L?)n+?%>kZ?t>L`_3E-Tl8;g zDr(9I$*6sXkfE!F-jLOnp{hAAS90qZ$F^(7_L{kAs7*shdGjr;um`R;x%wz`ri4A^ zy(B+6+wr(O-Pue@)g(T}lX5jVy9%*#ib*h!98Bd0;_Zyb#)(g2+jsDZWzt67^ISvK zk=AYu23^z|4x0#d(Xc&yHPW@$9c$FmTggFhTT_}9IP)3yV?lF2ftItTwBIA|!lU0u z0Tm6bZlkF;IvS^T)Yf3sQC}lfSKD1(OQ{8j)vP%3-ePwY1+(NWgmy$QOR8T>qhc{7 z`5In9Oz1-gTeGG#cl|(?))}^jU9HpFbf7hBN(;Uuri}==dNEl}pZ!U@&gu&d=g~B| zf?P+zQ_OZF^eaWljo~`RB#35qY}#Qs^&Fc4m8DEB1LyCB{T9m;c6;=cOjtOQA}&D_ zg2C3!&CRdU9=#g>{eSBha72#aOE~vkJn?+&!amgykkv0CQ?RbOrpv3;q;s@tQBQx9 zJZGe$Tb^W}%}(}+?}R>}LTmH%Hp+ViGnA>*3Cc7D`){7NSCm4zelYJCcGqueZ* zp-i1lP^Kx^fAhR%Q3~by)eNO7KE-tfNQc*V!443=!69$m%UaU?q_=-~y$!0MT9Mwo zNtRnuwZfJUKvl}bqVrYO67ucpj&#D8cckjh3D;FKr|8_xoUB84ymzOPKBv`vDJcc& z0i_=E<=2#Y%o*QgRMB~uQI9!ims3Tx$EgCfPpKFCeEo=GlQpG$n{m_DcNsWoQP%gI zoR&Xubjo|o*nIhfp*iMhj?6pHa$pYnQE++nTwposCzgZQ;ROpqj0bZ`h}O@!D8z_0 Tk%cG^L>ROLztP1zRG+@*6FS5I literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/undefined/v6/test.toml b/tests/tests/swfs/avm1/from_shumway/undefined/v6/test.toml new file mode 100644 index 000000000..8f691b3a4 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/undefined/v6/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/undefined + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/undefined/v7/output.txt b/tests/tests/swfs/avm1/from_shumway/undefined/v7/output.txt new file mode 100644 index 000000000..084490ce5 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/undefined/v7/output.txt @@ -0,0 +1,39 @@ +undefined +[object Object] +undefined +NaN +true +'s' + undefined => sundefined +undefined + 's' => undefineds +0 + undefined => NaN +undefined + 0 => NaN +'undefined' == undefined => false +undefined == 'undefined' => false +0 == undefined => false +undefined == 0 => false +1 == undefined => false +undefined == 1 => false +'undefined' < undefined => undefined +undefined < 'undefined' => undefined +0 < undefined => undefined +undefined < 0 => undefined +1 < undefined => undefined +undefined < 1 => undefined +'undefined' <= undefined => true +undefined <= 'undefined' => true +0 <= undefined => true +undefined <= 0 => true +1 <= undefined => true +undefined <= 1 => true +'undefined' > undefined => undefined +undefined > 'undefined' => undefined +0 > undefined => undefined +undefined > 0 => undefined +1 > undefined => undefined +undefined > 1 => undefined +'undefined' >= undefined => true +undefined >= 'undefined' => true +0 >= undefined => true +undefined >= 0 => true +1 >= undefined => true +undefined >= 1 => true diff --git a/tests/tests/swfs/avm1/from_shumway/undefined/v7/test.fla b/tests/tests/swfs/avm1/from_shumway/undefined/v7/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..80f70938d631cabeaa81dc29f463893f9d4a3826 GIT binary patch literal 5137 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 Q$ncvb5CE9MUjqRC1NvgN3;+NC literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/undefined/v7/test.swf b/tests/tests/swfs/avm1/from_shumway/undefined/v7/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..bd9edeb92f9845bb30d22e3c423049be7f026fd3 GIT binary patch literal 894 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 a_^aj&v?++sb1HKI0Y;<%!1(Dm1Nc9%g)C73 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/watch/test.swf b/tests/tests/swfs/avm1/from_shumway/watch/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..87b99cd96b591475fae73b6d517a70f88addc487 GIT binary patch literal 731 zcmV<10wn!IS5pyj1^@tfoTXIHZ__Xoeo0eWE^LSc91w~+3DBh0N!o60)RiB}I_*#m zjfpFAV|NWCafscuJ8|H`X~&-VPlwZ{T{g-XASJP%{e9ni`E0!@6h8uN`~Y~OfctP0 z0KPujECO^AGPIA~o<0qOh}$yStBiz*ZG7{9eUqZ}UV!;Xf0wW!$@FvlbO?^u6(D5PN(0u4c7RPg)x>R$SHx6keGBxrSYB}ms?I`h2eR)6Ds2Yuy({8ou zZlh=1rn*LARVz*WGfH|13+Ja0(_6v2XM%LJLM>UfF zk;M}GADezFp|1|+%BO$6(!^Wc(0H5#^A;xl}G3KTZc3NT5qNcvX|p#Qrk& Ngtext diff --git a/tests/tests/swfs/avm1/from_shumway/xml/build/test.fla b/tests/tests/swfs/avm1/from_shumway/xml/build/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..36115bae703e2e0975777dce7960f2d42e2857dc GIT binary patch literal 4884 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/xml/build/test.swf b/tests/tests/swfs/avm1/from_shumway/xml/build/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..6fe367c86bd6221b5fedb4622d3d7873df3344b4 GIT binary patch literal 727 zcmV;|0x11MS5pzo1^@tfoTZe_Z__Xs#@}{dfiX730S-foI%%BRd~|Kqs4MG|R+>aN z)b+p(xv{%OByotHwL5X(g2cUN{?p;4U)fg5fGAO7>v?{8{n&a(u<;3C_b0&X3|KGr z0O0G(y$yg`i2FvzYRMzd^_d|?$GHLLfuShF;jl0)7HD{-Xw_;}QFTSv^FonlH$F$B zyw47DbvYqegxR4JaEJPGJVrel@#9=>iXC~u9P6_J!n8*UHuaPd3KXrNDltch3^OE% z)38gaTW`cFx#c1@kUxa9PZ$$;U2F% znW-7?kp5~l>)r%J=@3Sv&?Z8DFx{PY+c@(XN4`zYth$&eI1V;i<+5HjtBqo_Rcsz< z+No7Gtx~mFY?Q6)Y1v8^de=ImS=5d^;`1pD{{<~&ozX5r=gJZ1V+qyN)k?KgX%x-X z)Fp^{tt51=32uedOLieZAtP~8$GKTlaZE|RhO;Cl^-l|XV4czMl9(Pz!|8=grs)5~ z^jm~H-rB$1KUQQh92T|6a=ngqZp`+@@zou z&qH)g^8L7b)RcvAX-Ueo3D#vWv$wam@78`~0KP}C3!)(S*nSVh)qoSm!A^Qbb5aV3 z{}LaY1JR0vLdata + diff --git a/tests/tests/swfs/avm1/from_shumway/xml/load/test.fla b/tests/tests/swfs/avm1/from_shumway/xml/load/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..cb724f5f47186f4d982885e9a365697fb71c2d0a GIT binary patch literal 5039 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 aP4n157-N(D%@Auxl z`x?RebAX3$0lrYc+1UnwSD$aM1Jn}Fw>nM>jrw84EYYj0SDeR|rVWR~;?OM8q^B9x zYE{!qTB%eJhyuHgI35)uwx`-CRd5J%lOW~+jgai)OFH0nRh`L>`td?GVnyuHOHy=c zUmM|AGm5$i{0??Tr(WP+ zzZZFlL^bVJCf_@^?e_iI?f11gn(+?t??0+-tR9;u_p9C^v51u0@r=I1U3BOF?Z^U{}*=#1iets&)bF$24oYVdB15sy{jf|Acq~wjxql=|f{>_e*%6tO~8@R5x zdf^9Hfud6Y|>|%5r?C z^9UxpVnQN}tde`qaKz-RwY!#@j$Up4A{rT>f9)85zy1||Qxy=;n{Q5Le!dcqTa0iR z^rE^N5}&Jf&8HDZK6b^SO$AlNf*(caiHckr(xk5L>3XGNnkotj=OlR+V>gI;byY9w z>8GL>B#Ba!q1qwsSv5_n+BGegnf}r`11EZAHNlx?uf&YF#ZEDvM=&t C9mVMY literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/xml/load/test.toml b/tests/tests/swfs/avm1/from_shumway/xml/load/test.toml new file mode 100644 index 000000000..7f2cddaa3 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/xml/load/test.toml @@ -0,0 +1,3 @@ +# Test adapted from Shumway at https://github.com/mozilla/shumway/tree/master/test/swfs/avm1/xml + +num_frames = 1 \ No newline at end of file diff --git a/tests/tests/swfs/avm1/from_shumway/xml/load/xmlload.xml b/tests/tests/swfs/avm1/from_shumway/xml/load/xmlload.xml new file mode 100644 index 000000000..1e8c41dc1 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/xml/load/xmlload.xml @@ -0,0 +1 @@ +data diff --git a/tests/tests/swfs/avm1/from_shumway/xml/string/output.txt b/tests/tests/swfs/avm1/from_shumway/xml/string/output.txt new file mode 100644 index 000000000..d267f9f44 --- /dev/null +++ b/tests/tests/swfs/avm1/from_shumway/xml/string/output.txt @@ -0,0 +1,9 @@ +1 +test +3 +1 +string +test +3 +text +test2 diff --git a/tests/tests/swfs/avm1/from_shumway/xml/string/test.fla b/tests/tests/swfs/avm1/from_shumway/xml/string/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..60ba0ec1b3f66b9cb2d0998891b96eb80cbb6bbb GIT binary patch literal 4645 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm1/from_shumway/xml/string/test.swf b/tests/tests/swfs/avm1/from_shumway/xml/string/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..3e51793fffcd1ac7bb03ce8ee7cc4461b4576b2d GIT binary patch literal 704 zcmV;x0zdsjS5p!H1^@tfoTXIDPTN2fy+8w@R4P?BU36g?sk>xs=Rslx7ZPI$sYxq} zs_v?ZJx;9J9&2Vo!m8VT0n4g?(odsflNaOxrItPN+y)%|M1xkca}miUl4O zVt$}nN~T~F?y?{e0gaV(j=OXqj#PClJBpI2Y|M+;qg_&TX@o{NL3&X`sg4AhEk>}Q z?1IwJI!RHA6Jp+1J~8SO&ZRsKmDcB~Qc${sAoP?<>9B$BGv~C3EkDc9^h!aKZ}~#6 zn0n3Bs&Z;-+8p;5c}r~*fjunn5^~v){CV;n?3hlyz`uGFd4^OP=$@00_O{(#?`{;K z37U&@;;%>Zi>rj7bHeF>xkSPb#;4P6n`bc>ICjaIZOK3}2t2cOQY#tFidMHBDfl_QYUIQbq5iN#aPYz2emosMC~IBdV#zjOH}Jsr(8L0YW3E7 z)g=IyAxP%4jM9q83h8Cz3HTpj`t&~uv z2Q%~O$yeHQr#CbiurO;uo{LCG($%=UrFzyeJlFIoi?Fb8l7xYaQ$aK;@IH0F5Ah`_ z_-XfOpc!y!Nod>zEd^SeH#ax$xBhGZ{QLzkKo$fILAbD_eJqH3$|Vj5^3cG-VkZWhXAq3!vQMD4;hjGxY0;_bMz mDzUvPk02U+Q>l