From a877fe8c6767cbffba5dd6ab6fde9637e0ceb35a Mon Sep 17 00:00:00 2001 From: David Wendt Date: Wed, 21 Apr 2021 18:33:41 -0400 Subject: [PATCH] tests: Add a new test for properties unique to the `Stage` --- core/tests/regression_tests.rs | 3 +- .../stage_displayobject_properties/output.txt | 24 +++++++++ .../stage_displayobject_properties/test.fla | Bin 0 -> 4365 bytes .../stage_displayobject_properties/test.swf | Bin 0 -> 823 bytes .../swfs/avm2/stage_properties/output.txt | 48 +++++++++--------- .../tests/swfs/avm2/stage_properties/test.fla | Bin 4365 -> 4423 bytes .../tests/swfs/avm2/stage_properties/test.swf | Bin 823 -> 895 bytes 7 files changed, 51 insertions(+), 24 deletions(-) create mode 100644 core/tests/swfs/avm2/stage_displayobject_properties/output.txt create mode 100644 core/tests/swfs/avm2/stage_displayobject_properties/test.fla create mode 100644 core/tests/swfs/avm2/stage_displayobject_properties/test.swf diff --git a/core/tests/regression_tests.rs b/core/tests/regression_tests.rs index b2fb3cd64..4343a023a 100644 --- a/core/tests/regression_tests.rs +++ b/core/tests/regression_tests.rs @@ -561,8 +561,9 @@ swf_tests! { (as3_domain_memory, "avm2/domain_memory", 1), (as3_movieclip_symbol_constr, "avm2/movieclip_symbol_constr", 1), (as3_stage_access, "avm2/stage_access", 1), - (as3_stage_properties, "avm2/stage_properties", 1), + (as3_stage_displayobject_properties, "avm2/stage_displayobject_properties", 1), (as3_stage_loaderinfo_properties, "avm2/stage_loaderinfo_properties", 2), + (as3_stage_properties, "avm2/stage_properties", 1), } // TODO: These tests have some inaccuracies currently, so we use approx_eq to test that numeric values are close enough. diff --git a/core/tests/swfs/avm2/stage_displayobject_properties/output.txt b/core/tests/swfs/avm2/stage_displayobject_properties/output.txt new file mode 100644 index 000000000..b633a80e5 --- /dev/null +++ b/core/tests/swfs/avm2/stage_displayobject_properties/output.txt @@ -0,0 +1,24 @@ +//this.stage.alpha +1 +//this.stage.height +80.95 +//this.stage.name +null +//this.stage.parent +null +//this.stage.root +[object Stage] +//this.stage.rotation +0 +//this.stage.scaleX +1 +//this.stage.scaleY +1 +//this.stage.visible +true +//this.stage.width +87 +//this.stage.x +0 +//this.stage.y +0 diff --git a/core/tests/swfs/avm2/stage_displayobject_properties/test.fla b/core/tests/swfs/avm2/stage_displayobject_properties/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..35c6ce4c3a4e7aa7c729b33d00c1594a392b4f6b GIT binary patch literal 4365 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 literal 0 HcmV?d00001 diff --git a/core/tests/swfs/avm2/stage_displayobject_properties/test.swf b/core/tests/swfs/avm2/stage_displayobject_properties/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..c23ae988ddd317e42b172e2c73a427db4f0a6977 GIT binary patch literal 823 zcmV-71IYYCS5qs81pokeoQ0F!ZqrB<$7d!UPm(5SzU-v1-NF(+3yA|Npn|j?=`Jcu z>1w+dAf;+tXF?2a9NE**a)pG1gv3Me3OoUq?A0odu-birbj5x4jHgBQs%R~H&fmXt z&dm56&mN*%2+h7jsEW}_A&C%bk?C~$Lj|FQ{O(+>S^M=x&3C-UFRf>{x=*)n-+Z|1 ze80N3-fW@|MhW6E+Hm-QpJ{^X1@;baqG_6e;{JlHV)cry;}zI|x?_2wnU zfYB6}Gyw(zdtQ~{CVNi{d*7oeEC|}G322S<@cJL0Ioc$OVdE-1rNnm&$E}; zY)TJcBQmOmd<2yUXMdDt1=?u~r_Y1z zit4NiEvya%hu#Ty#1%1P{+2%wumBJAjbY#lzO=gBZuwo_4t9GzkGCB^;BC3HupK_{ zg>8GZbG;pX!qzbGhddB258KStOud?{XeKr5p$V~9Mh9_iG8~12WmpTECSt&FHnbZ_uK?+^Lq|^*x zNs6R`DXCKc4JpzJrlp<%Sdk*5;EdE+fOAsh6wF9H3-GiQc?Gjl7XZ#nQB*J|bqU~t z6lDdYJsSYeN?|IPm%0M*oD@|BqYs&bT95?P!W>)URkT?=xG=#rH0~wVi)2E;n;=lN z#j(Xvr(|`?R>!b9rq!ufovPI#a6dxx>gwZz`lJde-v0iu( zxBuU+cK4RUmhP4|m-G*uq$G}P zQ5l#90<#4BEKaVXWo(P%3?z&r68a1rZK%(daT40%ClW2(9lTML?QIQ#>ta!h=nizx((+zvBknFo`1ywOTEb7+yQ^-(-gvp z@Q!%_j_}n2eh^ubOri4d_8&J4i0Lg{UdQpK)ckMl)?eYYZP88q5RU`?y|h^pirIdH zfBF5&u|>y0jx(9Km-=MpUTXS8xinoxyBw=XGaO|+9DfbnT$9_+WOe2m$dsq@44K+w zGIG#(B9ABT1i4ey5#PUlC1f9q74=CEckv&f%Q zys$-pTpHgUkcT1@Uy9!6*n|H5Y<%S(rPe$Fe ztB7GRW8@wm2d)U(e9RM2;N-734qdQ}lV)wieU5wKE++NXfSMJE=Zb9I*(<;yb)HlXru7`_ggEXTyE3_OzVI@{v=vk>WZ}i?+$NlXG&`2&`+r8}F9GS(Z{XiK-WD%3-9Un3Ao+2qqWtQj zyvpxs8bTN4)gxE%d*#(*NjbgVmUQYbwWQPLB6v7<_Hr~ok#-($rOxv$hwyWC!{J39OhfEc<{>wVq>yM(RjL#>;?_I_d{TW+QlrjGkR#8ZBT=?giG2+6K`LMKu+q znLWX^cH>~#)cfUFGit@l!N#a(DoRGR;&Ct1E0T3txtp$^h z1r?J(5Gn%P4U@hN7AgS(6aW+e00;m8c&b%ULT9up8~^|S8~^|S6951J0000000000 Y000aQldKRw0hp8Q5E};94gdfE0CBj3asU7T delta 1292 zcmV+n1@rpHB8?)Dxqqe9#Q|sp003eX000jF002Z!O+;^Fb!}yCbS`*pY_(WhZ<|OI zey`O3KxSXI5B3ZfV`w3g9ZWY;(ncb?+p4No7?15~xrrIa_9{QV!we=)4c^#nc^Ww9 z`_AFqIJV<`y!EnZmEe>qnb!I_t$zqD}NSHLr8_6Zf}BUiIcEL zQp&Zg&W!Qd2aw zkCf?(#4|;=O@E{VB?-S}#glFBix7WUB~x6upwh~w-*CiekcRm^=bwi$S!-5E> z_3ZJ#hK@l~P^~tMWs4Pvm1>CA-WiDR++tyNrOs1IInag@<#toTTA2#xobNVuiso z0?8s&>7k&uaZ@T(2E_RvZXn9yj7Ru4gnWM0l~kEg2n}$|({#k}o{@PO+%^}UJ0tR- z@Djos7k}{5lx_(E@!C@y-}8*PpcDY*JKo-AGk$9iHS4GoduFOMM+M2*%ODb0A)JdZ zSKjD;^o12+gntJRvL&H?-kA&B5953pf;aD8zmn3QMNg9FxFsfwC2IysSsPLWq7he0 z+E95|rn4C*Wo^hJ%UW=yq#eb=GU{zeDQ!d3D1VIcr)I2_9YuaVg8bZud?1wY&T58M z!Zz%h%-FISDMW3!O*3ZGroV00-@bYG_3NbrPbqN+p57J?p8@4J?7v%k55t>0ScW-1 z0V9EYvc{)a+JpKW8nA6#PZsrsv!anL$YL_PDhDJy&mCC%b8-;iSy6B(E3)q|7{QI; zK!1S$=lDrdMf9K?;VIuT!ngymWG@5Mkz>zIk>>hq==+FY;Jmc&QNwOdI&d$9XO`ez zQco|!Gt0@rv&FeZIN{K8xsrXOidB|Ay@R+H^e(tC1{P8@3#pH$j^yd0KFMc>fzU;L zdK3uptUf)~ET`w&fv3Ky15cZa+`>y|uYaHxd)3h;4IbUn1c}%V8&*u%uwx3qZhfsc zU3jqSR$CRVW9-}&BxSe=Fk>WL>Ll&V#DZ0tQ#%FYB!Hf-Xl%Knt#oQ zWfx*wKa4R#Lw%?s>(>w?eb|i{*^R^|vN~3UZM6^^YA0gDI%trArRlbY47(%oLAeQH z)gE+8=P_y~9&~JJ!#tQ3l3455AcoaKtlGbdSnD<` z4C|mlN@B~lJI>>lI_AV$*9I9j6A*LiD4)s)3&8GT_Ik(dK<#S_fr$W{HnO-$1y0KZ%5*#5vVA4l)HM>elJ z_8@m|8)4Ng6`tAV#kDojwf%}O%=^4zI*$9u-#&DlM%&}OUz{{hnQma?bl@~dO1+wN z?ZPH^`hr8p!am~57sM{lG;+@aANTfLx3>*(*Gr!v3o{9A*Ks`>l*O}w()%UjxLU2( zH#b)*n&0v9B}ld%FY-b9-59V z9<$TBFcS>QPq=-*E8xkdqh7Tc%;8|*xdZMAoBK_sYkIg4$!j{+-#~eWDI<(&QAT5oCK;V$ zG{xuwqgh4^j4m;HiP6i9mKc4V(JPEzW#Km&xyHy_jJ(ars-~_sTxJvs{u2me5(y!K zL&5Eb3Tqf?fTOX{(6|MN;8^?zGBozJ>+zGs2=8imME13zMXj*ZAqdP%p()6urU27Y zgcXcP%>ZVkh$tA9Itnl+MGVjlY(_`%i7hc@O9IrTn3FaFw)u%IHDyZ!%uBJLU`*-^ zz(pyt3dW_*0bG_sS1=)U9$-<5f`Un@7XhwFv83Rf)XM;0lj4$s!3q>%y+{bwOCK7; z9kic1DUWa&4Xw~_ii`+ELj+cKb!c$ZN*k>Oqm?mQS)-LRTDs99@P37g>gnQ>>!Sjs Ve2`gETZPU&$>>9f`~wtI=Q=wL#cTio literal 823 zcmV-71IYYCS5qs81pokeoQ0F!ZqrB<$7d!UPm(5SzU-v1-NF(+3yA|Npn|j?=`Jcu z>1w+dAf;+tXF?2a9NE**a)pG1gv3Me3OoUq?A0odu-birbj5x4jHgBQs%R~H&fmXt z&dm56&mN*%2+h7jsEW}_A&C%bk?C~$Lj|FQ{O(+>S^M=x&3C-UFRf>{x=*)n-+Z|1 ze80N3-fW@|MhW6E+Hm-QpJ{^X1@;baqG_6e;{JlHV)cry;}zI|x?_2wnU zfYB6}Gyw(zdtQ~{CVNi{d*7oeEC|}G322S<@cJL0Ioc$OVdE-1rNnm&$E}; zY)TJcBQmOmd<2yUXMdDt1=?u~r_Y1z zit4NiEvya%hu#Ty#1%1P{+2%wumBJAjbY#lzO=gBZuwo_4t9GzkGCB^;BC3HupK_{ zg>8GZbG;pX!qzbGhddB258KStOud?{XeKr5p$V~9Mh9_iG8~12WmpTECSt&FHnbZ_uK?+^Lq|^*x zNs6R`DXCKc4JpzJrlp<%Sdk*5;EdE+fOAsh6wF9H3-GiQc?Gjl7XZ#nQB*J|bqU~t z6lDdYJsSYeN?|IPm%0M*oD@|BqYs&bT95?P!W>)URkT?=xG=#rH0~wVi)2E;n;=lN z#j(Xvr(|`?R>!b9rq!ufovPI#a6dxx>gwZz`lJde-