From 4eef8a1821280886597278d03b19c3aa1816a6dc Mon Sep 17 00:00:00 2001 From: Mike Welsh Date: Mon, 13 Jan 2020 23:38:20 -0800 Subject: [PATCH] tests: Add test for ActionCall --- core/tests/regression_tests.rs | 1 + core/tests/swfs/avm1/call/output.txt | 34 +++++++++++++++++++++++++++ core/tests/swfs/avm1/call/test.fla | Bin 0 -> 6013 bytes core/tests/swfs/avm1/call/test.swf | Bin 0 -> 525 bytes 4 files changed, 35 insertions(+) create mode 100644 core/tests/swfs/avm1/call/output.txt create mode 100644 core/tests/swfs/avm1/call/test.fla create mode 100644 core/tests/swfs/avm1/call/test.swf diff --git a/core/tests/regression_tests.rs b/core/tests/regression_tests.rs index cf5ceafb0..1e83b2c24 100644 --- a/core/tests/regression_tests.rs +++ b/core/tests/regression_tests.rs @@ -39,6 +39,7 @@ swf_tests! { (as_transformed_flag, "avm1/as_transformed_flag", 3), (attach_movie, "avm1/attach_movie", 1), (function_base_clip, "avm1/function_base_clip", 2), + (call, "avm1/call", 2), (color, "avm1/color", 1), (clip_events, "avm1/clip_events", 4), (create_empty_movie_clip, "avm1/create_empty_movie_clip", 2), diff --git a/core/tests/swfs/avm1/call/output.txt b/core/tests/swfs/avm1/call/output.txt new file mode 100644 index 000000000..bd497983a --- /dev/null +++ b/core/tests/swfs/avm1/call/output.txt @@ -0,0 +1,34 @@ +// frame 2 +// call(3) +// frame 3 A +// frame 3 B +// call('SomeFrame') +// frame 4 +// call(o) with toString +// frame 4 +// call(5) +// frame 5 +// foo +root +// mc._x +20 +// tellTarget('mc') { call(5); } +// mc frame 5 +// foo +mc +// tellTarget('BadClip') { call(5); } +// frame 5 +// foo +root +// mc._x +20 +// mc.f() +// call(5) +// mc frame 5 +// foo +mc +// call(1234) +// call('INVALID') +// call(4294967299) +// frame 3 A +// frame 3 B diff --git a/core/tests/swfs/avm1/call/test.fla b/core/tests/swfs/avm1/call/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..9d2546b9e650ff2f4e629c179d82e8cad08779c3 GIT binary patch literal 6013 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