mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-08-02 15:51:16 +00:00
AS2 classes tests reorganised
This commit is contained in:
@@ -30,12 +30,17 @@ import static org.testng.Assert.assertNotNull;
|
||||
import static org.testng.Assert.fail;
|
||||
import org.testng.annotations.BeforeClass;
|
||||
import org.testng.annotations.Test;
|
||||
import static org.testng.Assert.assertEquals;
|
||||
import static org.testng.Assert.assertNotNull;
|
||||
import static org.testng.Assert.fail;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class ActionScript2TestClasses extends ActionScript2TestBase {
|
||||
public class ActionScript2ClassesTest extends ActionScript2TestBase {
|
||||
|
||||
private final String BASE_TEST_PACKAGE = "com.jpexs.flash.test.testcases";
|
||||
|
||||
@BeforeClass
|
||||
public void init() throws IOException, InterruptedException {
|
||||
@@ -47,8 +52,8 @@ public class ActionScript2TestClasses extends ActionScript2TestBase {
|
||||
swf = new SWF(new BufferedInputStream(new FileInputStream("testdata/as2/as2.swf")), false);
|
||||
}
|
||||
|
||||
private void compareSrc(String classFullName, String expectedResult) {
|
||||
DoInitActionTag dia = getClassSource(classFullName);
|
||||
private void compareSrc(String testClassName, String expectedClassContents) {
|
||||
DoInitActionTag dia = getClassSource(BASE_TEST_PACKAGE + "." + testClassName);
|
||||
assertNotNull(dia);
|
||||
HighlightedTextWriter writer = new HighlightedTextWriter(new CodeFormatting(), false);
|
||||
try {
|
||||
@@ -57,7 +62,10 @@ public class ActionScript2TestClasses extends ActionScript2TestBase {
|
||||
fail();
|
||||
}
|
||||
String actualResult = cleanPCode(writer.toString());
|
||||
expectedResult = cleanPCode(expectedResult);
|
||||
String expectedResult = cleanPCode("class " + BASE_TEST_PACKAGE + "." + testClassName + "\r\n"
|
||||
+ "{\r\n"
|
||||
+ expectedClassContents + "\r\n"
|
||||
+ "}");
|
||||
assertEquals(actualResult, expectedResult);
|
||||
}
|
||||
|
||||
@@ -79,9 +87,7 @@ public class ActionScript2TestClasses extends ActionScript2TestBase {
|
||||
|
||||
@Test
|
||||
public void testVarsMethods() {
|
||||
compareSrc("com.jpexs.TestVarsMethods", "class com.jpexs.TestVarsMethods\r\n"
|
||||
+ "{\r\n"
|
||||
+ "var instVar = 1;\r\n"
|
||||
compareSrc("TestVarsMethods", "var instVar = 1;\r\n"
|
||||
+ "static var statVar = 2;\r\n"
|
||||
+ "function TestVarsMethods()\r\n"
|
||||
+ "{\r\n"
|
||||
@@ -95,14 +101,12 @@ public class ActionScript2TestClasses extends ActionScript2TestBase {
|
||||
+ "{\r\n"
|
||||
+ "trace(\"static method\");\r\n"
|
||||
+ "}\r\n"
|
||||
+ "}");
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testMaintainOrder() {
|
||||
compareSrc("com.jpexs.TestMaintainOrder", "class com.jpexs.TestMaintainOrder\r\n"
|
||||
+ "{\r\n"
|
||||
+ "var a = 1;\r\n"
|
||||
compareSrc("TestMaintainOrder", "var a = 1;\r\n"
|
||||
+ "static var b = 2;\r\n"
|
||||
+ "var c = 3;\r\n"
|
||||
+ "static var d = 4;\r\n"
|
||||
@@ -140,7 +144,6 @@ public class ActionScript2TestClasses extends ActionScript2TestBase {
|
||||
+ "function _x2()\r\n"
|
||||
+ "{\r\n"
|
||||
+ "trace(\"after _x1\");\r\n"
|
||||
+ "}\r\n"
|
||||
+ "}");
|
||||
+ "}\r\n");
|
||||
}
|
||||
}
|
||||
@@ -91,7 +91,7 @@ public class ActionScript2Test extends ActionScript2TestBase {
|
||||
@Test
|
||||
public void frame24_unicodeTest() {
|
||||
compareSrc(24, "trace(\"unicodeTest\");\r\n"
|
||||
+ "var k = \"\u05d4\u05d9\u05e4\u05d5\u05e4\u05d5\u05d8\u05de\u05d9, \u05d0\u05d5 \u05d0\";\r\n"
|
||||
+ "var k = \"היפופוטמי, או א\";\r\n"
|
||||
+ "trace(k);\r\n"
|
||||
);
|
||||
}
|
||||
@@ -309,13 +309,7 @@ public class ActionScript2Test extends ActionScript2TestBase {
|
||||
+ "ship.moveUp(0.2);\r\n"
|
||||
+ "enemy.moveRight(230);\r\n"
|
||||
+ "enemy.moveLeft(100);\r\n"
|
||||
+ "var mt = new com.jpexs.MyTest();\r\n"
|
||||
+ "mt.test();\r\n"
|
||||
+ "var c = new Cox(box1);\r\n"
|
||||
+ "var tg = new com.jpexs.TestSetterGetter();\r\n"
|
||||
+ "var tcg = new com.jpexs.TestCallSetterGetter();\r\n"
|
||||
+ "var tvm = new com.jpexs.TestVarsMethods();\r\n"
|
||||
+ "var tmo = new com.jpexs.TestMaintainOrder();\r\n"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -672,7 +666,7 @@ public class ActionScript2Test extends ActionScript2TestBase {
|
||||
@Test
|
||||
public void frame55_pushTest() {
|
||||
compareSrc(55, "trace(\"pushTest\");\r\n"
|
||||
+ "53;"
|
||||
+ "53;\r\n"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -810,6 +804,28 @@ public class ActionScript2Test extends ActionScript2TestBase {
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void frame60_numbersTest() {
|
||||
compareSrc(60, "trace(\"numbersTest\");\r\n"
|
||||
+ "var x = null;\r\n"
|
||||
+ "trace(\"null:\" + x);\r\n"
|
||||
+ "x = true;\r\n"
|
||||
+ "trace(\"true:\" + x);\r\n"
|
||||
+ "x = false;\r\n"
|
||||
+ "trace(\"false:\" + x);\r\n"
|
||||
+ "x = 1;\r\n"
|
||||
+ "trace(\"1:\" + x);\r\n"
|
||||
+ "x = 2147483647;\r\n"
|
||||
+ "trace(\"0x7fffffff:\" + x);\r\n"
|
||||
+ "x = 2147483648;\r\n"
|
||||
+ "trace(\"0x80000000:\" + x);\r\n"
|
||||
+ "x = -2147483648;\r\n"
|
||||
+ "trace(\"-0x80000000:\" + x);\r\n"
|
||||
+ "x = -2147483649;\r\n"
|
||||
+ "trace(\"-0x80000001:\" + x);\r\n"
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void frame61_switchDefaultTest() {
|
||||
compareSrc(61, "trace(\"switchDefaultTest\");\r\n"
|
||||
@@ -850,6 +866,7 @@ public class ActionScript2Test extends ActionScript2TestBase {
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void frame63_functionVariablesTest() {
|
||||
compareSrc(63, "function outfunc()\r\n"
|
||||
+ "{\r\n"
|
||||
@@ -891,4 +908,12 @@ public class ActionScript2Test extends ActionScript2TestBase {
|
||||
+ "trace(\"functionInnerParametersTest\");\r\n"
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void frame65_loadClassesTest() {
|
||||
compareSrc(65, "trace(\"loadClassesTest\");\r\n"
|
||||
+ "var tst = new com.jpexs.flash.test.TestLoader();\r\n"
|
||||
+ "tst.includeTests();\r\n"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user