From 46bd6bbee91543682ee0fed782ba32483b275beb Mon Sep 17 00:00:00 2001 From: EmperorBale Date: Tue, 14 Feb 2023 23:39:37 -0800 Subject: [PATCH] tests: Add test for scopechain resolution order --- tests/tests/swfs/avm2/resolve_order/Test.as | 20 ++++++++++++++++++ .../tests/swfs/avm2/resolve_order/output.txt | 4 ++++ tests/tests/swfs/avm2/resolve_order/test.fla | Bin 0 -> 3942 bytes tests/tests/swfs/avm2/resolve_order/test.swf | Bin 0 -> 803 bytes tests/tests/swfs/avm2/resolve_order/test.toml | 1 + 5 files changed, 25 insertions(+) create mode 100644 tests/tests/swfs/avm2/resolve_order/Test.as create mode 100644 tests/tests/swfs/avm2/resolve_order/output.txt create mode 100644 tests/tests/swfs/avm2/resolve_order/test.fla create mode 100644 tests/tests/swfs/avm2/resolve_order/test.swf create mode 100644 tests/tests/swfs/avm2/resolve_order/test.toml diff --git a/tests/tests/swfs/avm2/resolve_order/Test.as b/tests/tests/swfs/avm2/resolve_order/Test.as new file mode 100644 index 000000000..aff62d19b --- /dev/null +++ b/tests/tests/swfs/avm2/resolve_order/Test.as @@ -0,0 +1,20 @@ +package { + + public class Test { + public function Test() { + + } + } +} + +this["int"] = "global"; +this["other"] = "global"; +trace(int); +trace(other); + +function test() { + trace(int); + trace(other); +} + +test(); \ No newline at end of file diff --git a/tests/tests/swfs/avm2/resolve_order/output.txt b/tests/tests/swfs/avm2/resolve_order/output.txt new file mode 100644 index 000000000..a312ed46e --- /dev/null +++ b/tests/tests/swfs/avm2/resolve_order/output.txt @@ -0,0 +1,4 @@ +[class int] +global +[class int] +global diff --git a/tests/tests/swfs/avm2/resolve_order/test.fla b/tests/tests/swfs/avm2/resolve_order/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..0264fb4cf9cae25f118a1a8b257c6e5617208236 GIT binary patch literal 3942 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/resolve_order/test.swf b/tests/tests/swfs/avm2/resolve_order/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..90e6d21d8ae196e144a39a3e98f69aeffea58653 GIT binary patch literal 803 zcmV+;1Kj*WS5qr01pokeoPAVVZ`(E$CM8NF<$G+?u97rKnYh9}uejjZhb( z=M9DsIx?=WuRpa*pkj0q$XIS3AoQvA56K;{>Zq5Cr-;0hnYNEdf5<>H4f==E&@aFB zRs2pxGE}jwfFqmq#wweJ{uO_lTqt=Is%iTMeYl9WPg6gV2P6+#I`sp&HPL!{*zfz} zWF&h*67_#OdD?&Cc|Z3@=PJ}HHdU;xL{DUDpM}ZD4@(91T&pl^7UlgQkXfciDpdOF zhLX%a>SS6jESaWBn%x)|GS*pjZd_`a#(p?|?G%d2G;<2;OeWF1Mp0b->1&n5rNS4< zvGRGL$5K~rwca?5=J}^796-fqw`Kw*WID%Yel%UMWSo7WnO$XCMsp?_cviotJ?Lm- z!IbeC^p_Q$b2aDpxkqz;mr>YR8rI?Muv*Lh6QHc+_OkPNA&YO}D2X+URi+!upf@q} z&JVP@kOgq{2T9fzhjI8K7kS**0nEDUkH;_bkL4st)l}EM3RjjgHNL4UzE9UKj`m34 zt|5r9yR1Vj#L69PA&_;^U@M|2TC6RE=&-K1BV4h{*4R3`%QnQO*b?{HeX%VbupO7V zyY54G&wb=RcK2-)Q-(2tC&zThDPhxQW!6Vt1UX+JMQY*`rVDqt$Wt}?FT!% z5BEA08x)(=v?!s}=9D_Tgn0$?D&~g4O_Muh6>|qHi~nSCZqa&=l0GFKB?pu|$$#e` zF9RFgKn5}ivyhD~j9?RFmh?STXO>6Gf9OAYGVXm;8-t{dQ|z=7}1Jc;t6E8ei_4O`x@?G1%D hB(UG(^