diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java index ddf31d88f..d37b4a120 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/ActionScript3Test.java @@ -143,13 +143,13 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testArguments() { + public void testStandardArguments() { decompileMethod("standard", "testArguments", "return arguments[0];\r\n", false); } @Test - public void testCatchFinally() { + public void testStandardCatchFinally() { decompileMethod("standard", "testCatchFinally", "var a:* = 5;\r\n" + "try\r\n" + "{\r\n" @@ -168,7 +168,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testChain2() { + public void testStandardChain2() { decompileMethod("standard", "testChain2", "var g:Array = null;\r\n" + "var h:Boolean = false;\r\n" + "var extraLine:Boolean = false;\r\n" @@ -188,7 +188,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testChainedAssignments() { + public void testStandardChainedAssignments() { decompileMethod("standard", "testChainedAssignments", "var a:int = 0;\r\n" + "var b:int = 0;\r\n" + "var c:int = 0;\r\n" @@ -201,7 +201,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testComplexExpressions() { + public void testStandardComplexExpressions() { decompileMethod("standard", "testComplexExpressions", "var i:int = 0;\r\n" + "var j:int = 0;\r\n" + "j = i = i + (i = i + i++);\r\n", @@ -209,7 +209,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testContinueLevels() { + public void testStandardContinueLevels() { decompileMethod("standard", "testContinueLevels", "var b:* = undefined;\r\n" + "var c:* = undefined;\r\n" + "var d:* = undefined;\r\n" @@ -275,7 +275,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testDecl2() { + public void testStandardDecl2() { decompileMethod("standard", "testDecl2", "var k:int = 0;\r\n" + "var i:int = 5;\r\n" + "i = i + 7;\r\n" @@ -291,7 +291,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testDeclarations() { + public void testStandardDeclarations() { decompileMethod("standard", "testDeclarations", "var vall:* = undefined;\r\n" + "var vstr:String = null;\r\n" + "var vint:int = 0;\r\n" @@ -311,7 +311,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testDefaultNotLastGrouped() { + public void testStandardDefaultNotLastGrouped() { decompileMethod("standard", "testDefaultNotLastGrouped", "var k:* = 10;\r\n" + "switch(k)\r\n" + "{\r\n" @@ -329,7 +329,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testDoWhile() { + public void testStandardDoWhile() { decompileMethod("standard", "testDoWhile", "var a:* = 8;\r\n" + "do\r\n" + "{\r\n" @@ -341,7 +341,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testDoWhile2() { + public void testStandardDoWhile2() { decompileMethod("standard", "testDoWhile2", "var k:int = 5;\r\n" + "do\r\n" + "{\r\n" @@ -362,7 +362,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testDup() { + public void testStandardDup() { decompileMethod("standard", "testDup", "var a:Boolean = false;\r\n" + "var b:Boolean = false;\r\n" + "if(a = b)\r\n" @@ -373,7 +373,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testExpressions() { + public void testStandardExpressions() { decompileMethod("standard", "testExpressions", "var arr:Array = null;\r\n" + "var i:int = 5;\r\n" + "var j:int = 5;\r\n" @@ -394,7 +394,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testFinallyZeroJump() { + public void testStandardFinallyZeroJump() { decompileMethod("standard", "testFinallyZeroJump", "var str:String = param1;\r\n" + "try\r\n" + "{\r\n" @@ -416,7 +416,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testFor() { + public void testStandardFor() { decompileMethod("standard", "testFor", "for(var a:* = 0; a < 10; a++)\r\n" + "{\r\n" + "trace(\"a=\" + a);\r\n" @@ -425,7 +425,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testForAnd() { + public void testStandardForAnd() { decompileMethod("standard", "testForAnd", "var x:Boolean = false;\r\n" + "var len:int = 5;\r\n" + "var a:int = 4;\r\n" @@ -450,7 +450,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testForBreak() { + public void testStandardForBreak() { decompileMethod("standard", "testForBreak", "for(var a:* = 0; a < 10; a++)\r\n" + "{\r\n" + "if(a == 5)\r\n" @@ -463,7 +463,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testForContinue() { + public void testStandardForContinue() { decompileMethod("standard", "testForContinue", "for(var a:* = 0; a < 10; a = a + 1)\r\n" + "{\r\n" + "if(a == 9)\r\n" @@ -491,7 +491,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testForEach() { + public void testStandardForEach() { decompileMethod("standard", "testForEach", "var list:Array = null;\r\n" + "var item:* = undefined;\r\n" + "list = new Array();\r\n" @@ -506,7 +506,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testForEachObjectArray() { + public void testStandardForEachObjectArray() { decompileMethod("standard", "testForEachObjectArray", "var list:Array = null;\r\n" + "var test:Array = null;\r\n" + "list = new Array();\r\n" @@ -523,7 +523,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testForEachObjectAttribute() { + public void testStandardForEachObjectAttribute() { decompileMethod("standard", "testForEachObjectAttribute", "var list:Array = null;\r\n" + "list = new Array();\r\n" + "list[0] = \"first\";\r\n" @@ -537,7 +537,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testForGoto() { + public void testStandardForGoto() { decompileMethod("standard", "testForGoto", "var c:int = 0;\r\n" + "var len:int = 5;\r\n" + "for(var i:uint = 0; i < len; i++)\r\n" @@ -562,7 +562,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testForIn() { + public void testStandardForIn() { decompileMethod("standard", "testForIn", "var dic:Dictionary = null;\r\n" + "var item:* = null;\r\n" + "for(item in dic)\r\n" @@ -577,7 +577,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testForXml() { + public void testStandardForXml() { decompileMethod("standard", "testForXml", "var c:int = 0;\r\n" + "var name:String = \"ahoj\";\r\n" + "var myXML:XML = \r\n" @@ -610,7 +610,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testGotos() { + public void testStandardGotos() { decompileMethod("standard", "testGotos", "var a:Boolean = true;\r\n" + "var b:Boolean = false;\r\n" + "if(a)\r\n" @@ -642,7 +642,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testGotos2() { + public void testStandardGotos2() { decompileMethod("standard", "testGotos2", "var a:Boolean = true;\r\n" + "var b:Boolean = false;\r\n" + "var c:Boolean = true;\r\n" @@ -666,7 +666,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testGotos3() { + public void testStandardGotos3() { decompileMethod("standard", "testGotos3", "var i:int = 0;\r\n" + "var a:int = 5;\r\n" + "if(a > 5)\r\n" @@ -693,7 +693,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testGotos4() { + public void testStandardGotos4() { decompileMethod("standard", "testGotos4", "var a:int = 5;\r\n" + "if(a > 3)\r\n" + "{\r\n" @@ -714,7 +714,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testGotos5() { + public void testStandardGotos5() { decompileMethod("standard", "testGotos5", "var j:int = 0;\r\n" + "var s:String = \"A\";\r\n" + "for(var i:int = 0; i < 10; i++)\r\n" @@ -738,7 +738,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testGotos6() { + public void testStandardGotos6() { decompileMethod("standard", "testGotos6", "var a:Boolean = true;\r\n" + "var s:String = \"a\";\r\n" + "if(a)\r\n" @@ -763,7 +763,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testGotos7() { + public void testStandardGotos7() { decompileMethod("standard", "testGotos7", "for(var i:int = 0; i < 10; i++)\r\n" + "{\r\n" + "switch(i)\r\n" @@ -792,13 +792,13 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testHello() { + public void testStandardHello() { decompileMethod("standard", "testHello", "trace(\"hello\");\r\n", false); } @Test - public void testIf() { + public void testStandardIf() { decompileMethod("standard", "testIf", "var a:* = 5;\r\n" + "if(a == 7)\r\n" + "{\r\n" @@ -808,7 +808,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testIfElse() { + public void testStandardIfElse() { decompileMethod("standard", "testIfElse", "var a:* = 5;\r\n" + "if(a == 7)\r\n" + "{\r\n" @@ -822,7 +822,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testIfInIf() { + public void testStandardIfInIf() { decompileMethod("standard", "testIfInIf", "var k:int = 5;\r\n" + "if(k > 5 && k < 20)\r\n" + "{\r\n" @@ -846,7 +846,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testInc2() { + public void testStandardInc2() { decompileMethod("standard", "testInc2", "var a:* = [1];\r\n" + "a[this.getInt()]++;\r\n" + "var d:* = a[this.getInt()]++;\r\n" @@ -859,7 +859,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testIncDec() { + public void testStandardIncDec() { decompileMethod("standard", "testIncDec", "var a:* = 5;\r\n" + "var b:* = 0;\r\n" + "trace(\"++var\");\r\n" @@ -898,7 +898,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testInlineFunctions() { + public void testStandardInlineFunctions() { decompileMethod("standard", "testInlineFunctions", "var first:String = null;\r\n" + "first = \"value1\";\r\n" + "var traceParameter:Function = function(aParam:String):String\r\n" @@ -920,7 +920,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testInnerFunctions() { + public void testStandardInnerFunctions() { decompileMethod("standard", "testInnerFunctions", "var s:int = 0;\r\n" + "var innerFunc:Function = function(b:String):*\r\n" + "{\r\n" @@ -936,7 +936,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testInnerIf() { + public void testStandardInnerIf() { decompileMethod("standard", "testInnerIf", "var a:* = 5;\r\n" + "var b:* = 4;\r\n" + "if(a == 5)\r\n" @@ -963,7 +963,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testInnerTry() { + public void testStandardInnerTry() { decompileMethod("standard", "testInnerTry", "try\r\n" + "{\r\n" + "try\r\n" @@ -988,7 +988,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testLogicalComputing() { + public void testStandardLogicalComputing() { decompileMethod("standard", "testLogicalComputing", "var b:Boolean = false;\r\n" + "var i:* = 5;\r\n" + "var j:* = 7;\r\n" @@ -1002,14 +1002,14 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testManualConvert() { + public void testStandardManualConvert() { decompileMethod("standard", "testManualConvert", "trace(\"String(this).length\");\r\n" + "trace(String(this).length);\r\n", false); } @Test - public void testMissingDefault() { + public void testStandardMissingDefault() { decompileMethod("standard", "testMissingDefault", "var jj:int = 1;\r\n" + "switch(jj)\r\n" + "{\r\n" @@ -1026,7 +1026,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testMultipleCondition() { + public void testStandardMultipleCondition() { decompileMethod("standard", "testMultipleCondition", "var a:* = 5;\r\n" + "var b:* = 8;\r\n" + "var c:* = 9;\r\n" @@ -1042,7 +1042,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testNamedAnonFunctions() { + public void testStandardNamedAnonFunctions() { decompileMethod("standard", "testNamedAnonFunctions", "var test:* = new function testFunc(param1:*, param2:int, param3:Array):Boolean\r\n" + "{\r\n" + "return (param1 as TestClass2).attrib1 == 5;\r\n" @@ -1051,7 +1051,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testNames() { + public void testStandardNames() { decompileMethod("standard", "testNames", "var ns:* = this.getNamespace();\r\n" + "var name:* = this.getName();\r\n" + "var a:* = ns::unnamespacedFunc();\r\n" @@ -1062,19 +1062,19 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testParamNames() { + public void testStandardParamNames() { decompileMethod("standard", "testParamNames", "return firstp + secondp + thirdp;\r\n", false); } @Test - public void testParamsCount() { + public void testStandardParamsCount() { decompileMethod("standard", "testParamsCount", "return firstp;\r\n", false); } @Test - public void testPrecedence() { + public void testStandardPrecedence() { decompileMethod("standard", "testPrecedence", "var a:* = 0;\r\n" + "a = (5 + 6) * 7;\r\n" + "a = 5 * (2 + 3);\r\n" @@ -1091,7 +1091,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testPrecedenceX() { + public void testStandardPrecedenceX() { decompileMethod("standard", "testPrecedenceX", "var a:* = 5;\r\n" + "var b:* = 2;\r\n" + "var c:* = 3;\r\n" @@ -1101,7 +1101,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testProperty() { + public void testStandardProperty() { decompileMethod("standard", "testProperty", "var d:* = new TestClass1();\r\n" + "var k:* = 7 + 8;\r\n" + "if(k == 15)\r\n" @@ -1112,7 +1112,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testRegExp() { + public void testStandardRegExp() { decompileMethod("standard", "testRegExp", "var a1:* = /[a-z\\r\\n0-9\\\\]+/i;\r\n" + "var a2:* = /[a-z\\r\\n0-9\\\\]+/i;\r\n" + "var b1:* = /[0-9AB]+/;\r\n" @@ -1121,14 +1121,14 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testRest() { + public void testStandardRest() { decompileMethod("standard", "testRest", "trace(\"firstRest:\" + restval[0]);\r\n" + "return firstp;\r\n", false); } @Test - public void testStrictEquals() { + public void testStandardStrictEquals() { decompileMethod("standard", "testStrictEquals", "var k:int = 6;\r\n" + "if(this.f() !== this.f())\r\n" + "{\r\n" @@ -1138,7 +1138,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testStringConcat() { + public void testStandardStringConcat() { decompileMethod("standard", "testStringConcat", "var k:int = 8;\r\n" + "this.traceIt(\"hello\" + 5 * 6);\r\n" + "this.traceIt(\"hello\" + (k - 1));\r\n" @@ -1147,7 +1147,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testStrings() { + public void testStandardStrings() { decompileMethod("standard", "testStrings", "trace(\"hello\");\r\n" + "trace(\"quotes:\\\"hello!\\\"\");\r\n" + "trace(\"backslash: \\\\ \");\r\n" @@ -1157,7 +1157,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testSwitch() { + public void testStandardSwitch() { decompileMethod("standard", "testSwitch", "var a:* = 5;\r\n" + "switch(a)\r\n" + "{\r\n" @@ -1176,7 +1176,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testSwitchComma() { + public void testStandardSwitchComma() { decompileMethod("standard", "testSwitchComma", "var b:int = 5;\r\n" + "var a:String = \"A\";\r\n" + "switch(a)\r\n" @@ -1193,7 +1193,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testSwitchDefault() { + public void testStandardSwitchDefault() { decompileMethod("standard", "testSwitchDefault", "var a:* = 5;\r\n" + "switch(a)\r\n" + "{\r\n" @@ -1215,7 +1215,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testTernarOperator() { + public void testStandardTernarOperator() { decompileMethod("standard", "testTernarOperator", "var a:* = 5;\r\n" + "var b:* = 4;\r\n" + "var c:* = 4;\r\n" @@ -1226,7 +1226,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testTry() { + public void testStandardTry() { decompileMethod("standard", "testTry", "var i:int = 0;\r\n" + "i = 7;\r\n" + "try\r\n" @@ -1251,7 +1251,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testTryReturn() { + public void testStandardTryReturn() { decompileMethod("standard", "testTryReturn", "var i:int = 0;\r\n" + "var b:Boolean = false;\r\n" + "try\r\n" @@ -1279,7 +1279,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testTryReturn2() { + public void testStandardTryReturn2() { decompileMethod("standard", "testTryReturn2", "var c:Boolean = false;\r\n" + "trace(\"before\");\r\n" + "var a:Boolean = true;\r\n" @@ -1322,7 +1322,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testUsagesTry() { + public void testStandardUsagesTry() { decompileMethod("standard", "testUsagesTry", "var k:int = 5;\r\n" + "switch(k)\r\n" + "{\r\n" @@ -1356,7 +1356,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testVector() { + public void testStandardVector() { decompileMethod("standard", "testVector", "var v:Vector. = new Vector.();\r\n" + "v.push(\"hello\");\r\n" + "v[0] = \"hi\";\r\n" @@ -1366,14 +1366,14 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testVector2() { + public void testStandardVector2() { decompileMethod("standard", "testVector2", "var a:Vector.> = new Vector.>();\r\n" + "var b:Vector. = new [10,20,30];\r\n", false); } @Test - public void testWhileAnd() { + public void testStandardWhileAnd() { decompileMethod("standard", "testWhileAnd", "var a:int = 5;\r\n" + "var b:int = 10;\r\n" + "while(a < 10 && b > 1)\r\n" @@ -1387,7 +1387,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testWhileContinue() { + public void testStandardWhileContinue() { decompileMethod("standard", "testWhileContinue", "var a:* = 5;\r\n" + "while(true)\r\n" + "{\r\n" @@ -1409,7 +1409,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testWhileTry() { + public void testStandardWhileTry() { decompileMethod("standard", "testWhileTry", "while(true)\r\n" + "{\r\n" + "try\r\n" @@ -1432,7 +1432,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testWhileTry2() { + public void testStandardWhileTry2() { decompileMethod("standard", "testWhileTry2", "var j:* = undefined;\r\n" + "for(var i:* = 0; i < 100; i++)\r\n" + "{\r\n" @@ -1458,7 +1458,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testXml() { + public void testStandardXml() { decompileMethod("standard", "testXml", "var g:XML = null;\r\n" + "var name:String = \"ahoj\";\r\n" + "var myXML:XML = \r\n" @@ -1574,7 +1574,7 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testDupAssignment() { + public void testAssembledDupAssignment() { decompileMethod("assembled", "testDupAssignment", "var _loc1_:int = 0;\r\n" + "var _loc2_:int = 10;\r\n" + "if(_loc1_ = _loc2_)\r\n" @@ -1585,12 +1585,54 @@ public class ActionScript3Test extends ActionScriptTestBase { } @Test - public void testIncrement() { + public void testAssembledForEach() { + decompileMethod("assembled", "testForEach", "var _loc5_:* = undefined;\r\n" + + "var _loc2_:* = 0;\r\n" + + "var _loc3_:int = 0;\r\n" + + "for each(var _loc4_ in _loc5_)\r\n" + + "{\r\n" + + "if(_loc4_ != null)\r\n" + + "{\r\n" + + "_loc2_ = _loc4_;\r\n" + + "}\r\n" + + "}\r\n" + + "_loc3_ = 0;\r\n", + false); + } + + @Test + public void testAssembledForEachCoerced() { + decompileMethod("assembled", "testForEachCoerced", "for each(var _loc6_ in someprop)\r\n" + + "{\r\n" + + "_loc6_.methodname(_loc1_,_loc2_,_loc5_);\r\n" + + "}\r\n", + false); + } + + @Test + public void testAssembledIncrement() { decompileMethod("assembled", "testIncrement", "super();\r\n" + "b = a++;\r\n", false); } + @Test + public void testAssembledIncrement2() { + decompileMethod("assembled", "testIncrement2", "if(++loadCount == 2)\r\n" + + "{\r\n" + + "somemethod();\r\n" + + "}\r\n", + false); + } + + @Test + public void testAssembledSetSlotDup() { + decompileMethod("assembled", "testSetSlotDup", "var _loc5_:int = 5;\r\n" + + "myname.somemethod(\"okay\",myslot = _loc5_);\r\n" + + "myname.start();\r\n", + false); + } + @Test public void testOptionalParameters() { String methodName = "testOptionalParameters"; diff --git a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/generators/AS3Generator.java b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/generators/AS3Generator.java index 51144ef4a..5b27b419f 100644 --- a/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/generators/AS3Generator.java +++ b/libsrc/ffdec_lib/test/com/jpexs/decompiler/flash/generators/AS3Generator.java @@ -72,12 +72,14 @@ public class AS3Generator { String name = t.getName(abc).getName(abc.constants, null, true, true); String clsName = pack.getClassPath().className; String lower = clsName.substring(0, 1).toLowerCase() + clsName.substring(1); + String idUpper = identifier.substring(0, 1).toUpperCase() + identifier.substring(1); + String testMethodName = lower.replaceAll("^test", "test" + idUpper); if (lower.equals("testOptionalParameters")) { //SPECIAL: ignored continue; } if (name.equals("run")) { s.append("@Test\r\npublic void "); - s.append(lower); + s.append(testMethodName); s.append("(){\r\ndecompileMethod(\""); s.append(identifier); s.append("\",\"");