From a9f5823074c57a62dd6193af22076508cc44c0ab Mon Sep 17 00:00:00 2001 From: EmperorBale Date: Mon, 11 Oct 2021 15:57:04 -0700 Subject: [PATCH] tests: Add test for with --- tests/tests/regression_tests.rs | 1 + tests/tests/swfs/avm2/with/Test.as | 27 ++++++++++++++++++++++++++ tests/tests/swfs/avm2/with/output.txt | 4 ++++ tests/tests/swfs/avm2/with/test.fla | Bin 0 -> 4754 bytes tests/tests/swfs/avm2/with/test.swf | Bin 0 -> 1493 bytes 5 files changed, 32 insertions(+) create mode 100644 tests/tests/swfs/avm2/with/Test.as create mode 100644 tests/tests/swfs/avm2/with/output.txt create mode 100644 tests/tests/swfs/avm2/with/test.fla create mode 100644 tests/tests/swfs/avm2/with/test.swf diff --git a/tests/tests/regression_tests.rs b/tests/tests/regression_tests.rs index 2a563b978..f8dec28f6 100644 --- a/tests/tests/regression_tests.rs +++ b/tests/tests/regression_tests.rs @@ -668,6 +668,7 @@ swf_tests! { (as3_vector_legacy, "avm2/vector_legacy", 1), (as3_vector_enumeration, "avm2/vector_enumeration", 1), (as3_sound_valueof, "avm2/sound_valueof", 1), + (as3_with, "avm2/with", 1), (as3_sound_embeddedprops, "avm2/sound_embeddedprops", 1), (as3_soundtransform, "avm2/soundtransform", 1), (as3_movieclip_soundtransform, "avm2/movieclip_soundtransform", 49), diff --git a/tests/tests/swfs/avm2/with/Test.as b/tests/tests/swfs/avm2/with/Test.as new file mode 100644 index 000000000..7798f5a82 --- /dev/null +++ b/tests/tests/swfs/avm2/with/Test.as @@ -0,0 +1,27 @@ +package { + public class Test {} +} + +with (Math) { + trace(abs(-10)); +} + +var test = {"example": "scope test"} + +with (test) { + trace(example); +} + +with (Math) { + var f = function () { + trace(floor(20.3)) + } + f(); +} + +with (test) { + var f = function () { + trace(example) + } + f(); +} \ No newline at end of file diff --git a/tests/tests/swfs/avm2/with/output.txt b/tests/tests/swfs/avm2/with/output.txt new file mode 100644 index 000000000..3cc1da6d2 --- /dev/null +++ b/tests/tests/swfs/avm2/with/output.txt @@ -0,0 +1,4 @@ +10 +scope test +20 +scope test \ No newline at end of file diff --git a/tests/tests/swfs/avm2/with/test.fla b/tests/tests/swfs/avm2/with/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..9a07c55316cd70a0b5bc80a894e59b5d0b0bb9f2 GIT binary patch literal 4754 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 fePxuiXg=h}HhtHit~+-ut`1x%bYU zp-a%O31Z?8f`|j66pa%E@oVgNiXhgldP9C*+D>*`nr_Qjda%@V98(sAPN$RU!QJ1Rb=I6|+)W64R2jFRjQcD{?NM7FT6aTo*22 zeRrd-Hcr0E`3#v{7d}eitCOl!KA%>rB@EEE^BgrkkGA(uOe8!+dXvQloqdI`la zR%EHisJ?9(t^O{U(6W(RsRv7gQn_X7*H>0ADbw1Q61(6!V5@&iLKj>IY{vJL>5~-6 z;l`ZR>6=@+t_(ZWY+G9Y?AH|mX~qwzbd;0`;@$M0L05sFNg{*Cz~6u2=ZE~GhXl8eY)5d1>kb}XB+R{{W z=2E_(7edIT%|JVq7bzD98arkApbJ~3dC+ulQ`rX{*e5=)+Kq;W1|Jt}`=i}y*az^q zl|AUFPV@eKpObbhsGw{9{+?Ywn|nDSD~bi-u&rv2sx!!4PeXJ=GYpHWK&MHFo9aXbqULByKAlp_CRZVqH2DL%<8^Q>9= zH!W4ii60F`122IrA8YrkF_e&QpM`0k*bZv>kvKTc$k{Z5>k=Iik&e$UVm(b;_2cW; z$d3;n!r60OBM-Y~`n-M*hwPx#d1cA_dQG`y;Qwg6p0#)$w4>wNLB+v$g$KOy8It+Y z&5+CP$F)O8X(B5E>-e_8JHFRH(aWD`icx9eBZ~2Jt3@xw#$TRN&`W>wdymG!9UjDK zp5eK8c$T5Z*{NAThv_*s!CztL`33$eyT~W`YwQxg%%}M4><#uNdyBoz-{J4__t-R_ z;RRMqgcDLCo5&^diIqelNCJihfWjjOm>Z!mAcO4Kc!Zjmj84U-XZYFpT;j_7!qvs( zwIzBvb^XT8TelMopcxQkNS2{OOmK{0A`COZMFAHB+%(|m02d^=8Nl&?i%?tya1&Tb zbE`BrMl+K|hLRcTK0~cD)C11D4hL^wWKQCj^5y{$-~w1dQY=m2)d3L<5Ht~>NPrPR z_daFZfdwQ50O#TZk@u6mc$KYjyDaF|J zt~zlqc5n6tfWcn4HtAx<{8(J`gy%N-GxG>Q2J^(K(cLKFns^UAi%mq|lo*(BC^Swk z