From 73a9a0e7710a540b1301454dc10e9603f155c9d9 Mon Sep 17 00:00:00 2001 From: Mike Welsh Date: Thu, 20 Feb 2020 18:25:26 -0800 Subject: [PATCH] tests: Add test for MovieClip.getBounds --- core/tests/regression_tests.rs | 4 +- .../swfs/avm1/movieclip_getbounds/output.txt | 84 ++++++++++++++++++ .../swfs/avm1/movieclip_getbounds/test.fla | Bin 0 -> 7917 bytes .../swfs/avm1/movieclip_getbounds/test.swf | Bin 0 -> 680 bytes 4 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 core/tests/swfs/avm1/movieclip_getbounds/output.txt create mode 100644 core/tests/swfs/avm1/movieclip_getbounds/test.fla create mode 100644 core/tests/swfs/avm1/movieclip_getbounds/test.swf diff --git a/core/tests/regression_tests.rs b/core/tests/regression_tests.rs index 23dd304c9..946839198 100644 --- a/core/tests/regression_tests.rs +++ b/core/tests/regression_tests.rs @@ -178,11 +178,13 @@ swf_tests! { } // TODO: These tests have some inaccuracies currently, so we use approx_eq to test that numeric values are close enough. -// Eventually we can hopefully make these match exactly (see #193). +// Eventually we can hopefully make some of these match exactly (see #193). +// Some will probably always need to be approx. (if they rely on trig functions, etc.) swf_tests_approx! { (local_to_global, "avm1/local_to_global", 1, 0.4), (stage_object_properties, "avm1/stage_object_properties", 4, 0.051), (stage_object_properties_swf6, "avm1/stage_object_properties_swf6", 4, 0.051), + (movieclip_getbounds, "avm1/movieclip_getbounds", 1, 0.1), } #[test] diff --git a/core/tests/swfs/avm1/movieclip_getbounds/output.txt b/core/tests/swfs/avm1/movieclip_getbounds/output.txt new file mode 100644 index 000000000..2d77b7b83 --- /dev/null +++ b/core/tests/swfs/avm1/movieclip_getbounds/output.txt @@ -0,0 +1,84 @@ +// clip.clip.getBounds() +-50 +-112 +154.95 +50 + +// clip.clip.getBounds(clip.clip) +-50 +-112 +154.95 +50 + +// clip.clip.getBounds(clip.clip) +-50 +-112 +154.95 +50 + +// clip.clip.getBounds(clip.clip.clip) +-154.95 +-100 +50 +471.9 + +// clip.clip.getBounds(clip) +-35.35 +-57.25 +94.4 +72.5 + +// clip.clip.getBounds(_root) +99.95 +100 +261.95 +304.95 + +// clip.clip.getBounds(clip2) +-124.65 +210.05 +145.75 +469.5 + +// clip.getBounds('/') +3.5 +50 +308.4 +354.9 + +// clip.getBounds('/clip') +-35.35 +-35.35 +76.7 +68.2 + +// clip.getBounds('clip:clip') +-204.95 +-99.9 +99.95 +521.9 + +// clip3.getBounds(undefined) +-119.8 +-89.8 +50 +68 + +// clip3.getBounds(o) +-5.8 +-107.8 +164 +50 + +// clip.clip.getBounds(undefined) +undefined + +// clip.clip.getBounds(undefined) +undefined + +// clip.getBounds('') +undefined + +// clip.clip.getBounds('clip.clip') +undefined + diff --git a/core/tests/swfs/avm1/movieclip_getbounds/test.fla b/core/tests/swfs/avm1/movieclip_getbounds/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..7041e570d61995687c8cd4c296273c2c32024d11 GIT binary patch literal 7917 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 Oo)gC?i~Iq-wqlc&eNfE+ literal 0 HcmV?d00001