mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-05-27 13:54:49 +00:00
AS3 Operations test
This commit is contained in:
@@ -1471,6 +1471,67 @@ public class ActionScript3ClassicAirDecompileTest extends ActionScript3Decompile
|
||||
false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOperations() {
|
||||
decompileMethod("classic_air", "testOperations", "var cr:MyClass = null;\r\n"
|
||||
+ "var br:* = false;\r\n"
|
||||
+ "var r:Number = NaN;\r\n"
|
||||
+ "var xlr:XMLList = null;\r\n"
|
||||
+ "var c:MyClass = new MyClass();\r\n"
|
||||
+ "var d:Dictionary = new Dictionary();\r\n"
|
||||
+ "var n1:Number = 2;\r\n"
|
||||
+ "var n2:Number = 3;\r\n"
|
||||
+ "var b1:Boolean = true;\r\n"
|
||||
+ "var b2:Boolean = false;\r\n"
|
||||
+ "var x:XML = <a>\r\n"
|
||||
+ "<b>one\r\n"
|
||||
+ "<c>\r\n"
|
||||
+ "<b>two</b>\r\n"
|
||||
+ "</c>\r\n"
|
||||
+ "</b>\r\n"
|
||||
+ "<b>three</b>\r\n"
|
||||
+ "</a>;\r\n"
|
||||
+ "cr = c as MyClass;\r\n"
|
||||
+ "br = \"hello\" in d;\r\n"
|
||||
+ "r = b1 ? n1 : n2;\r\n"
|
||||
+ "r = n1 << n2;\r\n"
|
||||
+ "r = n1 >> n2;\r\n"
|
||||
+ "r = n1 >>> n2;\r\n"
|
||||
+ "r = n1 & n2;\r\n"
|
||||
+ "r = n1 | n2;\r\n"
|
||||
+ "r = n1 / n2;\r\n"
|
||||
+ "r = n1 % n2;\r\n"
|
||||
+ "br = n1 == n2;\r\n"
|
||||
+ "br = n1 === n2;\r\n"
|
||||
+ "br = n1 != n2;\r\n"
|
||||
+ "br = n1 !== n2;\r\n"
|
||||
+ "br = n1 < n2;\r\n"
|
||||
+ "br = n1 <= n2;\r\n"
|
||||
+ "br = n1 > n2;\r\n"
|
||||
+ "br = n1 >= n2;\r\n"
|
||||
+ "br = b1 && b2;\r\n"
|
||||
+ "br = b1 || b2;\r\n"
|
||||
+ "r = n1 - n2;\r\n"
|
||||
+ "r = n1 * n2;\r\n"
|
||||
+ "r = n1 + n2;\r\n"
|
||||
+ "r = n1 ^ n2;\r\n"
|
||||
+ "br = c instanceof MyClass;\r\n"
|
||||
+ "br = c is MyClass;\r\n"
|
||||
+ "xlr = x..b;\r\n"
|
||||
+ "r &= n1;\r\n"
|
||||
+ "r |= n1;\r\n"
|
||||
+ "r /= n1;\r\n"
|
||||
+ "r -= n1;\r\n"
|
||||
+ "r %= n1;\r\n"
|
||||
+ "r *= n1;\r\n"
|
||||
+ "r += n1;\r\n"
|
||||
+ "r <<= n1;\r\n"
|
||||
+ "r >>= n1;\r\n"
|
||||
+ "r >>>= n1;\r\n"
|
||||
+ "r ^= n1;\r\n",
|
||||
false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testParamNames() {
|
||||
decompileMethod("classic_air", "testParamNames", "return firstp + secondp + thirdp;\r\n",
|
||||
|
||||
@@ -1463,6 +1463,67 @@ public class ActionScript3ClassicDecompileTest extends ActionScript3DecompileTes
|
||||
false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testOperations() {
|
||||
decompileMethod("classic", "testOperations", "var cr:MyClass = null;\r\n"
|
||||
+ "var br:Boolean = false;\r\n"
|
||||
+ "var r:Number = NaN;\r\n"
|
||||
+ "var xlr:XMLList = null;\r\n"
|
||||
+ "var c:MyClass = new MyClass();\r\n"
|
||||
+ "var d:Dictionary = new Dictionary();\r\n"
|
||||
+ "var n1:Number = 2;\r\n"
|
||||
+ "var n2:Number = 3;\r\n"
|
||||
+ "var b1:Boolean = true;\r\n"
|
||||
+ "var b2:Boolean = false;\r\n"
|
||||
+ "var x:XML = <a>\r\n"
|
||||
+ "<b>one\r\n"
|
||||
+ "<c>\r\n"
|
||||
+ "<b>two</b>\r\n"
|
||||
+ "</c>\r\n"
|
||||
+ "</b>\r\n"
|
||||
+ "<b>three</b>\r\n"
|
||||
+ "</a>;\r\n"
|
||||
+ "cr = c as MyClass;\r\n"
|
||||
+ "br = \"hello\" in d;\r\n"
|
||||
+ "r = b1 ? n1 : n2;\r\n"
|
||||
+ "r = n1 << n2;\r\n"
|
||||
+ "r = n1 >> n2;\r\n"
|
||||
+ "r = n1 >>> n2;\r\n"
|
||||
+ "r = n1 & n2;\r\n"
|
||||
+ "r = n1 | n2;\r\n"
|
||||
+ "r = n1 / n2;\r\n"
|
||||
+ "r = n1 % n2;\r\n"
|
||||
+ "br = n1 == n2;\r\n"
|
||||
+ "br = n1 === n2;\r\n"
|
||||
+ "br = n1 != n2;\r\n"
|
||||
+ "br = n1 !== n2;\r\n"
|
||||
+ "br = n1 < n2;\r\n"
|
||||
+ "br = n1 <= n2;\r\n"
|
||||
+ "br = n1 > n2;\r\n"
|
||||
+ "br = n1 >= n2;\r\n"
|
||||
+ "br = b1 && b2;\r\n"
|
||||
+ "br = b1 || b2;\r\n"
|
||||
+ "r = n1 - n2;\r\n"
|
||||
+ "r = n1 * n2;\r\n"
|
||||
+ "r = n1 + n2;\r\n"
|
||||
+ "r = n1 ^ n2;\r\n"
|
||||
+ "br = c instanceof MyClass;\r\n"
|
||||
+ "br = c is MyClass;\r\n"
|
||||
+ "xlr = x..b;\r\n"
|
||||
+ "r &= n1;\r\n"
|
||||
+ "r |= n1;\r\n"
|
||||
+ "r /= n1;\r\n"
|
||||
+ "r -= n1;\r\n"
|
||||
+ "r %= n1;\r\n"
|
||||
+ "r *= n1;\r\n"
|
||||
+ "r += n1;\r\n"
|
||||
+ "r <<= n1;\r\n"
|
||||
+ "r >>= n1;\r\n"
|
||||
+ "r >>>= n1;\r\n"
|
||||
+ "r ^= n1;\r\n",
|
||||
false);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testParamNames() {
|
||||
decompileMethod("classic", "testParamNames", "return firstp + secondp + thirdp;\r\n",
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -90,6 +90,7 @@ package
|
||||
TestNames2;
|
||||
TestNegate;
|
||||
TestNumberCall;
|
||||
TestOperations;
|
||||
TestOptionalParameters;
|
||||
TestParamNames;
|
||||
TestParamsCount;
|
||||
|
||||
76
libsrc/ffdec_lib/testdata/as3_new/src/tests/TestOperations.as
vendored
Normal file
76
libsrc/ffdec_lib/testdata/as3_new/src/tests/TestOperations.as
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
package tests
|
||||
{
|
||||
import flash.utils.Dictionary;
|
||||
|
||||
public class TestOperations
|
||||
{
|
||||
public function run():*
|
||||
{
|
||||
var c:MyClass = new MyClass();
|
||||
var cr:MyClass;
|
||||
var d:Dictionary = new Dictionary();
|
||||
var n1:Number = 2;
|
||||
var n2:Number = 3;
|
||||
var b1:Boolean = true;
|
||||
var b2:Boolean = false;
|
||||
var br:Boolean;
|
||||
var r:Number;
|
||||
var x:XML = <a>
|
||||
<b>one
|
||||
<c>
|
||||
<b>two</b>
|
||||
</c>
|
||||
</b>
|
||||
<b>three</b>
|
||||
</a>;
|
||||
var xlr:XMLList;
|
||||
|
||||
cr = c as MyClass;
|
||||
br = "hello" in d;
|
||||
|
||||
r = b1 ? n1 : n2;
|
||||
r = n1 << n2;
|
||||
r = n1 >> n2;
|
||||
r = n1 >>> n2;
|
||||
r = n1 & n2;
|
||||
r = n1 | n2;
|
||||
r = n1 / n2;
|
||||
r = n1 % n2;
|
||||
br = n1 == n2;
|
||||
br = n1 === n2;
|
||||
br = n1 != n2;
|
||||
br = n1 !== n2;
|
||||
br = n1 < n2;
|
||||
br = n1 <= n2;
|
||||
br = n1 > n2;
|
||||
br = n1 >= n2;
|
||||
br = b1 && b2;
|
||||
br = b1 || b2;
|
||||
r = n1 - n2;
|
||||
r = n1 * n2;
|
||||
r = n1 + n2;
|
||||
r = n1 ^ n2;
|
||||
br = c instanceof MyClass;
|
||||
br = c is MyClass;
|
||||
xlr = x..b;
|
||||
|
||||
|
||||
r &= n1;
|
||||
r |= n1;
|
||||
r /= n1;
|
||||
r -= n1;
|
||||
r %= n1;
|
||||
r *= n1;
|
||||
r += n1;
|
||||
r <<= n1;
|
||||
r >>= n1;
|
||||
r >>>= n1;
|
||||
r ^= n1;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class MyClass {
|
||||
}
|
||||
Reference in New Issue
Block a user