diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript2Test.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript2Test.java index 4ded75018..2efe3efc7 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript2Test.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript2Test.java @@ -2311,4 +2311,61 @@ public class ActionScript2Test extends ActionScript2TestBase { + "trace(eval(\"k\" + r));\r\n" ); } + + @Test + public void frame81_globalFuncAsVarTest() { + compareSrc(81, "function t(x)\r\n" + + "{\r\n" + + "trace(x);\r\n" + + "}\r\n" + + "trace(\"globalFuncAsVarTest\");\r\n" + + "var trace = 5;\r\n" + + "trace = t;\r\n" + ); + } + + @Test + public void frame82_switchAndTest() { + compareSrc(82, "trace(\"switchAndTest\");\r\n" + + "var a = 5;\r\n" + + "var b = 3;\r\n" + + "switch(true)\r\n" + + "{\r\n" + + "case a >= 0 && a <= 3:\r\n" + + "trace(\"a 0-3\");\r\n" + + "break;\r\n" + + "case a >= 4 && a <= 6:\r\n" + + "trace(\"a 4-6\");\r\n" + + "case a >= 7 && a <= 10:\r\n" + + "trace(\"a 7-10\");\r\n" + + "break;\r\n" + + "case a >= 11 && a <= 20:\r\n" + + "trace(\"a 11-20\");\r\n" + + "break;\r\n" + + "case a != 0 ? b < 5 : b > 5:\r\n" + + "trace(\"a 0, b xx\");\r\n" + + "}\r\n" + ); + } + + @Test + public void frame83_ifframeLoaded2Test() { + compareSrc(83, "trace(\"ifframeLoaded2Test\");\r\n" + + "trace(\"A\");\r\n" + + "ifFrameLoaded(9)\r\n" + + "{\r\n" + + "var d = 5;\r\n" + + "if(d == 4)\r\n" + + "{\r\n" + + "trace(\"B\");\r\n" + + "}\r\n" + + "else\r\n" + + "{\r\n" + + "trace(\"C\");\r\n" + + "}\r\n" + + "trace(\"D\");\r\n" + + "}\r\n" + + "trace(\"E\");\r\n" + ); + } } diff --git a/libsrc/ffdec_lib/testdata/as2/as2.fla b/libsrc/ffdec_lib/testdata/as2/as2.fla index aa5cfc2e4..837f13e3e 100644 Binary files a/libsrc/ffdec_lib/testdata/as2/as2.fla and b/libsrc/ffdec_lib/testdata/as2/as2.fla differ diff --git a/libsrc/ffdec_lib/testdata/as2/as2.swf b/libsrc/ffdec_lib/testdata/as2/as2.swf index a4367ec0d..de97b4185 100644 Binary files a/libsrc/ffdec_lib/testdata/as2/as2.swf and b/libsrc/ffdec_lib/testdata/as2/as2.swf differ diff --git a/libsrc/ffdec_lib/testdata/as2/com/jpexs/flash/test/testcases/TestCallSetterGetter.as b/libsrc/ffdec_lib/testdata/as2/com/jpexs/flash/test/testcases/TestCallSetterGetter.as index 4133f2785..61bf0959e 100644 --- a/libsrc/ffdec_lib/testdata/as2/com/jpexs/flash/test/testcases/TestCallSetterGetter.as +++ b/libsrc/ffdec_lib/testdata/as2/com/jpexs/flash/test/testcases/TestCallSetterGetter.as @@ -1,4 +1,4 @@ -class com.jpexs.flash.test.testcases.TestCallSetterGetter { +class com.jpexs.flash.test.testcases.TestCallSetterGetter { public var myobj : com.jpexs.flash.test.testcases.TestSetterGetter; public function testSetterCall(){ @@ -9,10 +9,10 @@ class com.jpexs.flash.test.testcases.TestCallSetterGetter { } public function testStatGetterCall() : Number { - return com.jpexs.flash.test.testcases.TestSetterGetter.mystatvar; + return com.jpexs.flash.test.testcases.TestSetterGetter.mystvar; } public function testStatSetterCall(val:Number) { - com.jpexs.flash.test.testcases.TestSetterGetter.mystatvar = 6; + com.jpexs.flash.test.testcases.TestSetterGetter.mystvar = 6; } } \ No newline at end of file diff --git a/libsrc/ffdec_lib/testdata/as2/com/jpexs/flash/test/testcases/TestSetterGetter.as b/libsrc/ffdec_lib/testdata/as2/com/jpexs/flash/test/testcases/TestSetterGetter.as index 5dc85b1a9..c9f90f94c 100644 --- a/libsrc/ffdec_lib/testdata/as2/com/jpexs/flash/test/testcases/TestSetterGetter.as +++ b/libsrc/ffdec_lib/testdata/as2/com/jpexs/flash/test/testcases/TestSetterGetter.as @@ -1,34 +1,39 @@ -class com.jpexs.flash.test.testcases.TestSetterGetter { +class com.jpexs.flash.test.testcases.TestSetterGetter { - private var priv_myvar:Number; + private var _myvar = 1; - private static var priv_mystatvar: Number; + private static var _mystvar = 2; - private var priv_myreadonly : Number = 1; + private var _myvarsetonly = 3; - private var priv_mywriteonly : Number = 2; + private var _myvargetonly = 4; + + + public static function get mystvar(){ + return _mystvar; + } + + public static function set mystvar(val){ + _mystvar = val; + } public function get myvar(){ - return this.priv_myvar; + return _myvar; } public function set myvar(val){ - this.priv_myvar = val; + _myvar = val; } - public static function get mystatvar(){ - return TestSetterGetter.priv_mystatvar; + public function get myvargetonly(){ + return this._myvargetonly; } - public static function set mystatvar(val:Number){ - TestSetterGetter.priv_mystatvar = val; + public function set myvarsetonly(val){ + this._myvarsetonly = val; } - public function get myreadonly(){ - return this.priv_myreadonly; - } - - public function set mywriteonly(val:Number) { - this.priv_mywriteonly = val; + public function classic(){ + trace("okay"); } } \ No newline at end of file