Updated tests

This commit is contained in:
Jindra Petřík
2021-01-24 18:52:54 +01:00
parent 5796832107
commit ada687db7a
7 changed files with 157 additions and 16 deletions

View File

@@ -597,14 +597,13 @@ public class ActionScript3Test extends ActionScriptTestBase {
@Test
public void testGotos() {
decompileMethod("testGotos", "var _loc2_:Boolean = true;\r\n"
+ "var _loc3_:Boolean = false;\r\n"
+ "var _loc4_:Boolean = false;\r\n"
+ "if(_loc2_)\r\n"
decompileMethod("testGotos", "var a:Boolean = true;\r\n"
+ "var b:Boolean = false;\r\n"
+ "if(a)\r\n"
+ "{\r\n"
+ "trace(\"A\");\r\n"
+ "}\r\n"
+ "else if(_loc3_)\r\n"
+ "else if(b)\r\n"
+ "{\r\n"
+ "trace(\"B\");\r\n"
+ "}\r\n"
@@ -612,7 +611,7 @@ public class ActionScript3Test extends ActionScriptTestBase {
+ "{\r\n"
+ "try\r\n"
+ "{\r\n"
+ "if(_loc2_)\r\n"
+ "if(a)\r\n"
+ "{\r\n"
+ "return 7;\r\n"
+ "}\r\n"
@@ -1164,7 +1163,8 @@ public class ActionScript3Test extends ActionScriptTestBase {
@Test
public void testSwitchComma() {
decompileMethod("testSwitchComma", "var a:String = \"A\";\r\n"
decompileMethod("testSwitchComma", "var b:int = 5;\r\n"
+ "var a:String = \"A\";\r\n"
+ "switch(a)\r\n"
+ "{\r\n"
+ "case \"A\":\r\n"
@@ -1366,6 +1366,122 @@ public class ActionScript3Test extends ActionScriptTestBase {
false);
}
@Test
public void testXml() {
decompileMethod("testXml", "var g:XML = null;\r\n"
+ "var name:String = \"ahoj\";\r\n"
+ "var myXML:XML = <order id=\"604\">\r\n"
+ "<book isbn=\"12345\">\r\n"
+ "<title>{name}</title>\r\n"
+ "</book>\r\n"
+ "</order>;\r\n"
+ "var k:* = myXML.@id;\r\n"
+ "var all:String = myXML.@*.toXMLString();\r\n"
+ "k = myXML.book;\r\n"
+ "k = myXML.book.(@isbn = \"12345\");\r\n"
+ "g = <script>\r\n"
+ "<![CDATA[\r\n"
+ "function() {\r\n"
+ "\r\n"
+ "FBAS = {\r\n"
+ "\r\n"
+ "setSWFObjectID: function( swfObjectID ) {\r\n"
+ "FBAS.swfObjectID = swfObjectID;\r\n"
+ "},\r\n"
+ "\r\n"
+ "init: function( opts ) {\r\n"
+ "FB.init( FB.JSON.parse( opts ) );\r\n"
+ "\r\n"
+ "FB.Event.subscribe( 'auth.sessionChange', function( response ) {\r\n"
+ "FBAS.updateSwfSession( response.session );\r\n"
+ "} );\r\n"
+ "},\r\n"
+ "\r\n"
+ "setCanvasAutoResize: function( autoSize, interval ) {\r\n"
+ "FB.Canvas.setAutoResize( autoSize, interval );\r\n"
+ "},\r\n"
+ "\r\n"
+ "setCanvasSize: function( width, height ) {\r\n"
+ "FB.Canvas.setSize( { width: width, height: height } );\r\n"
+ "},\r\n"
+ "\r\n"
+ "login: function( opts ) {\r\n"
+ "FB.login( FBAS.handleUserLogin, FB.JSON.parse( opts ) );\r\n"
+ "},\r\n"
+ "\r\n"
+ "addEventListener: function( event ) {\r\n"
+ "FB.Event.subscribe( event, function( response ) {\r\n"
+ "FBAS.getSwf().handleJsEvent( event, FB.JSON.stringify( response ) );\r\n"
+ "} );\r\n"
+ "},\r\n"
+ "\r\n"
+ "handleUserLogin: function( response ) {\r\n"
+ "if( response.session == null ) {\r\n"
+ "FBAS.updateSwfSession( null );\r\n"
+ "return;\r\n"
+ "}\r\n"
+ "\r\n"
+ "if( response.perms != null ) {\r\n"
+ "// user is logged in and granted some permissions.\r\n"
+ "// perms is a comma separated list of granted permissions\r\n"
+ "FBAS.updateSwfSession( response.session, response.perms );\r\n"
+ "} else {\r\n"
+ "FBAS.updateSwfSession( response.session );\r\n"
+ "}\r\n"
+ "},\r\n"
+ "\r\n"
+ "logout: function() {\r\n"
+ "FB.logout( FBAS.handleUserLogout );\r\n"
+ "},\r\n"
+ "\r\n"
+ "handleUserLogout: function( response ) {\r\n"
+ "swf = FBAS.getSwf();\r\n"
+ "swf.logout();\r\n"
+ "},\r\n"
+ "\r\n"
+ "ui: function( params ) {\r\n"
+ "obj = FB.JSON.parse( params );\r\n"
+ "method = obj.method;\r\n"
+ "cb = function( response ) { FBAS.getSwf().uiResponse( FB.JSON.stringify( response ), method ); }\r\n"
+ "FB.ui( obj, cb );\r\n"
+ "},\r\n"
+ "\r\n"
+ "getSession: function() {\r\n"
+ "session = FB.getSession();\r\n"
+ "return FB.JSON.stringify( session );\r\n"
+ "},\r\n"
+ "\r\n"
+ "getLoginStatus: function() {\r\n"
+ "FB.getLoginStatus( function( response ) {\r\n"
+ "if( response.session ) {\r\n"
+ "FBAS.updateSwfSession( response.session );\r\n"
+ "} else {\r\n"
+ "FBAS.updateSwfSession( null );\r\n"
+ "}\r\n"
+ "} );\r\n"
+ "},\r\n"
+ "\r\n"
+ "getSwf: function getSwf() {\r\n"
+ "return document.getElementById( FBAS.swfObjectID );\r\n"
+ "},\r\n"
+ "\r\n"
+ "updateSwfSession: function( session, extendedPermissions ) {\r\n"
+ "swf = FBAS.getSwf();\r\n"
+ "extendedPermissions = ( extendedPermissions == null ) ? '' : extendedPermissions;\r\n"
+ "\r\n"
+ "if( session == null ) {\r\n"
+ "swf.sessionChange( null );\r\n"
+ "} else {\r\n"
+ "swf.sessionChange( FB.JSON.stringify( session ), FB.JSON.stringify( extendedPermissions.split( ',' ) ) );\r\n"
+ "}\r\n"
+ "}\r\n"
+ "};\r\n"
+ "}\r\n"
+ "]]>\r\n"
+ "</script>;\r\n",
false);
}
@Test
public void testOptionalParameters() {
String methodName = "testOptionalParameters";