From 55d77970e07c506e5c731b0c15906473014a94e1 Mon Sep 17 00:00:00 2001 From: Nathan Adams Date: Thu, 27 Jul 2023 00:57:58 +0200 Subject: [PATCH] tests: Port avmplus Exception tests over --- .../MultipleCatchBlocks2/MyErrors2.as | 18 +++++ .../Exceptions/MultipleCatchBlocks2/Test.as | 59 ++++++++++++++ .../MultipleCatchBlocks2/config.xml | 13 +++ .../MultipleCatchBlocks2/output.txt | 7 ++ .../Exceptions/MultipleCatchBlocks2/test.swf | Bin 0 -> 3093 bytes .../Exceptions/MultipleCatchBlocks2/test.toml | 2 + .../ArgumentErrors.as | 18 +++++ .../MultipleCatchBlocksArgument/Test.as | 52 ++++++++++++ .../MultipleCatchBlocksArgument/config.xml | 13 +++ .../MultipleCatchBlocksArgument/output.txt | 1 + .../MultipleCatchBlocksArgument/test.swf | Bin 0 -> 2921 bytes .../MultipleCatchBlocksArgument/test.toml | 2 + .../MultipleCatchBlocksEval/EvalErrors.as | 17 ++++ .../MultipleCatchBlocksEval/Test.as | 52 ++++++++++++ .../MultipleCatchBlocksEval/config.xml | 13 +++ .../MultipleCatchBlocksEval/output.txt | 1 + .../MultipleCatchBlocksEval/test.swf | Bin 0 -> 2921 bytes .../MultipleCatchBlocksEval/test.toml | 2 + .../MultipleCatchBlocksRange/RangeErrors.as | 18 +++++ .../MultipleCatchBlocksRange/Test.as | 52 ++++++++++++ .../MultipleCatchBlocksRange/config.xml | 13 +++ .../MultipleCatchBlocksRange/output.txt | 1 + .../MultipleCatchBlocksRange/test.swf | Bin 0 -> 2933 bytes .../MultipleCatchBlocksRange/test.toml | 2 + .../Test.as | 41 ++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 2687 bytes .../test.toml | 1 + .../ReferenceErrors.as | 19 +++++ .../MultipleCatchBlocksReference/Test.as | 52 ++++++++++++ .../MultipleCatchBlocksReference/config.xml | 13 +++ .../MultipleCatchBlocksReference/output.txt | 1 + .../MultipleCatchBlocksReference/test.swf | Bin 0 -> 2940 bytes .../MultipleCatchBlocksReference/test.toml | 1 + .../MultipleCatchBlocksType/TypeErrors.as | 18 +++++ .../MultipleCatchBlocksType/Test.as | 57 +++++++++++++ .../MultipleCatchBlocksType/config.xml | 13 +++ .../MultipleCatchBlocksType/output.txt | 1 + .../MultipleCatchBlocksType/test.swf | Bin 0 -> 2927 bytes .../MultipleCatchBlocksType/test.toml | 1 + .../MultipleCatchBlocksType1/Test.as | 43 ++++++++++ .../MultipleCatchBlocksType1/config.xml | 13 +++ .../MultipleCatchBlocksType1/output.txt | 1 + .../MultipleCatchBlocksType1/test.swf | Bin 0 -> 2724 bytes .../MultipleCatchBlocksType1/test.toml | 1 + .../MultipleCatchBlocksType2/Test.as | 43 ++++++++++ .../MultipleCatchBlocksType2/config.xml | 13 +++ .../MultipleCatchBlocksType2/output.txt | 1 + .../MultipleCatchBlocksType2/test.swf | Bin 0 -> 2723 bytes .../MultipleCatchBlocksType2/test.toml | 1 + .../MultipleCatchBlocksType3/Test.as | 43 ++++++++++ .../MultipleCatchBlocksType3/config.xml | 13 +++ .../MultipleCatchBlocksType3/output.txt | 1 + .../MultipleCatchBlocksType3/test.swf | Bin 0 -> 2722 bytes .../MultipleCatchBlocksType3/test.toml | 1 + .../MultipleCatchBlocksType4/Test.as | 43 ++++++++++ .../MultipleCatchBlocksType4/config.xml | 13 +++ .../MultipleCatchBlocksType4/output.txt | 1 + .../MultipleCatchBlocksType4/test.swf | Bin 0 -> 2721 bytes .../MultipleCatchBlocksType4/test.toml | 1 + .../MultipleCatchBlocksType5/Test.as | 43 ++++++++++ .../MultipleCatchBlocksType5/config.xml | 13 +++ .../MultipleCatchBlocksType5/output.txt | 1 + .../MultipleCatchBlocksType5/test.swf | Bin 0 -> 2723 bytes .../MultipleCatchBlocksType5/test.toml | 1 + .../MultipleCatchBlocksType6/Test.as | 43 ++++++++++ .../MultipleCatchBlocksType6/config.xml | 13 +++ .../MultipleCatchBlocksType6/output.txt | 1 + .../MultipleCatchBlocksType6/test.swf | Bin 0 -> 2723 bytes .../MultipleCatchBlocksType6/test.toml | 1 + .../MultipleCatchBlocksType7/Test.as | 43 ++++++++++ .../MultipleCatchBlocksType7/config.xml | 13 +++ .../MultipleCatchBlocksType7/output.txt | 1 + .../MultipleCatchBlocksType7/test.swf | Bin 0 -> 2718 bytes .../MultipleCatchBlocksType7/test.toml | 1 + .../MultipleCatchBlocksURI/URIErrors.as | 19 +++++ .../Exceptions/MultipleCatchBlocksURI/Test.as | 52 ++++++++++++ .../MultipleCatchBlocksURI/config.xml | 13 +++ .../MultipleCatchBlocksURI/output.txt | 1 + .../MultipleCatchBlocksURI/test.swf | Bin 0 -> 2958 bytes .../MultipleCatchBlocksURI/test.toml | 1 + .../MultipleCatchBlocksWithArg1/Test.as | 51 ++++++++++++ .../MultipleCatchBlocksWithArg1/config.xml | 13 +++ .../MultipleCatchBlocksWithArg1/output.txt | 1 + .../MultipleCatchBlocksWithArg1/test.swf | Bin 0 -> 2855 bytes .../MultipleCatchBlocksWithArg1/test.toml | 1 + .../Test.as | 49 ++++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 2846 bytes .../test.toml | 2 + .../MultipleCatchBlocksWithDef1/Test.as | 45 +++++++++++ .../MultipleCatchBlocksWithDef1/config.xml | 13 +++ .../MultipleCatchBlocksWithDef1/output.txt | 1 + .../MultipleCatchBlocksWithDef1/test.swf | Bin 0 -> 2750 bytes .../MultipleCatchBlocksWithDef1/test.toml | 1 + .../Test.as | 43 ++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 2740 bytes .../test.toml | 2 + .../MultipleCatchBlocksWithEval1/Test.as | 51 ++++++++++++ .../MultipleCatchBlocksWithEval1/config.xml | 13 +++ .../MultipleCatchBlocksWithEval1/output.txt | 1 + .../MultipleCatchBlocksWithEval1/test.swf | Bin 0 -> 2856 bytes .../MultipleCatchBlocksWithEval1/test.toml | 1 + .../Test.as | 49 ++++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 2847 bytes .../test.toml | 2 + .../Test.as | 41 ++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 2707 bytes .../test.toml | 2 + .../MultipleCatchBlocksWithRange1/Test.as | 51 ++++++++++++ .../MultipleCatchBlocksWithRange1/config.xml | 13 +++ .../MultipleCatchBlocksWithRange1/output.txt | 1 + .../MultipleCatchBlocksWithRange1/test.swf | Bin 0 -> 2874 bytes .../MultipleCatchBlocksWithRange1/test.toml | 2 + .../Test.as | 49 ++++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 2845 bytes .../test.toml | 2 + .../MultipleCatchBlocksWithRefError1/Test.as | 43 ++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../MultipleCatchBlocksWithRefError1/test.swf | Bin 0 -> 2710 bytes .../test.toml | 1 + .../MultipleCatchBlocksWithSyntax/Test.as | 51 ++++++++++++ .../MultipleCatchBlocksWithSyntax/config.xml | 13 +++ .../MultipleCatchBlocksWithSyntax/output.txt | 1 + .../MultipleCatchBlocksWithSyntax/test.swf | Bin 0 -> 2856 bytes .../MultipleCatchBlocksWithSyntax/test.toml | 2 + .../Test.as | 49 ++++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 2846 bytes .../test.toml | 2 + .../TypeErrors.as | 21 +++++ .../MultipleCatchBlocksWithTwoType/Test.as | 57 +++++++++++++ .../MultipleCatchBlocksWithTwoType/config.xml | 13 +++ .../MultipleCatchBlocksWithTwoType/output.txt | 2 + .../MultipleCatchBlocksWithTwoType/test.swf | Bin 0 -> 2965 bytes .../MultipleCatchBlocksWithTwoType/test.toml | 1 + .../MultipleCatchBlocksWithURI1/Test.as | 51 ++++++++++++ .../MultipleCatchBlocksWithURI1/config.xml | 13 +++ .../MultipleCatchBlocksWithURI1/output.txt | 1 + .../MultipleCatchBlocksWithURI1/test.swf | Bin 0 -> 2852 bytes .../MultipleCatchBlocksWithURI1/test.toml | 1 + .../Test.as | 49 ++++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 2844 bytes .../test.toml | 2 + .../Test.as | 47 +++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 2789 bytes .../test.toml | 2 + .../Test.as | 45 +++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 2780 bytes .../test.toml | 2 + .../MultipleCatchBlocksWithVerify1/Test.as | 57 +++++++++++++ .../MultipleCatchBlocksWithVerify1/config.xml | 13 +++ .../MultipleCatchBlocksWithVerify1/output.txt | 1 + .../MultipleCatchBlocksWithVerify1/test.swf | Bin 0 -> 3078 bytes .../MultipleCatchBlocksWithVerify1/test.toml | 2 + .../Test.as | 49 ++++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 2846 bytes .../test.toml | 2 + .../Test.as | 64 +++++++++++++++ .../config.xml | 13 +++ .../output.txt | 2 + .../test.swf | Bin 0 -> 3064 bytes .../test.toml | 1 + .../Test.as | 65 +++++++++++++++ .../config.xml | 13 +++ .../output.txt | 2 + .../test.swf | Bin 0 -> 3116 bytes .../test.toml | 1 + .../Test.as | 68 ++++++++++++++++ .../config.xml | 13 +++ .../output.txt | 2 + .../test.swf | Bin 0 -> 3122 bytes .../test.toml | 2 + .../Test.as | 67 ++++++++++++++++ .../config.xml | 13 +++ .../output.txt | 2 + .../test.swf | Bin 0 -> 3113 bytes .../test.toml | 1 + .../Test.as | 67 ++++++++++++++++ .../config.xml | 13 +++ .../output.txt | 2 + .../test.swf | Bin 0 -> 3113 bytes .../test.toml | 1 + .../Test.as | 67 ++++++++++++++++ .../config.xml | 13 +++ .../output.txt | 2 + .../test.swf | Bin 0 -> 3113 bytes .../test.toml | 1 + .../Test.as | 66 +++++++++++++++ .../config.xml | 13 +++ .../output.txt | 2 + .../test.swf | Bin 0 -> 3111 bytes .../test.toml | 1 + .../Test.as | 55 +++++++++++++ ...NestedTryWithMultipleCatchInsideFinally.as | 52 ++++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 3451 bytes .../test.toml | 1 + .../Test.as | 67 ++++++++++++++++ .../config.xml | 13 +++ .../output.txt | 2 + .../test.swf | Bin 0 -> 3115 bytes .../test.toml | 1 + .../Test.as | 65 +++++++++++++++ .../config.xml | 13 +++ .../output.txt | 2 + .../test.swf | Bin 0 -> 3081 bytes .../test.toml | 1 + .../Test.as | 66 +++++++++++++++ .../config.xml | 13 +++ .../output.txt | 2 + .../test.swf | Bin 0 -> 3114 bytes .../test.toml | 1 + .../Test.as | 62 +++++++++++++++ .../config.xml | 13 +++ .../output.txt | 2 + .../test.swf | Bin 0 -> 3066 bytes .../test.toml | 1 + .../Test.as | 66 +++++++++++++++ .../config.xml | 13 +++ .../output.txt | 2 + .../test.swf | Bin 0 -> 3115 bytes .../test.toml | 1 + .../Test.as | 60 ++++++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 3025 bytes .../test.toml | 1 + .../Test.as | 65 +++++++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 3032 bytes .../test.toml | 1 + .../Test.as | 61 ++++++++++++++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 2973 bytes .../test.toml | 1 + .../Exceptions/TryCatchBlockPackage/Test.as | 26 ++++++ .../TryAndCatchBlockWithUserDefinedErrors.as | 38 +++++++++ .../Box.as | 29 +++++++ .../BoxDimensionException.as | 13 +++ .../BoxOverflowException.as | 11 +++ .../BoxUnderzeroException.as | 12 +++ .../TryCatchBlockPackage/config.xml | 13 +++ .../TryCatchBlockPackage/output.txt | 1 + .../Exceptions/TryCatchBlockPackage/test.swf | Bin 0 -> 3301 bytes .../Exceptions/TryCatchBlockPackage/test.toml | 1 + .../Exceptions/TryCatchBlockPackage2/Test.as | 26 ++++++ .../TryAndCatchBlockWithUserDefinedErrors.as | 35 ++++++++ .../Box.as | 30 +++++++ .../BoxDimensionException.as | 13 +++ .../BoxOverflowException.as | 11 +++ .../BoxUnderzeroException.as | 12 +++ .../TryCatchBlockPackage2/config.xml | 13 +++ .../TryCatchBlockPackage2/output.txt | 1 + .../Exceptions/TryCatchBlockPackage2/test.swf | Bin 0 -> 3297 bytes .../TryCatchBlockPackage2/test.toml | 1 + .../Exceptions/TryCatchBlockPackage3/Test.as | 26 ++++++ .../TryAndCatchBlockWithUserDefinedErrors.as | 36 +++++++++ .../Box.as | 25 ++++++ .../BoxDimensionException.as | 13 +++ .../BoxOverflowException.as | 11 +++ .../BoxUnderzeroException.as | 12 +++ .../TryCatchBlockPackage3/config.xml | 13 +++ .../TryCatchBlockPackage3/output.txt | 1 + .../Exceptions/TryCatchBlockPackage3/test.swf | Bin 0 -> 3301 bytes .../TryCatchBlockPackage3/test.toml | 1 + .../Test.as | 26 ++++++ .../TryAndCatchBlockWithUserDefinedErrors.as | 75 ++++++++++++++++++ .../Box.as | 31 ++++++++ .../BoxDimensionException.as | 13 +++ .../BoxOverflowException.as | 11 +++ .../BoxUnderzeroException.as | 12 +++ .../config.xml | 13 +++ .../output.txt | 7 ++ .../test.swf | Bin 0 -> 3895 bytes .../test.toml | 1 + .../UserDefinedErrorsInPackage/Test.as | 26 ++++++ .../UserDefinedErrorsInPackage/Box.as | 30 +++++++ .../BoxDimensionException.as | 13 +++ .../BoxOverflowException.as | 11 +++ .../BoxUnderzeroException.as | 12 +++ ...atchBlockWithUserDefinedErrorsInPackage.as | 39 +++++++++ .../UserDefinedErrorsInPackage/config.xml | 13 +++ .../UserDefinedErrorsInPackage/output.txt | 1 + .../UserDefinedErrorsInPackage/test.swf | Bin 0 -> 3248 bytes .../UserDefinedErrorsInPackage/test.toml | 1 + .../UserDefinedErrorsPackage/Test.as | 25 ++++++ .../UserDefinedErrorsPackage/Box.as | 29 +++++++ .../BoxDimensionException.as | 13 +++ .../BoxOverflowException.as | 11 +++ .../BoxUnderzeroException.as | 12 +++ .../TryAndCatchBlockWithUserDefinedErrors.as | 37 +++++++++ .../UserDefinedErrorsPackage/config.xml | 13 +++ .../UserDefinedErrorsPackage/output.txt | 1 + .../UserDefinedErrorsPackage/test.swf | Bin 0 -> 3275 bytes .../UserDefinedErrorsPackage/test.toml | 1 + .../UserDefinedErrorsPackage2/Test.as | 26 ++++++ .../UserDefinedErrorsPackage2/Box.as | 30 +++++++ .../BoxDimensionException.as | 13 +++ .../BoxOverflowException.as | 11 +++ .../BoxUnderzeroException.as | 12 +++ .../TryAndCatchBlockWithUserDefinedErrors2.as | 35 ++++++++ .../UserDefinedErrorsPackage2/config.xml | 13 +++ .../UserDefinedErrorsPackage2/output.txt | 1 + .../UserDefinedErrorsPackage2/test.swf | Bin 0 -> 3273 bytes .../UserDefinedErrorsPackage2/test.toml | 1 + .../UserDefinedErrorsPackage3/Test.as | 26 ++++++ .../UserDefinedErrorsPackage3/Box.as | 25 ++++++ .../BoxDimensionException.as | 13 +++ .../BoxOverflowException.as | 11 +++ .../BoxUnderzeroException.as | 12 +++ .../TryAndCatchBlockWithUserDefinedErrors3.as | 36 +++++++++ .../UserDefinedErrorsPackage3/config.xml | 13 +++ .../UserDefinedErrorsPackage3/output.txt | 1 + .../UserDefinedErrorsPackage3/test.swf | Bin 0 -> 3276 bytes .../UserDefinedErrorsPackage3/test.toml | 1 + .../Test.as | 26 ++++++ ...thUserDefinedErrorsWithoutMatchingcatch.as | 37 +++++++++ .../Box.as | 30 +++++++ .../BoxDimensionException.as | 13 +++ .../BoxOverflowException.as | 11 +++ .../BoxUnderzeroException.as | 12 +++ .../config.xml | 13 +++ .../output.txt | 1 + .../test.swf | Bin 0 -> 3278 bytes .../test.toml | 1 + 349 files changed, 4988 insertions(+) create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/MultipleCatchBlocks2/MyErrors2.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksArgument/MultipleCatchBlocksArgument/ArgumentErrors.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksArgument/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksArgument/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksArgument/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksArgument/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksArgument/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/MultipleCatchBlocksEval/EvalErrors.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/MultipleCatchBlocksRange/RangeErrors.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRefErrorCaughtWithError/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRefErrorCaughtWithError/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRefErrorCaughtWithError/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRefErrorCaughtWithError/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRefErrorCaughtWithError/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/MultipleCatchBlocksReference/ReferenceErrors.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/MultipleCatchBlocksType/TypeErrors.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType5/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType5/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType5/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType5/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType5/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/MultipleCatchBlocksURI/URIErrors.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArg1/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArg1/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArg1/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArg1/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArg1/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDef1/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDef1/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDef1/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDef1/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDef1/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEval1/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEval1/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEval1/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEval1/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEval1/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntaxErrorCaughtByError/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntaxErrorCaughtByError/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntaxErrorCaughtByError/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntaxErrorCaughtByError/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntaxErrorCaughtByError/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/MultipleCatchBlocksWithTwoType/TypeErrors.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUninitialized1/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUninitialized1/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUninitialized1/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUninitialized1/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUninitialized1/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUnitializedCaughtWithError/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUnitializedCaughtWithError/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUnitializedCaughtWithError/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUnitializedCaughtWithError/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUnitializedCaughtWithError/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerify1/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerify1/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerify1/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerify1/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerify1/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerifyCaughtByError/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerifyCaughtByError/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerifyCaughtByError/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerifyCaughtByError/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerifyCaughtByError/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchRefType/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchRefType/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchRefType/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchRefType/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchRefType/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideEighthCatch/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideEighthCatch/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideEighthCatch/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideEighthCatch/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideEighthCatch/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideFifthCatch/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideFifthCatch/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideFifthCatch/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideFifthCatch/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideFifthCatch/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSixthCatch/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSixthCatch/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSixthCatch/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSixthCatch/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSixthCatch/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinally/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinally/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinally/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinally/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinally/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinallyExceptionBubbling/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinallyExceptionBubbling/TestPackage/NestedTryWithMultipleCatchInsideFinally.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinallyExceptionBubbling/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinallyExceptionBubbling/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinallyExceptionBubbling/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinallyExceptionBubbling/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatch/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatch/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatch/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatch/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatch/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/TryCatchBlockPackage/TryAndCatchBlockWithUserDefinedErrors.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/Box.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/TryCatchBlockPackage2/TryAndCatchBlockWithUserDefinedErrors.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/Box.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/TryCatchBlockPackage3/TryAndCatchBlockWithUserDefinedErrors.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/UserDefinedErrorsPackageTryBlockOutside/Box.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/TryCatchBlockUserWithBuiltInExceptions/TryAndCatchBlockWithUserDefinedErrors.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/Box.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/Box.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/BoxDimensionException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/BoxOverflowException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/BoxUnderzeroException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/TryAndCatchBlockWithUserDefinedErrorsInPackage.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/Box.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/BoxDimensionException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/BoxOverflowException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/BoxUnderzeroException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/TryAndCatchBlockWithUserDefinedErrors.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/Box.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/BoxDimensionException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/BoxOverflowException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/BoxUnderzeroException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/TryAndCatchBlockWithUserDefinedErrors2.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/Box.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/BoxDimensionException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/BoxOverflowException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/BoxUnderzeroException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/TryAndCatchBlockWithUserDefinedErrors3.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/test.toml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/Test.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch/TryAndCatchBlockWithUserDefinedErrorsWithoutMatchingcatch.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/Box.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/BoxDimensionException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/BoxOverflowException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/BoxUnderzeroException.as create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/config.xml create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/output.txt create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/test.swf create mode 100644 tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/test.toml diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/MultipleCatchBlocks2/MyErrors2.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/MultipleCatchBlocks2/MyErrors2.as new file mode 100644 index 000000000..1cf370a8e --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/MultipleCatchBlocks2/MyErrors2.as @@ -0,0 +1,18 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package MultipleCatchBlocks2{ + public class MyErrors2{ + + var a:Number; + + public function MyArgumentError(a):String + { + var k:String = decodeURI("!@#$%^&*()<>?"); + eval(m); + var arr:Array=new Array(-10); + return 6; + } + + } +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/Test.as new file mode 100644 index 000000000..ae2caf469 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/Test.as @@ -0,0 +1,59 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + + +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import MultipleCatchBlocks2.*; +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +var z = new MyErrors2(); +thisError = "no error"; +thisError1 = "no error"; +thisError2 = "no error"; +thisError3 = "no error"; +thisError4 = "no error"; +thisError5 = "no error"; +thisError6 = "no error"; +thisError7 = "no error"; +try { + z.MyArgumentError(); + }catch(e:ReferenceError){ + thisError=(e.toString()).substr(0,26);//print(thisError); + }catch(e1:TypeError){ + thisError1=(e1.toString()).substr(0,26);//print(thisError1); + }catch(e2:ArgumentError){ + thisError2=(e2.toString()).substr(0,26);//print(thisError2); + }catch(e3:URIError){ + thisError3=(e3.toString()).substr(0,26);//print(thisError3); + }catch(e4:UninitializedError){ + thisError4=(e4.toString()).substr(0,26);//print(thisError4); + }catch(e5:EvalError){ + thisError5=(e5.toString()).substr(0,26);//print(thisError5); + }catch(e6:RangeError){ + thisError6=(e6.toString()).substr(0,26);//print(thisError6); + }catch(e7:Error){ + thisError7=(e7.toString()).substr(0,26);//print(thisError7); + }finally{ +Assert.expectEq( "Testing catch block with Reference Error", "no error" ,thisError); +Assert.expectEq( "Testing catch block with Type Error", "no error" ,thisError1); +Assert.expectEq( "Testing catch block with Argument Error", "ArgumentError: Error #1063",thisError2); +Assert.expectEq( "Testing catch block with URIError", "no error" ,thisError3); +Assert.expectEq( "Testing catch block with Eval Error", "no error" ,thisError5); +Assert.expectEq( "Testing catch block with Range Error", "no error" ,thisError6); +Assert.expectEq( "Testing catch block with Error", "no error" ,thisError7); + } + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/output.txt new file mode 100644 index 000000000..5c4885c9c --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/output.txt @@ -0,0 +1,7 @@ +Testing catch block with Reference Error PASSED! +Testing catch block with Type Error PASSED! +Testing catch block with Argument Error PASSED! +Testing catch block with URIError PASSED! +Testing catch block with Eval Error PASSED! +Testing catch block with Range Error PASSED! +Testing catch block with Error PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocks2/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..5fbcc60f9a07ac318a1ea088f4f6f855c2dbd003 GIT binary patch literal 3093 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 + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksArgument/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksArgument/output.txt new file mode 100644 index 000000000..2a92d23fd --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksArgument/output.txt @@ -0,0 +1 @@ +Testing catch block with Argument Error PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksArgument/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksArgument/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..19077f410fb3fd92681730833e2dbed1e771c856 GIT binary patch literal 2921 zcmV-v3zqalS5qcC6952s+J#tMP#f13zGwgLUI_^a#E-$4#a4{L3lb3j5r-Ioguw0@W&JmiVablQhJ^dYbPdFXUH?X)u>#`bI5m!^H{ z^tm(i?ydld={OqDJ@-4`Irr{8-#x6ojfB4=lYinzGYizh=Y(z$G+_({mjz&gDhZtkXd|b4&?V+N1p?|_j zFip+0kuO{MQcPjiQ0y;EMi!5qMdy?5%oMfu3Sm!c{4|iqji=`S!+u(*n*`>F>|ui3DFKq8&tDO z-x+j7vqN;PxKYtI=maf(u)6HHk0Iv?G>cA*UQ^~Ox-uFa9doy9gEu3mDp5mNaVOAp z;9LGCn&J)*58w6htojoB6#^gqag1pIp}z!HzW6b-e(zbKriFeR`gZ^!+mki40v$mC zG|VR4?O*=ttN*-wGVwVeX`xa`Q3JhUh0Rhv!{>{ZU?=oB zg&WS~&9bgNCiA7uJe|_>wxP}WRS$ZC0AT($DL89J5H0i}DB%gga;S#ifcDKR;FH$L5}xMQE<=A)T$ zMRv{jquSEW?!9Gp!qyTs*$GH9cNb%mcbnfUIj5p*=%tjVuX*oHPTiTDiQk=FUTOQ- z(PCN+kAzv|CX>jg$d%~FFF)2C>jrOAaEm(se#1boUZuP)6x&Y*2Ht{%TXdDmS%zNzVrPVfEr z(rn_P;||@YMn3!aRP=_Sr5xL*)ju4uj-JGCH0;=89Pdu97z{A~mFCmfE6ywNB*kvuV zC|To*qS!~L%;(L5Q;s1eUQ6gW#+7DOar;GW9#K{o;t%e{r&i+AigSlpj7h2D_Pk-u z9ItCKmj*#QCGJ|1kUU83*hw&qWy(Mkc4Kx>^Q zWU?X?MJD%U(k~N3COaUL0hwHu$&gGUG8vJ{m`r}iP#@_-r#=9u0G{J(11}&>5ZR3V za1L7kUE_gGaK4T|A`*^F#^K#pmhbptt4Vb!1S}Jtd5DKFm2qC1)dWcJd5DaHk{^(_ znIQo{z91lf3!vs!K!K2l5Y%gL4q>rP0@MTT5{G)BBgo60L4lkJik`Mm7t0ogZp1PF zS;p;!9=7F+aE@*L67;gSut87|Mk@3n84bgEL{JniAP*XaF!G|;;k6*&elaL?^asVx zOF`+(KoEBg2IcO{L2_0NdU}R}-g6?yV*%JJ8i!ECJ_ZSh0MG(H0k{xEp{G@WkN|ui zD+2NGd(j!Y9N_Uvd(pjF#Aci%K=Xf@hoYn>njDEHN2AHHX!7-F@=7!*N0V0{pdR;= z!zyGh7r3=+bJq|v`1R}R?BEOSdR69jo@aDEaRco<514@VqVJ-?7lYBu1z5jML5IXR z8hoi;Kalx>9+?Z=b13jC%8*0hPE*1t+?9BPt7q~KlYdpRzapC=yo&N`ha$d;@|8o8 zUPak*DEOG7-mUjObiDG3cfQ{HhT|nC-i3N^kK^?mdy_XCmku8W&N&qC;EO1m@4O77 zKode_fG`FhK4e((P4%AocJg{+g5P=GEi)1S^YC#0c2jI_;jLS-xkr<+*xVN|H65G# z4a5_%xxc~8?bzJs-0WOz?ibvhyRo@Haq|nYxo^3}d$GA6@oz81=6=R6uf%@G|G~Mh z0KDLejOkAh#l2`)y3KAYfFK?#PU0A?`ABf951=PU7>qd<%;5DlwI|oM-mdoM+8Hd1 zA}{WSw?&GSNqowQIr=$f_N2hYC# za?&17!11R5n8p;FIx!9qO%MEkr@TsP?=F=h8uRmZD~a) zdH4@{*sl;qwv}B=taFL?`P*=Qa2VYZKS02vq}@g}#M*HR2|P-(E`>ZiJNY$x zS+;c#Li@?g?$hUi7(xswhJrRitGnv znfRI*J!|jTT_{k8(Ha(P&}B=5E;k-EbmeEYTg&ZNv-!mwRDZJb zqPm~`uDb)Qeir`Z@KIc5b~_ z9n^Z)6;;)g^*(i2>svpsMz!yqpJP@>=bD+C5BOR zGrJkg@H&|!``%R9n6htehrsbdU@y8KM#)E6BP{GDOpf85b+}cBpQ*zub$C}DzFCKN z*Wp`r_}MyqyAJQE!ynh-=XmxS(Z=wsQT5v*3!`e{3HS8*K6Caqlvrsf@y8GNo?M8* Tq}6^waQ*}27Bl__Rmt#9mD#yv literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksArgument/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksArgument/test.toml new file mode 100644 index 000000000..e8fa1aa32 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksArgument/test.toml @@ -0,0 +1,2 @@ +num_ticks = 1 +known_failure = true # https://github.com/ruffle-rs/ruffle/issues/12346 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/MultipleCatchBlocksEval/EvalErrors.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/MultipleCatchBlocksEval/EvalErrors.as new file mode 100644 index 000000000..49d072bb2 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/MultipleCatchBlocksEval/EvalErrors.as @@ -0,0 +1,17 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package MultipleCatchBlocksEval +{ + public class EvalErrors + { + var a:Number; + + public function MyArgumentError(a):Number + { + throw new EvalError(); + + } + + } +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/Test.as new file mode 100644 index 000000000..dc8685c2f --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/Test.as @@ -0,0 +1,52 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import MultipleCatchBlocksEval.*; +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +var z = new EvalErrors(); +thisError = "no error"; + +try{ + z.MyArgumentError(6); + }catch(e:ReferenceError){ + thisError=e.toString(); + }catch(e1:TypeError){ + thisError=e1.toString(); + }catch(e2:ArgumentError){ + thisError=e2.toString(); + }catch(e3:URIError){ + thisError=e3.toString() + }catch(e4:UninitializedError){ + thisError=e4.toString(); + }catch(e5:EvalError){ + thisError=e5.toString(); + }catch(e6:RangeError){ + thisError=e6.toString(); + }catch(e7:DefinitionError){ + thisError="This is Definition Error"; + }catch(e8:SyntaxError){ + thisError="This is Syntax Error"; + }catch(e9:VerifyError){ + thisError="This is Verify Error"; + }catch(e10:Error){ + thisError=e7.toString(); + }finally{ + Assert.expectEq( "Testing catch block with Eval Error", "EvalError",thisError); + } + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/output.txt new file mode 100644 index 000000000..bda5adde2 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/output.txt @@ -0,0 +1 @@ +Testing catch block with Eval Error PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..5fcdb8e582782229ad4479f34cb18cdf590b5f3e GIT binary patch literal 2921 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/test.toml new file mode 100644 index 000000000..29f3cef79 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksEval/test.toml @@ -0,0 +1,2 @@ +num_ticks = 1 +known_failure = true diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/MultipleCatchBlocksRange/RangeErrors.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/MultipleCatchBlocksRange/RangeErrors.as new file mode 100644 index 000000000..3fe0672b7 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/MultipleCatchBlocksRange/RangeErrors.as @@ -0,0 +1,18 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package MultipleCatchBlocksRange +{ + public class RangeErrors + { + var a:Number; + + public function MyArgumentError(a):Number + { + var arr = new Array(-10); + return 6; + + } + + } +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/Test.as new file mode 100644 index 000000000..e4c246e2f --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/Test.as @@ -0,0 +1,52 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import MultipleCatchBlocksRange.*; +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +var z = new RangeErrors(); +thisError = "no error"; + +try{ + z.MyArgumentError(6); + }catch(e:ReferenceError){ + thisError=e.toString(); + }catch(e1:TypeError){ + thisError=e1.toString(); + }catch(e2:ArgumentError){ + thisError=e2.toString(); + }catch(e3:URIError){ + thisError=e3.toString() + }catch(e4:UninitializedError){ + thisError=e4.toString(); + }catch(e5:EvalError){ + thisError=e5.toString(); + }catch(e6:RangeError){ + thisError=(e6.toString()).substring(0,10); + }catch(e7:DefinitionError){ + thisError="This is Definition Error"; + }catch(e8:SyntaxError){ + thisError="This is Syntax Error"; + }catch(e9:VerifyError){ + thisError="This is Verify Error"; + }catch(e10:Error){ + thisError=e7.toString(); + }finally{ + Assert.expectEq( "Testing catch block with Range Error","RangeError",thisError); + } + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/output.txt new file mode 100644 index 000000000..790bb9c28 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/output.txt @@ -0,0 +1 @@ +Testing catch block with Range Error PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRange/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..f81db8d04fc2cf351fb55c51d3f862c78d27108f GIT binary patch literal 2933 zcmV-*3ySnZS5qc36952s+J#t4P+Qj-KL33k9SI2uiHCWZi>(-gFGzr%bIvatm? zJRI8zL|4)gQhfFBy;p#pq-kkA(=IzxXVDeuBAYC_$f`4)cGD~}lLd&ez3Hl(v{`o1 zW$C&13J{*DqY=9Q`Tpm}SrDnb}IM|4q%N_--)^yDdnaf6~MoYA88j-QlF%~G7oy=GCl4?$= z)v8v^s#dtj)`(H4WFKv+8+0VEsYc;?SsINPyg(o(Lh*or_hZ5 zpZs++%^e&ZJaqFc`x5&T{ExnyU>ZQ^FN4d!`wg?cbuUxHM1Kwa;77>v?FP2Tg3h1>H zH<~LNRZV?D<|-RSI;|C}U2`?fELJr-t(w_FTw{4Q7TIa3$No&{dPO&+h0Mn^YliVD* z+JNV4ns&%|Ql&ywH4GuI7Bz9jENVvRwU9O_-Hk0RC1zZ*^Bj#O{;BLYuv{|P+>GUlo zl8ME{{ItX9T%>ub({lDTntL%ef777^kCSrbcC9SV+RlJwoLoI|FP3svPi&~#NvG#t zVsSS4z;=i3QN5Ud^4jcmUCr3GS8YBVF%M7T(@*T!tsm{qRnv!k=W8iWIP(Z9Ldy*tPsk?EEEmr2<3`QZNscMWk`%# z#;~ofWyX@(dxqwV<)Yo7?Mb0S$CBO4Ujv<6c0i6^30p(7gaSD_?mE;1MUFhSHB2Xiv#X+k7< zy<$$vvTR+RJXbVI_U(_ziAF%%F)6nyveO|N?Fq;Nl7*1i_jorQ2eHw#|VF0_&U^t7R7Xw4y!Z3(o2*U*oBN!qW#xP7^xP;*{ zhASAZVz`E362sdVu48xyd#14GT?{vHOB{34n47^|0&_{?2GYWjTO9Fo{ zXkq9<9P{@wZa?&~EuVwaZ0qNtpZ(w(1{qw|eFF6~qjF?W!_6{8GJIcX8VD1r3suX!wGDg^|?6zU7G@LqKw!S?oAZ8P2t}}`2krJ;Z2mk*%a|jlrL?H z^g1Ps!tUhTTr+diX5u5Jl4|xou)VHh?_9I@ZQDzZz4Oi9KHKX)@}{q!++_H`f7+&a zhF?b6c>7ft`CAZTb;=lg_<&*Qca*!zd+DpmDSrD!kBiCpUk3+!w_4(_I5n=2kuTPp8B4fn~$e{1)ZV@O&{rS~#vF^n z;I($8uh72Mq4XCz80->7Uicn%qx<{85JLOUmGuxif>PLi^2*DX)|*z>aC zd8xp5R;cfH&sy&N=U;y@+;$$JAx8c9>)|%m7=~E9M_&&I0*-lz)-CjlHo~H4EP`KT zM#(Z1W|W!XOgrYb1rbWWzhD0{c^@Lsa>!qOuvg#D2n!E{jG&Z4tYFXG8e|tjBuOBj z??&Gr&I(ZqdnKSyFL4z1OFRYTaY>*cZY25(%D8%VEv#Hr!z@^bhS44W7I%^*?pfB-*0Pn3bXoa1oZCxRzFDa9{&qVZ_d;IV@e9lG z*mBgBZLnfw#f%t6t*xvynBlQQNmk+1*)wC6ZKqYu{@v(a7^U^R5f*lmCdcruCcM^! zpK8K4n(*!>e6tDfX~MUf@ZKi;NfX}JggOPq=3<_L#H( fM2_VXIsWuM-&Y7Rm;|jK3- + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRefErrorCaughtWithError/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRefErrorCaughtWithError/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRefErrorCaughtWithError/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRefErrorCaughtWithError/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRefErrorCaughtWithError/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..ae7c776fa9cb8fb3548c104d8b0652caaba32447 GIT binary patch literal 2687 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRefErrorCaughtWithError/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRefErrorCaughtWithError/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksRefErrorCaughtWithError/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/MultipleCatchBlocksReference/ReferenceErrors.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/MultipleCatchBlocksReference/ReferenceErrors.as new file mode 100644 index 000000000..1ac7466a6 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/MultipleCatchBlocksReference/ReferenceErrors.as @@ -0,0 +1,19 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package MultipleCatchBlocksReference +{ + public class ReferenceErrors + { + var a:Number; + + public function MyArgumentError(a):Number + { + m=m+1; + return 6; + + } + + + } +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/Test.as new file mode 100644 index 000000000..f22540b59 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/Test.as @@ -0,0 +1,52 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import MultipleCatchBlocksReference.*; +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +var z = new ReferenceErrors(); +thisError = "no error"; + +try{ + z.MyArgumentError(6); + }catch(e:ReferenceError){ + thisError=(e.toString()).substr(0,27); + }catch(e1:TypeError){ + thisError=e1.toString(); + }catch(e2:ArgumentError){ + thisError=e2.toString(); + }catch(e3:URIError){ + thisError=e3.toString() + }catch(e4:UninitializedError){ + thisError=e4.toString(); + }catch(e5:EvalError){ + thisError=e5.toString(); + }catch(e6:RangeError){ + thisError=e6.toString(); + }catch(e7:DefinitionError){ + thisError="This is Definition Error"; + }catch(e8:SyntaxError){ + thisError="This is Syntax Error"; + }catch(e9:VerifyError){ + thisError="This is Verify Error"; + }catch(e10:Error){ + thisError=e7.toString(); + }finally{ + Assert.expectEq( "Testing catch block with Reference Error", "ReferenceError: Error #1065",thisError); + } + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/output.txt new file mode 100644 index 000000000..471120537 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/output.txt @@ -0,0 +1 @@ +Testing catch block with Reference Error PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..dcb566fc2a31aaf9710db0da591421f46952ecf8 GIT binary patch literal 2940 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksReference/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/MultipleCatchBlocksType/TypeErrors.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/MultipleCatchBlocksType/TypeErrors.as new file mode 100644 index 000000000..3c529c807 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/MultipleCatchBlocksType/TypeErrors.as @@ -0,0 +1,18 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package MultipleCatchBlocksType +{ + public class TypeErrors + { + + + public function MyArgumentError(a):int + { + throw new TypeError(); + + + } + } + +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/Test.as new file mode 100644 index 000000000..e6378f81d --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/Test.as @@ -0,0 +1,57 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import MultipleCatchBlocksType.*; +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks and using a catch block with parameter of type TypeError to catch the type error"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +var z = new TypeErrors(); +thisError = "no error"; +thisError1 = "no error"; + +try{ + z.MyArgumentError("blah"); + + }catch(e:ReferenceError){ + thisError=e.toString(); + }catch(e1:TypeError){ + thisError=(e1.toString()).substr(0,22); + }catch(e2:ArgumentError){ + thisError=e2.toString(); + }catch(e3:URIError){ + thisError=e3.toString() + }catch(e4:UninitializedError){ + thisError=e4.toString(); + }catch(e5:EvalError){ + thisError=e5.toString(); + }catch(e6:RangeError){ + thisError=e6.toString(); + }catch(e7:DefinitionError){ + thisError="This is Definition Error"; + }catch(e8:SyntaxError){ + thisError="This is Syntax Error"; + }catch(e9:VerifyError){ + thisError="This is Verify Error"; + }catch(e10:Error){//print(e10.toString()); + thisError=e10.toString(); + }finally{ + Assert.expectEq( "Testing catch block with Type Error", "TypeError" ,thisError); + } + + + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/output.txt new file mode 100644 index 000000000..80785e3c4 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/output.txt @@ -0,0 +1 @@ +Testing catch block with Type Error PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..fc66dbc58105d0cefe2564a8128fb48e48cc5b95 GIT binary patch literal 2927 zcmV-#3y}0fS5qb=6952s+J#u#PaD}8Ki}Mrk1yB;a}Q)lydjVQ8`vZpHeuI*jY+~~ z4P7BKjfB4=)bcxox&Y1kyAeWPwEY7Rx?RoYCKIzU zdAq2U^hq|lGnhAw%48_CwY4?6H8EPQZiL2e-MSSDkB7#`M;K#7-zgdD_DD&;JUC@3 zn5BBATBsO>a!EGFYPwuA?hFn#v}Q9WN-MRhW~t0(LR6zgS~B#|*ytEjl+8@$%GIK3 zOsSQMR>-KPy3qEBo-b#fZmFAeB&Vr*{&wh;XwESThDN6%6*ZHma!jM!a^!TnMYb6x zH+yR5RKuVgn=z_dvn{)<8O=O%UZs}S3VNPakJni#=Zr12$`&lwO4-w;PKoBUOqHre z`TtHjrkPVTwX{)FH|P{CeY&<{iBBMF2dY7*#&61ZYnnVB9-pwyHNo4VbDn4*%(+u& z*7r~THk#p%j*cEXdFFkIeFfjsKToh2Kxpai>MwuFdVh4TQr$q`2L9$l$du%&YLSj1 z9~xx?F8=i&e)XR>&!>J22v3*G8dXcuicu|;HXN~9DPt}wY?cdIzECm*Q8QbIQbgBj)sU9bpV5rbepWbX3!QYk!i1~U8g<#- zn5yZt0Wa1x?U=Dsp+ZH~bs?t~w9bW^W)vzKol%WUep+Lpq?-(C=eY7042(2eOJrTAfqOoWqx;SGq zIukTUtF)9kM{_13i*q)mEy3dSoY=9Jn74#}vvYR!=!3|8d-dq1s+|?O9z+xKu}79T z@PJkext(*fH>zsd>U-4Y%@N~xCoR=87CWma);Vg`f=#B!3%fQ?*Kk(Us%|sM^xE9w z+QM`+0nbItFK#=a>84q?yiv26Wx;I*4y}4-?Kro?*gsz~XjNrdu}N*DN34sVq~=*b`_>NNZ}|VU+EJ zl=NC!H>zE$OfIv}EX@^41*NsT@Uof6OrxAJcPXdM{E)W_MqW0f z#^#Wd0BSiKC_p(n<~b98936KYM*~METGvXJVX9VmPO}a4U2+l=9KG&5jVzAd@Sbj^ z0o`=jn`jK*b2UW_M{kK%ho@s<$<8C^qPi$IbxXBknpVY}R#pwk9yrZ7vX59WSjiD{ zX0Z_#R3p!;Y2CTlIDdUq(r9VJ$h(?;GCapAZY}IKYr}DQ^s{)VHFjn@%GHEO@8YYQKz%VV~#rmJsoB%qMmM-2%OXH5y0t@MDr#%NDByFkLVMv z*5Pjjsm+4}qSXrR;PyB=pwkp}iB|hL1`Y#{LBJqlkT77(5iGbcxG}U~@M7>`@MCDj z(1xXU44qi$!lVb23mEz_T*O4iFo2;414Axjcn8BEh9L~sFpOXbVHm?Of#F>Y*D>6{ za1+CO7;a&h#PB|L-p0;57^bl6L(D}mH;uU&%*_%4q@5!%j>I|A$&tGpxyKO~Px_g` zA7MyfSjMn|VHLv~h6flv#_$lsBMgr*Ji+h@hII@{44-01VNfxoF=Q}gF;G$xNLe7V zK<)~pOCS>h=@-Z|f!q_Yw~D$Ttb{Xn+4xn=v4_u?+c*F?;8<`&q zZN4{nU=plb^95q_NML`Bi{ngf*5k_CZyd)p>kuSNcqVZWA|j9EWX~=xHgW?Z9zf0( zKrSyJw~r8v{NM-VYbC^iE}DjlZ4#hf2uK|2gLXeJbod3a(=SS1)E?+!N-se-v#J+* z5YHIB%-SGaU=e)<`q(4ZRp>_;4Z}s`Knlo+pivk=P85bq$c4t?vY+n=`i0JS{9@M? zztlbG$30j5j@}_ZxiIW^_FeP4`bCbH1VDy^dIiPu@`G)Emj0%G~g4^=93{?Y_!tyfPnq4|ZSqYJm2`kJ0e!;qbL0 zByUjAAa)B4zfo@-I{2YJ2j@#z6gW=_qF_gCl51vOwV2%7l!+FFe;b9p<}ixzHp;ga zMSL6O*A_*38)e6$;1h~+zghakk~&VM3(e9ymXw@I7n`LQEvfS@iwBQ<{T9hJ{5s6W zyKjQX=SGMnDr4}$BZj5kSC*9J)Q#9}e)mCM4h{LKc4tEx3Cyb{G4A}jwgQ4f0T&-l|L}w zAb1XV!Mh($wkf^&wq!u*%LiDn38Kgge}Vn*;bB_qS)k_7U_e)!|zj1Z=9Py`C~B1hq{$Wu@%MS+66TNIh6_-q6X`36nzqy;lKGNR>1 z${vN78y}z-CfV#WexE~3eat4A6S<{_-1;Na*XDqIg&;C}xyP|5Tet zA@t=P4E8cqu*;wim<|WiLGMztbo$TCZ#^?V_mJz$`xxBDv)`wI{csSmxNKp2S>HIQ z=kiM%Q2)j5>-s^i(EhKZBSs9cD$CgmwVSyRWx3F$TvEG|-Ab?8o$OKi)ShIo5>$JW z7nCdNg=C*{RqadmE5mAk@}i=s7n8Cws>;a$C9Do4FDc{dC8n%H#Jo`656dqyQeF98 z>@(2c)Pv|SDDK6caxXGwY%T}b3wlaZesJX=Rs3eD#QOr4H&+903;%-QWfQL}KLk@l zMof!AG+U!{tJG^Zn7RM} literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/Test.as new file mode 100644 index 000000000..c34fe25e0 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/Test.as @@ -0,0 +1,43 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the first catch block catching the type error"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new TypeError(); + } catch(e:TypeError){ + thisError="This is Type Error"; + }catch(e1:ReferenceError){ + thisError="This is Reference Error"; + }catch(e2:ArgumentError){ + thisError="This is Argument Error"; + }catch(e3:URIError){ + thisError="This is URI Error" + }catch(e4:EvalError){ + thisError="This is Eval Error"; + }catch(e5:RangeError){ + thisError="This is Range Error"; + }catch(e6:SecurityError){ + thisError="This is Security Error!!!"; + }catch(e7:Error){ + thisError = "This is an error"; + }finally{ + Assert.expectEq( "Testing try block with throw statement", "This is Type Error" ,thisError); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..72af78ef96cd6f14fa2e59e3900950da00a034a2 GIT binary patch literal 2724 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType1/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/Test.as new file mode 100644 index 000000000..e4d1ff579 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/Test.as @@ -0,0 +1,43 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the second catch block catching the type error"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new TypeError(); + } catch(e:ReferenceError){ + thisError="This is Reference error"; + }catch(e1:TypeError){ + thisError="This is Type Error"; + }catch(e2:ArgumentError){ + thisError="This is Argument Error"; + }catch(e3:URIError){ + thisError="This is URI Error" + }catch(e4:EvalError){ + thisError="This is Eval Error"; + }catch(e5:RangeError){ + thisError="This is Range Error"; + }catch(e6:SecurityError){ + thisError="This is Security Error!!!"; + }catch(e7:Error){ + thisError = "This is an error"; + }finally{ + Assert.expectEq( "Testing try block with throw statement", "This is Type Error" ,thisError); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..f66190b42bdb410ba0af3dfcae686158b5487d00 GIT binary patch literal 2723 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 d>+{k6Dg7ZE{1-fXg@{nuSg8O2 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType2/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/Test.as new file mode 100644 index 000000000..772f3e0a0 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/Test.as @@ -0,0 +1,43 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the third catch block catching the type error"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new TypeError(); + } catch(e:ReferenceError){ + thisError="This is Reference Error"; + }catch(e1:ArgumentError){ + thisError="This is Argument Error"; + }catch(e2:TypeError){ + thisError="This is Type Error"; + }catch(e3:URIError){ + thisError="This is URI Error" + }catch(e4:EvalError){ + thisError="This is Eval Error"; + }catch(e5:RangeError){ + thisError="This is Range Error"; + }catch(e6:SecurityError){ + thisError="This is Security Error!!!"; + }catch(e7:Error){ + thisError = "This is an error"; + }finally{ + Assert.expectEq( "Testing try block with throw statement", "This is Type Error" ,thisError); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..7163d138b7e1095f6ecd9ebf9c6249c71ed1bcdd GIT binary patch literal 2722 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType3/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/Test.as new file mode 100644 index 000000000..e0e180f74 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/Test.as @@ -0,0 +1,43 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the fourth catch block catching the type error"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new TypeError(); + } catch(e:ReferenceError){ + thisError="This is Reference Error"; + }catch(e1:ArgumentError){ + thisError="This is Argument Error"; + }catch(e2:URIError){ + thisError="This is URI Error"; + }catch(e3:TypeError){ + thisError="This is Type Error"; + }catch(e4:EvalError){ + thisError="This is Eval Error"; + }catch(e5:RangeError){ + thisError="This is Range Error"; + }catch(e6:SecurityError){ + thisError="This is Security Error!!!"; + }catch(e7:Error){ + thisError = "This is an error"; + }finally{ + Assert.expectEq( "Testing try block with throw statement", "This is Type Error" ,thisError); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType4/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..32b45d5b24579a5dd5325e2a626aec0141c11b38 GIT binary patch literal 2721 zcmV;S3SRX?S5qd15dZ*q+J#q5P#eh=?l*s})(=P^#GkPTTWbs+kbqr#rL|!NNPriE zSNyE)U9=iWEu{76XGbHzn@VjJRX*gHRJ?~&rHWi~*+Y`r$|C%Cb3EGnKk=e{8H7HJ7~zTCMAv6*89%QH_>p*{Fr4r>0q;TsE4o=q1&d zQ>#_2m{rYip~J~qp^|-epzhPjyr$L)_d;z$)5j(nwcT{N}4S6BDw94&voy=l=GkhKHVpmQ^K#HKZiGxGud5|Gjl5`z zO}Ld`{r+eFe)HAb4-j6cR5YrVrA1Tk zqq(T;u!r$4n@h)ay`sCSZ0AOj*6NxeEw61X#MZh$tyo)-_q0kz)plKvVv8Temg8%y zn_GQ9u(Xj?g403fxz9@W!)VkKOD=CejIVFSlgW)_Ag1rt%_Ctg5S6W)e1mK~c@(z{ zdd%HjCcBdHL_8T^U$iaylQd6tTF$;@=1j)cmu-{YBoowIv|~HDYLPy3aC!CkPHfFy zJ-)AMmr2)7Jh_^9V$uE`su%Om-}2tm)r>XvsGXZ5Mr$Ws`lXDW`bBn*x?Z%6X=`EE zetQjPRn=>@C0W>BUf+JW5KoF$Rou4l=)T!ry5r_;iHT4(*fG>SOST?ux%pPh2Gv!j z-hFB#flK^ih4s2(nd;Ie3vJNRX5X;o#Do=!ZO(>f!r?oiOueWX#WFDp#hSf=az&ul?gqwjfISv7$>Vsmg;vJaJWU0s(uhUI!GLv=B)Ra8T=Cr(pT z_6`JtbqXG=V9A5CTvD714cMSuFfyW?V5HUy?Fy;srTo~LKx-fKO@M7>`=)us7 z1wY0Cj0Z3bVHn2v3WgC30SpYehG7)L4GiyK7{f4*;Wmaz3?U3*4AU59FwA0j7sGoP z?qIl!9q(g^VDbUx?qTje=H@UrPY940M;1Ba;>i%p?IDJB3>z38VfYwB62l^fO$=KY zwlVBr_yoga3{NmT#qcS~34{vdia_=R;ulCrAVUHv2&5=r&llM940|-}DPd2U1Ozf5 zkcdFsBB@Ek5-CWej!6*{7bc6C3}Lc?$tWfTOrB$M1Cw_!8N*~8liQd~V)7LxZpR3E z>*9fH-Z&m{g1~0xzlC_X>*EE#PZ0ZjqU7@jSe&cS&l2f} z0mL(YkR>R?5Yyas7-nBzf^Y?4bQ4C91KonFh@c6$hMY(N8M)9DjQaSV>pr3PhEMbd zeNx{$J{-8|bM%k-$iOY1b8y_}8WK285&%t@`|SdU0N{n&Fw%VmyaI3|2!J^GlkhUz zFEANPC*hM-#Ac?K`+M#rOi`MI(@Ho!8BR}y)1h!W98TkKdipUMv9E%pK<;*lOU)82^ZvzRq0PoS*`yF~Z?nsttYNW2n_cN-cPv(Hv#Xu#`xYy;*$18Mkj3IQ`%woQJojF;c*n%+ zFqAu>*w1s^GFV&+A z7J69q1X1LLKf_7*?5x+1(Ai7nGe28N**$vWWrsjX9ldEZOs3IhUN@Q73LIsH#@W!S zNuRy^_M3^GTL_Ia)6c)1=waWg$637ew-Y{}J#3*36aA)#uqY~v;AIC#$(RF$4YF)t zyR~h5dJ#$|&Kkc+EJFy~E&JV-)5cjw*jN!Vf|BvGZQfiNTR}*aB!PT=68>Z&D}*VW zmViQ|#8Ega@f4JNNuVGfl|%{}pNpY!@0eMNj9}_7D_Z5EKsgN(tLTMkY>t`zh(k<2 zU{0nZxA76TyT%4!PS{HbB6E~~m{{i$Yy1japO`{-#SO&T%p;h|o0Hw0(~TWq<;4Ooh^~|H?%L_ihM5&Yjy5#bgh(5bn~+l!1<}uB(fF?UoE6o2 z&Wv;MoFKZH`Hq>hy^y;D+iqeW071Oy6I~nt-`#2xpFD<^?qiR0;J{?vdns1BqC z6 + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType5/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType5/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType5/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType5/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType5/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..b27648332876d024f56b7f86dacaeadcea14455a GIT binary patch literal 2723 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType5/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType5/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType5/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/Test.as new file mode 100644 index 000000000..30236d630 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/Test.as @@ -0,0 +1,43 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the sixth catch block catching the type error"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new TypeError(); + } catch(e:ReferenceError){ + thisError="This is Reference Error"; + }catch(e1:ArgumentError){ + thisError="This is Argument Error"; + }catch(e2:URIError){ + thisError="This is URI Error"; + }catch(e3:EvalError){ + thisError="This is Eval Error"; + }catch(e4:RangeError){ + thisError="This is Range Error"; + }catch(e5:TypeError){ + thisError="This is Type Error"; + }catch(e6:SecurityError){ + thisError="This is Security Error!!!"; + }catch(e7:Error){ + thisError = "This is an error"; + }finally{ + Assert.expectEq( "Testing try block with throw statement", "This is Type Error" ,thisError); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..fd19f2181c1fd71498963b1862ab9d42c46e04da GIT binary patch literal 2723 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType6/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/Test.as new file mode 100644 index 000000000..ba9fb4e3b --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/Test.as @@ -0,0 +1,43 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the seventh catch block catching the type error"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new TypeError(); + } catch(e:ReferenceError){ + thisError="This is Reference Error"; + }catch(e1:ArgumentError){ + thisError="This is Argument Error"; + }catch(e2:URIError){ + thisError="This is URI Error"; + }catch(e3:EvalError){ + thisError="This is Eval Error"; + }catch(e4:RangeError){ + thisError="This is Range Error"; + }catch(e5:SecurityError){ + thisError="This is security Error"; + }catch(e6:TypeError){ + thisError="This is Type Error"; + }catch(e7:Error){ + thisError = "This is an error"; + }finally{ + Assert.expectEq( "Testing try block with throw statement", "This is Type Error" ,thisError); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..7f5f3e44959aa8909bfd2230ae5472cc8a531716 GIT binary patch literal 2718 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksType7/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/MultipleCatchBlocksURI/URIErrors.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/MultipleCatchBlocksURI/URIErrors.as new file mode 100644 index 000000000..2d2ccea88 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/MultipleCatchBlocksURI/URIErrors.as @@ -0,0 +1,19 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package MultipleCatchBlocksURI +{ + public class URIErrors + { + var a:Number; + + public function MyArgumentError(a):Number + { + var k:String = decodeURI("!@#$%^&*()<>?"); + return 6; + + } + + } + +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/Test.as new file mode 100644 index 000000000..4f403dd32 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/Test.as @@ -0,0 +1,52 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import MultipleCatchBlocksURI.*; +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +var z = new URIErrors(); +thisError = "no error"; + +try{ + z.MyArgumentError(6); + }catch(e:ReferenceError){ + thisError=e.toString(); + }catch(e1:TypeError){ + thisError=e1.toString(); + }catch(e2:ArgumentError){ + thisError=e2.toString(); + }catch(e3:URIError){ + thisError=(e3.toString()).substr(0,21); + }catch(e4:UninitializedError){ + thisError=e4.toString(); + }catch(e5:EvalError){ + thisError=e5.toString(); + }catch(e6:RangeError){ + thisError=e6.toString(); + }catch(e7:DefinitionError){ + thisError="This is Definition Error"; + }catch(e8:SyntaxError){ + thisError="This is Syntax Error"; + }catch(e9:VerifyError){ + thisError="This is Verify Error"; + }catch(e10:Error){ + thisError=e7.toString(); + }finally{ + Assert.expectEq( "Testing catch block with URI Error", "URIError: Error #1052",thisError); + } + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/output.txt new file mode 100644 index 000000000..2707f6ada --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/output.txt @@ -0,0 +1 @@ +Testing catch block with URI Error PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksURI/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..b12246a138a1a3dcedbc70626707ed2291944769 GIT binary patch literal 2958 zcmV;93vu*AS5qcZ6952s+J#ulQ(M;=Ki_>F9SI2uiHCWZi>(-gFG%1waflH}Hnw<# zhhsZI(Uo+B6bnh#y#nkcO-t)cyX;JzMOJjt%yhiyBCF1{(^VFk$pXaK-geqW+bsJB zl%8|106{yB2Ho?W-}gJ;d3?X~=?J zYlWgQ#(MAc=S;Ia77A@_Yz%K)94=K>LnGI(Uk`;xL!+ZZj4@<9DVqA`P|-NsKW+t> zqDH!sFPr&NQRRI-RjQir^!L}JX3~d2%hgK33YkfVXo0TLqG^OihDTVSOnNL^s;uee zxLz(7@@bui3vCV=xl;PkhQ3aRvIX79-3T2K`4}^A7U=jySx@Jv8Y|FEb>e8aMYb87 zn>kwNczr=xHey(}MqBH$Ml|yHxN3Y)N0EoP3UIwJC6=?c}& z(vJ>0pz$FEy|`M{SLrw{ezd%3xep<02f9heN3W`Pss(j4JbKYyE(dRfPGq8vu;h-T zDephU8)#D4-`{`e6j}Ba_LaPkzPrdYfY6KIE&b+K%=*^3L=6-DC4hYhaZk3Quh9|Y zMZ>Hk-2TI#zWVp;r{iA$Qf8}bDO$miQmH`oqOxdK^2Jq0tXfR-xux||J|pIfro;of zt;7vy@n5Iqj z|MSKUd7wAXJejDhR=J)m$dfLu4eOawiVmA>1axw4 zUNC4Ko~;%N2aG3WDwTD^kg|HdATOKwf)O|o(gKzFiN(d}ltZ=KJ|#9W9gj}=RlDs| z?RYdZraEjh`nW!|wR%^Xou;`!4YqIPR(vip5pVvWWS_-qp_I}KE3Wy8$-5J`qVeg) zrPfa@-KDkQNRW+OXL9&#Y|K5eaBF!cI=d8ISeRRAJ9a!{s@14x$ADwPn2tTL+<|+vlFvRlF?zM4r!3p8H*SuY2Rrdpj;+{PIb5BiTFKjFdN8qT{b&wn zS+5v2lSGzp%`VSGq6_d;w(`p! z^;3*$$}lS(ON^qjzbTr{7xPwCwnhXF9E(-~KLOfDY=Z*5dWPRz7F131jj1Vq>(q_B znNwLBZC305By=QvdDL@UCP2xdvIIKfKBhx~jyev42=rpha?x6_UdTVCnL2uj9BM zFPU>zpH&;oqE+nVY@wu^irsN?k=f@jnXGciSza@w8Qsi@ddhIl){|olD+O9yHFK_p z9~Jk({kIm>#0$qk<@7PJRO{Qdv+8O<6m_*^j;X53k5rw>8*5f_hSX?1pye1-n>E$0 z9`$}mU7n5JpN~#1MWwA z{Z$XM+I1X1mS9{LhHS9#yr&qZKT7|=IZdYyV`sm{*Epg$*66j9UQl~)#;H@ zyRXyFZPx2@$soAg9tm6?N#+miX!e4ncx0b!wGL+sV86!^kgZl~1-Hl12JOry9kSJa zhC#p}VvsP%7!(W`g98grEHzQ z;-&}|Cb2Mug(wzc#0jKHAh!kL704Zd+!e^2Kw3nivSlw|Sj4b|VHv|c4DVyOkKqA^ zhZsJ<@F9j33<(S$VMt<_!=PhGVMt@hV4xVXWK|+=nLJiVMImPtaz`PZ3c0KhRUxKA z?kd<{#r}2d-@yJ&?0-VK6>?f3Hx=T>XqMFhvoOd5DuR$q6pbY62v=oy38BiU*LZnIT?4ZXX~|3!r8{AaB4) z2A}9=JkrRzV5V_DLc*`fYo%2cU{XV(lyiYkb;KQARK1bIDAL-V7 z&YmHk>$EJ0SOWI8CLk2z$Dja_09wE;fe?T&^!QZ>NFesHBoL>#6TZdM0Zx~)6W*Cd ztS2ZEH2;TrC`vlR$&qk!G@QH`PF@NpFNc$kaPrE1)MI~gScA-kHDTrIovVl$V&a-M zJ@`t$R&xkjFEa%(sKl?X z-b5L)D8id4PKzR*qy$m0HTJg9$ownfOzBO*{%ld?H&MQ_D9W2C8x{p0QnYxZ_krbg z9C>FNy>DAya^#(D^!8X@=b<-whh+S015QF;+OTMGc zYwsnm#m2?0mt77fs1}bvqLOLYTf2 ziT_@>8;``l7iMN7@gIb_`AGbi;(H5`_}Aj%Qsi6lJL|>*h>|TcNf0I3vlCuf)^f3B zc=jr&+-4USK#~u|rwEMSe4xF1_n{|87>orLg~5qdttZ!-Xw!OgZ47qEvM7BIJK?=O ze*mGq=UP6%wxE5y_1eqIf%a(Yb*;udwIk1~y62S!TWP7b*E!AId(U5dIoNU@p#erM zycld@g<*ijTYE9+^V#MBTI1-KErdlWvIt(886|FL%qTO%9(KfS@gtOcf3No2*nJ2= z(*b|w!ES9YCCxpMQj%5*unT+cc0W51q9_vid?)<=U|I@O*j)n(wKajl-kL~3Gu9*u z>eiafq$Xx2(15p}=Qt(t`<0e0DNvvS)8Rw(jFY*|_&p9e`2icm2MTi^3M(sIth~d% zQV?+~n}~fR#8$-HaAt5A-IS9EM5ObInnJ8Hr;#M03@cd3DYBDa;nT9EI}zGV((Pw2 zy%B^MQV#eylC5oPPq+8Bxnsa`6ayUxj!(90&$qQtxA&e~eq!O;XS}nrx;wWDEWIv? z3C6_)v$A`x##e<<(-G8PhulYyT8BKcEXe^Ti`qB!bJmL1IWu3g$bMg%7=4wm*`CPT zfMx5L@0c!Ij_ERYU+BrX8SEED5c+n)LBw?BVYyq$@7A&(&*h=^>#bL{-Rz^*ANKbd zF~Dl9U|)k)uH`7xa;Fy5I}=@6kKUE&)_V2sM2~h(?@652&g-WWz1pDOn@}}PR}+2O zu-=zAqlNV|iL=_Mel`)*F6luQtWCzE^mr$%K1(Y#?ekaxjMudw+6&6tu{GgYnrmx` zrz2U^eg@}ulcjIw%A&W`O2@r`+j4Ai$7AlOX+H-ZBQ2-oAZl)ASA!WYE0n@7PK~uG zer? + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArg1/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArg1/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArg1/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArg1/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArg1/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..1b1fd11421e43f012b3b4661d284251fa7718171 GIT binary patch literal 2855 zcmV+?3)u8SS5qd)5&!^r+J#t4P#eh^?tfmbmJmoF-o_r=T4V5l1nk-?)`pcq!uSDR z0bV~Atwz!a$=1s=BObfiI3e*Nha6HBZ>mz2DsstXtCC8#a!RUl${|%bfGFFQYc8AQ zl1eT)lI|G^4IC1I)ZO3r{eM6HzyA?zBjK+Iwf_R4K0x#SeuU7Au5SRL>v}dfotTfy z+ofXJn5Lr}!+F!JPKQEUTU+B>Q{xqVBQz0-L_*=o(B$M8Rg4)sWmDZAD;pPwXDkQv znvu~9RkKhj%WSNsD>d`R@NmOxHgoK>TGNY`%WNj36}6I9HjU84_yl#7%}nPidPy~B z)M~X@$f(R+XnV}aS2EAG)J<(HS5%Gs^-xR5Y|MgL)MlbpHIvumcv0Jyqb+kwY%7>H z+gj&LV?jA;F|JzH*19YUr;gcGYw2Ra$ZL9Yo|Q_@+){NqVWn2iwx((cnOR2HRI~Db zjhZrMQdG+uHFZOq(aN8$tyuIiWbHsTwVBCl^6gqto(xY;*~?|%_0XwEG!Pox88q+v z8-E?maYsi-kKH_tzC_=G@7bTGXbvDG|9bVuKcKxox>q&BM1Kf;;X{ZqIbAJj6Uc|g z>43ZStKa|h-)}#gc?k&LtW=7cT9#H!y-?n8#cSmZn^f4W6taAwYzoYi*NWJ9wqR6? z>JGVA*(_*t#X_|`Qz?zB*-Ba)H>pgD8iuBu(sKH#mNC0elG8Tn*0!sZT-9ru$L_|} zqM2Cv zwm&U9ExYV)?0IAAn66iJPnGW6OlU@}Xi5urmv2Vzc08$ATaY)3m9$!1_uP-p-H9&5 z?k=vZc7JXqM@9)w1gYgFjoBB|)81%eVeMXQX*HHeEGK%R`bLf232TCB*=ppAWcAVg zm?h|ByE{p?Ct~qfBDOSVD|!=JPSdq==9J8xh%PPIlCA{Js8h6SEwN~ke%3iTd+b5< zu04BfQ!Sn(Jr81u#rPwO4m{BGLT=}j^@gsdt-e=vZjPAEowVyGR_xY~SLdqf1zW5& zC-!W%=5SY4-LRG9=Gwy2+P#~xglI*j%}zXRlhv1w7;ENf5~?P>hq`y(&PO}l{EKB% z(^ZUc zaz)mxy`Knd?YH!9||EZb>tuV9qeJ&?!bSi_-3Ov@dLY*(|!I3%wv#U9>| z&8^1fW$T7h8$;7%yCRRP#_GJ82lJI zF?3-efN>ATeHaEX3}So+!w`lZ3=}zs;XHcBamf*1OyTi$bdj} zffxezn%G;z-c9V?!rpDtBal9UL;EKRAvPor{n#;VI)HL_}W6O~220=%@`4@d9$U1M+kLYV#2yp+Tk>{Su&F=#)6r z4_$s<2>1oD+b>G~Ko9kE7JBJIdZ7>Tl<%htlwp8o;{_O`-?V~o24QpwhL8(ghO>yE zQ8WoK>|H1O#9~Q{z2{_aSggCnE;-qA7V9}?H7G*-UF47ik9=n> zQQPR7Fdgr{4I*C~LS%$c1s^=3Sn56Hz7k7K#;@|buLoT;MgM+uba2ZXnVq}#eq>gS zOh;y4d~iK7`!l#P6Pf)T%zhY|{R>3t=YQblTx9kYHy?}4e$B-fBC`kFt;NXfKe^j? zBC|i_@7|02lK&0+8-eG57drOCNx#yY_a{4*{(L7*DM1u@;m@!iK0NFSAawXj*$B`T zDEZyDK6*2i!tUF8oiX(m^QOVPQD8SC)DH(18GZQbt1m}8FC#QUrBA;a?WBK|j8K2i zz8dxW?QRpTGxW<&LcJ8J2Oqu7N{Mw8+9}hHZPwCub|I8nI;{UZz6>E~YwFkUAJh-i z!t#9~Ehwb`y-k;H4c|gYlq7+?*bjd^ni0Yp9F#zVdWqBEu*7SiJTD0v$h#$xhKtWe z(TH!Dg(xksOOX++SZefZ3XSDQ=p_@gKGhGo#8iSBF+*;7g~Pg!&eqhEL`~(8>}Y}mXkokiv?Z~J^SJH z)q_iQwkm{NEois_krpI3Ah#$AVt}Sa{p-d#D@E&^Dd*uiL2RS)BwMpRQJVu>Z(v>k zK|C&A?HmB#(X3scK7^sXi^3f|eK?%o4+jy=t9H7U_0&NCG|{l zNV%*ICC@6O>e=KuMN!WsWo2BIsk2TI^TPA}u>3M3)s=6@Ghn=}2hm|r+>2+qml>8@ zk6AcUn(`gEbdbt@y}ZHux~*``1-usVT}I>?QCD_>`N)WAF^D=k=+&SdkL5~Y7pG3! zv_y}wOW=6Hw;w(TqEsRGG$`!FpK%lqIPjta?{?rN2j1hr%MQHPfma-Op98Nt@O}sW z+<_19JTG)pJomKT&ay0s>T#WW`TBs8gC}Bq=0uE*hul!!M`6;%p4--cBR-^^{{qFC F=(70(liUCR literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArg1/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArg1/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArg1/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/Test.as new file mode 100644 index 000000000..dd78e72e2 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/Test.as @@ -0,0 +1,49 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the catch block with parameter of type Error catching the Argument error when there is no catch block with parameter of type Argument Error"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new ArgumentError(); + } catch(e:ReferenceError){ + thisError="This is Reference Error"; + }catch(e2:URIError){ + thisError="This is URI Error"; + }catch(e3:EvalError){ + thisError="This is Eval Error"; + }catch(e4:RangeError){ + thisError="This is Range Error"; + }catch(e4:TypeError){ + thisError="This is Type Error"; + }catch(e5:SecurityError){ + thisError="This is security Error"; + }catch(e6:DefinitionError){ + thisError="This is Definition Error"; + }catch(e7:UninitializedError){ + thisError="This is Uninitialized Error"; + }catch(e8:SyntaxError){ + thisError="This is Syntax Error"; + }catch(e9:VerifyError){ + thisError="This is Verify Error"; + }catch(e10:Error){ + thisError = e10.toString(); + }finally{ + Assert.expectEq( "Testing try block with throw statement", "Error: ArgumentError" ,Error(thisError)+"" ); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithArgErrorCaughtByError/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..b1e234bedc825f9fdfc79e803fc16493c70f11d5 GIT binary patch literal 2846 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 + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDef1/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDef1/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDef1/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDef1/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDef1/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..af135bdbeaa919b9dc687f203b7ae89b9aac2fb9 GIT binary patch literal 2750 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 E#RtP>8UO$Q literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDef1/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDef1/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDef1/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/Test.as new file mode 100644 index 000000000..416b01600 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/Test.as @@ -0,0 +1,43 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the catch block with parameter of type Error catching the Definition error when there is no catch block with parameter of type Definition Error"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new DefinitionError(); + } catch(e:ReferenceError){ + thisError="This is Reference Error"; + }catch(e1:ArgumentError){ + thisError="This is Argument Error"; + }catch(e2:URIError){ + thisError="This is URI Error"; + }catch(e3:EvalError){ + thisError="This is Eval Error"; + }catch(e4:RangeError){ + thisError="This is Range Error"; + }catch(e4:TypeError){ + thisError="This is Type Error"; + }catch(e5:SecurityError){ + thisError="This is security Error"; + }catch(e7:Error){ + thisError = e7.toString(); + }finally{ + Assert.expectEq( "Testing try block with throw statement", "Error: DefinitionError" ,Error(thisError)+"" ); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithDefErrorCaughtWithError/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..0b2ff772370b4507aca637a631892f3c58de9aed GIT binary patch literal 2740 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 + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEval1/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEval1/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEval1/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEval1/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEval1/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..e0e8238c2911baba6b18158686de91d73f79a809 GIT binary patch literal 2856 zcmV+@3)l2RS5qd)5&!^r+J#t4P#eh^?tfmbmJmoF-o_r=T4V5l1nk-?)`pcq!uSDR z0bV~AtwvG{$=1s=BObfiI3e*Nha6HBZ>mz2DsstXtCFg0<&;$AltZd=08zFpr&Q&# zNiM16k|XJvk)5lG$rec%80^9%h8s(CAJl& zHrra~Ok+VgW-+c>*4DZ#3#ZPstJc!Rf}W>ZbDot-&e&2lHesb!&bFp%2~D$%MpdKo ze~p?l)1;`DH)`qzouTDV*H$e07_xSt8gypzntZ!flqbWJQ}%LA@OtP}BpL_{?hKmu z{f)nl=D4GyqsMNZMPFiX!T0QsQ!ED%`rt3CKmGyh{lUFTbp!oA@P!W{lgVjniB2FN z8fOFU)~|l|(|^DHZ002(e6vz1Qnf6t7+Rsc;fmMF8FNx$vr@?Ng|Z=-p1fAX#bkprBBUiN=_1N9G zTGVL+UaA#~O~p=?3RP9tg`8R_ifcxps0U8Dv_R>8bY&$r?~?8IycCZv-i^(7$##2Q zw*ArUwCu9GvFDAcW13dcJXN-HBSH0A(U2DIF5isa?RZkLwjgg5D`~a3?ztbGyAxfA z-CbN+?f%?Kj*JqV2r|n}7PBv=r@hg{!rHyq(rPS`SWfgrwT+s2C#(skWvh`dlGR7| zW0s)P+}%mCJrRq?60xN@ThW`KIjYfe=9J8xh%PPIlCA{Hs8h6SEwN~kezS9O_Sl2y zU3>P}rdm8ndLG0Qi}6Pm9e6;sLT=}j^@gUVt-e=vZjKnuowREwR_xY}SLdo}1zSv; z6MHsWbGWOjrrSz#b8TU1?cU8;LbRgNW+xuqH0w)8%xvaa5~>EfhnjcZ&PO}l{EKCS zYAVa#O==@OC-}JvD|Ur4)ua{X+Mwqfg~LuKmRO* zk<&$1)a9*$k(Z6UR@stugIx%7-|Z(87^wHerQqm`v^qSU2ut>DcQ2_+vZGtBmC{rbbH$2k zNcO;OX1kpVg276dm@|u)a8EVzyqebCON~6y$E6}IZy0$=ucdWE^EjSF-ex_r=5I3# zS+nZ;S^Cx*31%O*$AL)lM#Y$xWjht_74(vM59Bd9)^KPM({hI*+tsWw4#{gvv4{6# zbE~m=*}CD(MyFJ^EAqIiPdiHB0z+?rJ^O$Iud=D_W zh{-#c3}Z5a$rVh-F!?@1+gwBF)QbnM(QrKC1c8mrUki19HgsSLtdHZDzJ3^G<>B5Off(D zR-HU_@gqYn&UeRRp~c3W?3l%JEjI3CJ1mxOu?tT2U&v&I7JJLd9$Ku}Vi%q4Z!A`7 zvA3PUQuPme{<5&6J*MlyWqJKX+I=JPH%+6hVKQgOE zrX#a2KDZv4{TbYtiOl{MWh2n)KnTuf81Zyo}HYlRo`ww3Gc+GQ#{l z`)bthx4TWWZlYgy66U4IJowmcR!U|^VVyGT*k&zlXBR@LrNjEqLrfCVTq@pJTD0ppQ>-9ZlXYX*&Bt|Tv80c#fpY7FO?J1w{9lo-7V&TfS%)xr{U^xjayjb7`(X$_3 zUp=@~H&=y_s|5`=Aku>52ILk+K@708sDIr!XQgPJGvhowCx~rKo;25NPt@kX)*F}? zKoF0MS33v5cQk9)rw?H$?_zKV&mIov_rpQN@~WM!Wj%FJ&#B8PsQ+m9P5mI3?*7No z5fl1YE#&N~=r?mY#&WqwIji<0dzD_bH`%B3t9{9SMOOQh1Ih(;AUUW6)xqQ$<&t_P zIiy@xhmvQNQT1%{oT8}blCmv$|zl6i6J ztW8Vo7`p_H7kvBSgCI&3a!-T8Ui=xy@PGp^I`D1>UUJ|)4!rEZdmVVif%iG^ssrzL z;LjcS0MGM6H^XyJ>+NQi1yMb&aW7vVFmmujjL)2ivHp-7%KI2hy3FUc_1}mOS?9md Gn&};knxAO^ literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEval1/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEval1/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEval1/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/Test.as new file mode 100644 index 000000000..886bdbec3 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/Test.as @@ -0,0 +1,49 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the catch block with parameter of type Error catching the Eval error when no catch block with parameter of type EvalError is defined"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new EvalError(); + } catch(e:ReferenceError){ + thisError="This is Reference Error"; + }catch(e1:ArgumentError){ + thisError="This is Argument Error"; + }catch(e2:URIError){ + thisError="This is URI Error"; + }catch(e4:RangeError){ + thisError="This is Range Error"; + }catch(e4:TypeError){ + thisError="This is Type Error"; + }catch(e5:SecurityError){ + thisError="This is security Error"; + }catch(e6:DefinitionError){ + thisError="This is Definition Error"; + }catch(e7:UninitializedError){ + thisError="This is Uninitialized Error"; + }catch(e8:SyntaxError){ + thisError="This is Syntax Error"; + }catch(e9:VerifyError){ + thisError="This is Verify Error"; + }catch(e10:Error){ + thisError = e10.toString(); + }finally{ + Assert.expectEq( "Testing try block with throw statement", "Error: EvalError" ,Error(thisError)+"" ); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..7676fb9fd95a85863257ae041fd4b415a1df88bc GIT binary patch literal 2847 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 x;rU{{-4a} literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/test.toml new file mode 100644 index 000000000..29f3cef79 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithEvalErrorCaughtByError/test.toml @@ -0,0 +1,2 @@ +num_ticks = 1 +known_failure = true diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/Test.as new file mode 100644 index 000000000..c6c4c3976 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/Test.as @@ -0,0 +1,41 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the catch block with parameter of type Error catching the type Error as there is no catch block with parameter of type TypeError"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new TypeError(); + } catch(e:ReferenceError){ + thisError="This is Reference Error"; + }catch(e1:ArgumentError){ + thisError="This is Argument Error"; + }catch(e2:URIError){ + thisError="This is URI Error"; + }catch(e3:EvalError){ + thisError="This is Eval Error"; + }catch(e4:RangeError){ + thisError="This is Range Error"; + }catch(e5:SecurityError){ + thisError="This is security Error"; + }catch(e6:Error){ + thisError = e6.toString(); + }finally{ + Assert.expectEq( "Testing try block with throw statement", "Error: TypeError" ,Error(thisError)+"" ); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..7d5446989a4200e48c606e9f331a7a321f2a44b3 GIT binary patch literal 2707 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 N8b9Ej{{m-WcUqV&QjGur literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/test.toml new file mode 100644 index 000000000..29f3cef79 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithNoTypeErrorCatchBlock/test.toml @@ -0,0 +1,2 @@ +num_ticks = 1 +known_failure = true diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/Test.as new file mode 100644 index 000000000..0198c6ae0 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/Test.as @@ -0,0 +1,51 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the catch block with parameter of type RangeError catching the Range error "; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new RangeError(); + } catch(e:ReferenceError){ + thisError="This is Reference Error"; + }catch(e1:ArgumentError){ + thisError="This is Argument Error"; + }catch(e2:URIError){ + thisError="This is URI Error"; + }catch(e3:EvalError){ + thisError="This is Eval Error"; + }catch(e4:RangeError){ + thisError="This is Range Error"; + }catch(e4:TypeError){ + thisError="This is Type Error"; + }catch(e5:SecurityError){ + thisError="This is security Error"; + }catch(e6:DefinitionError){ + thisError="This is Definition Error"; + }catch(e7:UninitializedError){ + thisError="This is Uninitialized Error"; + }catch(e8:SyntaxError){ + thisError="This is Syntax Error"; + }catch(e9:VerifyError){ + thisError="This is Verify Error"; + }catch(e10:Error){ + thisError = e10.toString(); + }finally{ + Assert.expectEq( "Testing try block with throw statement", "Error: This is Range Error" ,Error(thisError)+"" ); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..b1dc0b6b141ad4c9dcda6e969fdade09b571c938 GIT binary patch literal 2874 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 YZYb|#FzGU%-_}1ZK4hK$05g8|6&=Kw1ONa4 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/test.toml new file mode 100644 index 000000000..29f3cef79 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRange1/test.toml @@ -0,0 +1,2 @@ +num_ticks = 1 +known_failure = true diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/Test.as new file mode 100644 index 000000000..63f122d5b --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/Test.as @@ -0,0 +1,49 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the catch block with parameter of type Error catching the Range error when there is no catch block with parameter of type Range Error defined "; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new RangeError(); + } catch(e:ReferenceError){ + thisError="This is Reference Error"; + }catch(e1:ArgumentError){ + thisError="This is Argument Error"; + }catch(e2:URIError){ + thisError="This is URI Error"; + }catch(e3:EvalError){ + thisError="This is Eval Error"; + }catch(e4:TypeError){ + thisError="This is Type Error"; + }catch(e5:SecurityError){ + thisError="This is security Error"; + }catch(e6:DefinitionError){ + thisError="This is Definition Error"; + }catch(e7:UninitializedError){ + thisError="This is Uninitialized Error"; + }catch(e8:SyntaxError){ + thisError="This is Syntax Error"; + }catch(e9:VerifyError){ + thisError="This is Verify Error"; + }catch(e10:Error){ + thisError = e10.toString(); + }finally{ + Assert.expectEq( "Testing try block with throw statement", "Error: RangeError" ,Error(thisError)+"" ); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..df6c2f473cce5e35feaf7860ee5ba6cf23aecedc GIT binary patch literal 2845 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/test.toml new file mode 100644 index 000000000..29f3cef79 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRangeErrorCaughtByError/test.toml @@ -0,0 +1,2 @@ +num_ticks = 1 +known_failure = true diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/Test.as new file mode 100644 index 000000000..4c09fc0c2 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/Test.as @@ -0,0 +1,43 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the catch block with parameter of type ReferenceError catching the reference error "; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new ReferenceError(); + } catch(e:ReferenceError){ + thisError="This is Reference Error"; + }catch(e1:ArgumentError){ + thisError="This is Argument Error"; + }catch(e2:URIError){ + thisError="This is URI Error"; + }catch(e3:EvalError){ + thisError="This is Eval Error"; + }catch(e4:RangeError){ + thisError="This is Range Error"; + }catch(e4:TypeError){ + thisError="This is Type Error"; + }catch(e5:SecurityError){ + thisError="This is security Error"; + }catch(e6:Error){ + thisError = e6.toString(); + }finally{//print(thisError); +Assert.expectEq( "Testing try block with throw statement", "This is Reference Error" ,thisError ); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..f72b9a42fd00f0d432a3970e64b1cf506ed6ea2c GIT binary patch literal 2710 zcmV;H3TgF2S5qc)5dZ*q+J#q3Ok3F*KL33k9~*-W#=JsulXyZP7i?f&FbRwUHjog= zn8)NXczkUiV<&zv_g?d8RgHv{MVFPDsZ^;F-E=dHE=KL5t<+T)mAU|5`svuZ<0h_JV!R`M&@E&*T5jZ+jm}e?h4I7YOwNn)ml1gud?jD;Ig zGh-BXtU{%%^0A(-RIPhML-nZH%z4nAs!_B_Nw;S7 zot~YPwi3^VDd}vsTGjd%D3UtW?X{=2T5X?v^pAZdLxT zQ^SnA6!r3URo|vFwEX49noXZW_6~H5&P;ryKByMeiO9sHvs@0|4PVMc9bw6xLG!-9 ziFeVQaCUa~%q_C)E9@otUjA{CX#k-Yy&FINA?y9Yy-rOF{XTHJ10l}j4826hkq?cr zfw1_?-~II8@4h#4fbjiFrAYO%vSt~D^0q5pEob0-Y-scG@$Q(wLsDr0JN&%#^5UQo~YK(=TYo>b^)$JEWWL?=W)Rs8Wy9jq62| z*5Q?EvDmOU*rC#nZkkd~FBIhst57rpmqOa0@;JJ-7MpjePJ3O6N0*jk^IfXbURRxX zG&`-joNnx^`qVMQs2H9dwsR{%&1%t77M54&+FK&4rN9P_!7h=mx zYwO+Lx3!VcLgOLkxyw@agXw8+G_kPpD7La5OC(kk!Kkra2*iV!{eX*CxXgk;sSPbhS{l3T0yD3#PMyaz&-~ z9xrC4XPsH7?Ef5gjw{%}8#-`ce*EyWqQxs04MmMm5q=MQ zU9qNB)j8fr1+&BjrjDwydO(|)Ry#D+DHHW^Slw8OJ$W3PTaV4F_SIoNCZ(!V>c(_) zx}~<<9+oYpPpUW<3m3{+y1$z1ag2GY*oUEdeyRf(@e5hP^-C$6tPoM+90jxN3PRA; zi-Yc7Z*RAZWE7n40oSK8>T&mb`B+B%-9!e#<@Si+@<{yU!fhaVJ#xEjw^9eVJuV;k zSzqat?Y4+Pz#w9fFvu7b3>XUpOCAhu7}_y(VDMq^W9Y=tg{1(-L5zDb^kW#n_zH$W z3_%PGxrX67hMO4P!!U$l7{eV5qZq;%A{fRoOkkMA@IHnQFnoyNBkcMZ!xSc;VBszn z?qOjD3$ug(i3(&+AP)uN5lKH=-W-NU7*;T>Vt9<@8sL3+#P~y+sm~NUubuB+@36uap6W

6J zvWVq!7CT!kLCkRIqoBIEnm0#)c|n!5o5 z?0ZTGt{{wV!60&>+i(>TGy>O<8)={-4;q8(ezEh0U+TK)mjfZc(*2$v2XFaZJwtxd zd)x2s8}@tpB|%UmKqGv=?ckCCd~gQ_JFb9F0$~sV5Vv?7Sz!AGCS&C|a=e7thLo7D`C$DIby;BmB6WaZexB5iQB^dyK`VRBX7M>op$PH!QHx3F%y-o`a*e!=u<_x$5c0Jl zM1~2o5JP7SOMRd%YxAjz_=n=*n*kS-%HPk?X-W1)2FY${br=| zHbTS9H2LjFC;JXP%;J6d?TFv+bQ@@mqu+EA7A3_Z_}J~ybl%ZeC(SyJThq3)3!zl} zwD$A(0)(NhVZXI_QaepctBX=v()0k^=B>q{MTBHUk;vD_kRxFGxV|ABREya&$S$5S`KPg^(P6Xy;`5%o9xq6y)W6X-O&4! z16oKQNM6xy=~t42+HHL>c~u+HuO_c)ntm;*YGb;}f_2JRl*-2u^;JfxX-51xnD1&K zbQ+S6;$H}_GF)4m0Us0KmS){LNhQBq{ZjM=>};$A+HAba@D#^u+Aa@}k<)Srb+BKF zHP-RiaTI=QYOGBw>A7@BI*Mlmh6h^kYzyAqg3}f}*n;O;@SYZY zy9MuU!SgM6UkhGn!TUu~l)4$7OV`@D#6qYRe<8ejbHd1h3kkk*A;B-72!nYagGm?v QkhFg|f66-l1;Au~Yd+>u>i_@% literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithRefError1/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/Test.as new file mode 100644 index 000000000..7d3e3d6c0 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/Test.as @@ -0,0 +1,51 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the catch block with parameter of type SyntaxError catching the Syntax error. Syntax Errors are parser errors and cannot be caught by the try and catch block. They are thrown during compilation time. This test is to test throw statement throwing error of type syntax error and whether the particular catch block handles it/ignores it or some other errors are caught by the catch block with parameter of type Syntax error "; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new SyntaxError(); + } catch(e:ReferenceError){ + thisError="This is Reference Error"; + }catch(e1:ArgumentError){ + thisError="This is Argument Error"; + }catch(e2:URIError){ + thisError="This is URI Error"; + }catch(e3:EvalError){ + thisError="This is Eval Error"; + }catch(e4:RangeError){ + thisError="This is Range Error"; + }catch(e4:TypeError){ + thisError="This is Type Error"; + }catch(e5:SecurityError){ + thisError="This is security Error"; + }catch(e6:DefinitionError){ + thisError="This is Definition Error"; + }catch(e7:UninitializedError){ + thisError="This is Uninitialized Error"; + }catch(e8:SyntaxError){ + thisError="This is Syntax Error"; + }catch(e9:VerifyError){ + thisError="This is Verify Error"; + }catch(e10:Error){ + thisError = e10.toString(); + }finally{ + Assert.expectEq( "Testing try block with throw statement", "This is Syntax Error" ,thisError ); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntax/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..5d3062d01b1b4d9fee1a04bb45274c070297a84a GIT binary patch literal 2856 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 + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntaxErrorCaughtByError/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntaxErrorCaughtByError/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntaxErrorCaughtByError/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntaxErrorCaughtByError/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntaxErrorCaughtByError/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..faff07e7da44a8b324da3a821911ad5e5786d64c GIT binary patch literal 2846 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntaxErrorCaughtByError/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntaxErrorCaughtByError/test.toml new file mode 100644 index 000000000..29f3cef79 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithSyntaxErrorCaughtByError/test.toml @@ -0,0 +1,2 @@ +num_ticks = 1 +known_failure = true diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/MultipleCatchBlocksWithTwoType/TypeErrors.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/MultipleCatchBlocksWithTwoType/TypeErrors.as new file mode 100644 index 000000000..0acd4449c --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/MultipleCatchBlocksWithTwoType/TypeErrors.as @@ -0,0 +1,21 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package MultipleCatchBlocksWithTwoType +{ + public class TypeErrors + { + var a:Number; + + public function MyArgumentError(a):String + { + var m:String; + m.k(); + return 6; + + } + + + } + +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/Test.as new file mode 100644 index 000000000..daa926ab7 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/Test.as @@ -0,0 +1,57 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import MultipleCatchBlocksWithTwoType.*; +import com.adobe.test.Assert; +import com.adobe.test.Utils; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks and using a catch block with parameter of type TypeError to catch the type error"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +var z = new TypeErrors(); +thisError = "no error"; +thisError1 = "no error"; +try{ + z.MyArgumentError(6); + }catch(e:ReferenceError){ + thisError=e.toString(); + }catch(e1:TypeError){ + thisError=e1.toString(); + }catch(e2:ArgumentError){ + thisError=e2.toString(); + }catch(e3:URIError){ + thisError=e3.toString() + }catch(e4:UninitializedError){ + thisError=e4.toString(); + }catch(e5:EvalError){ + thisError=e5.toString(); + }catch(e6:RangeError){ + thisError=e6.toString(); + }catch(e7:DefinitionError){ + thisError="This is Definition Error"; + }catch(e8:SyntaxError){ + thisError="This is Syntax Error"; + }catch(e9:VerifyError){ + thisError="This is Verify Error"; + }catch(e10:Error){//print(e10.toString()); + thisError1=e10.toString(); + }finally{//print(thisError1); + Assert.expectEq( "Testing catch block with Type Error", "TypeError: Error #1009" ,Utils.typeError(thisError)+"" ); + Assert.expectEq( "Testing catch block with Type Error", "no error" ,Utils.typeError(thisError1)+"" ); + } + + + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/output.txt new file mode 100644 index 000000000..63ac80981 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/output.txt @@ -0,0 +1,2 @@ +Testing catch block with Type Error PASSED! +Testing catch block with Type Error PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..cc06477d4fe12c23bc5dcd5d585a2493121a82aa GIT binary patch literal 2965 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 Lx4H0NnH>IQLVMwL literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithTwoType/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/Test.as new file mode 100644 index 000000000..da265c882 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/Test.as @@ -0,0 +1,51 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the catch block with parameter of type URIError catching the URI error "; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new URIError(); + } catch(e:ReferenceError){ + thisError="This is Reference Error"; + }catch(e1:ArgumentError){ + thisError="This is Argument Error"; + }catch(e2:URIError){ + thisError="This is URI Error"; + }catch(e3:EvalError){ + thisError="This is Eval Error"; + }catch(e4:RangeError){ + thisError="This is Range Error"; + }catch(e4:TypeError){ + thisError="This is Type Error"; + }catch(e5:SecurityError){ + thisError="This is security Error"; + }catch(e6:DefinitionError){ + thisError="This is Definition Error"; + }catch(e7:UninitializedError){ + thisError="This is Uninitialized Error"; + }catch(e8:SyntaxError){ + thisError="This is Syntax Error"; + }catch(e9:VerifyError){ + thisError="This is Verify Error"; + }catch(e10:Error){ + thisError = e10.toString(); + }finally{ + Assert.expectEq( "Testing try block with throw statement", "This is URI Error" ,thisError ); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..f1ce94e424788b4aacb5f304378702ad2fe0a24e GIT binary patch literal 2852 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 CJ%WA! literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURI1/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/Test.as new file mode 100644 index 000000000..f12cfe2cb --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/Test.as @@ -0,0 +1,49 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the catch block with parameter of type Error catching the URI error when no catch block with parameter of type URIError is defined"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; + +try { + throw new URIError(); + } catch(e:ReferenceError){ + thisError="This is Reference Error"; + }catch(e1:ArgumentError){ + thisError="This is Argument Error"; + }catch(e3:EvalError){ + thisError="This is Eval Error"; + }catch(e4:RangeError){ + thisError="This is Range Error"; + }catch(e4:TypeError){ + thisError="This is Type Error"; + }catch(e5:SecurityError){ + thisError="This is security Error"; + }catch(e6:DefinitionError){ + thisError="This is Definition Error"; + }catch(e7:UninitializedError){ + thisError="This is Uninitialized Error"; + }catch(e8:SyntaxError){ + thisError="This is Syntax Error"; + }catch(e9:VerifyError){ + thisError="This is Verify Error"; + }catch(e10:Error){ + thisError = e10.toString(); + }finally{ + Assert.expectEq( "Testing try block with throw statement", "Error: URIError" ,Error(thisError)+"" ); + } + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithURICaughtByError/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..466e327198db7870040e1d6ea489ef575739b105 GIT binary patch literal 2844 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 + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUninitialized1/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUninitialized1/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUninitialized1/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUninitialized1/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUninitialized1/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..1098c4c530279711de30d1d1525b9c35d0d8cf95 GIT binary patch literal 2789 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 + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUnitializedCaughtWithError/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUnitializedCaughtWithError/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUnitializedCaughtWithError/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUnitializedCaughtWithError/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithUnitializedCaughtWithError/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..efe92774d2c79c6b95e77cc68a2305af7f930f36 GIT binary patch literal 2780 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 iMh>0{@P#u0E + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerify1/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerify1/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerify1/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerify1/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerify1/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..e217ed52be673c041499e26849284e022f326a71 GIT binary patch literal 3078 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 UVYP={=lp+2@6*Bm07& + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerifyCaughtByError/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerifyCaughtByError/output.txt new file mode 100644 index 000000000..6fce580ef --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerifyCaughtByError/output.txt @@ -0,0 +1 @@ +Testing try block with throw statement PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerifyCaughtByError/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerifyCaughtByError/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..ba2c11f3b448e27e2196c12a26779e6700b80738 GIT binary patch literal 2846 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerifyCaughtByError/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerifyCaughtByError/test.toml new file mode 100644 index 000000000..29f3cef79 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/MultipleCatchBlocksWithVerifyCaughtByError/test.toml @@ -0,0 +1,2 @@ +num_ticks = 1 +known_failure = true diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/Test.as new file mode 100644 index 000000000..29aae8d20 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/Test.as @@ -0,0 +1,64 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the first catch block catching the type error"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + +thisError = "no error"; +thisError1 = "no error"; + +try { + try { + throw new ReferenceError(); + } catch(eo: ReferenceError) { + thisError1 = "This is outer reference error:" + eo.toString(); + //print(thisError1); + try { + throw new TypeError(); + } catch(ei1: ReferenceError) { + thisError = "Inner reference error:" + ei1.toString(); + } catch(ei2: URIError) { + thisError = "This is inner URI Error:" + ei2.toString(); + } catch(ei3: EvalError) { + thisError = "This is inner Eval Error:" + ei3.toString(); + } catch(ei4: RangeError) { + thisError = "This is inner Range Error:" + ei4.toString(); + } catch(ei5: SecurityError) { + thisError = "This is inner Security Error!!!" + ei5.toString(); + } catch(ei6: ArgumentError) { + thisError = "This is inner Argument Error" + ei6.toString(); + } + } catch(eo1: TypeError) { + thisError1 = "This is outer TypeError:" + eo1.toString(); + } catch(eo2: ArgumentError) { + thisError1 = "This is outer Argument Error" + eo2.toString(); + } catch(eo3: URIError) { + thisError1 = "This is outer URI Error" + eo3.toString(); + } catch(eo4: EvalError) { + thisError1 = "This is outer Eval Error" + eo4.toString(); + } catch(eo5: RangeError) { + thisError1 = "This is outer Range Error" + eo5.toString(); + } catch(eo6: SecurityError) { + thisError1 = "This is outer Security Error!!!" + eo6.toString(); + } catch(eo7: Error) { + thisError1 = "This is outer Error:" + eo7.toString(); + } finally { + Assert.expectEq("Testing Nested try block with multiple catch block inside the first catch block of the outer try block", "This is outer finally:This is outer reference error:ReferenceError", "This is outer finally:" + thisError1 + ""); + + } +} catch (typeError:TypeError) { + // catch the inner typeerror instead of letting it go uncaught + Assert.expectEq("Inner TypeError thrown gets caught", "TypeError", typeError.toString()); +} + +// displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/output.txt new file mode 100644 index 000000000..3060525fd --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/output.txt @@ -0,0 +1,2 @@ +Testing Nested try block with multiple catch block inside the first catch block of the outer try block PASSED! +Inner TypeError thrown gets caught PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchBlocksTypeWithNoInnerCatchType/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..318f283e9f715fcf972050c492bf3d313d2839ac GIT binary patch literal 3064 zcmVusFPF^jQa|ZWTD5MQrk4Uu3j{r=K+#JMIRxk-NYP7Mpg>Vb6l?=M z70sbVPi;@_p>St+Ns&~AmeOixzVDkiZ|1#uLwg4ae?qAFX9#rxnhSO#gx+oYGaz)` zNN1wUb8&emujyu#^)9UCo{49zi_PKBvP^HjIY@c7s`Gn7t6 zGX*2BT2pGVsO3_sZ7#esYGwYF8XlTK0n;o6ErA4ARxREthcyeQu)Y4Sv5V$yZj2Cs)tM52PQ z;7*~rz+d?5=mz)v`SS-}o<(0`j}UnD+ewxK2;ukFe()Y^{o1=qO$+@p^jRxHHj^>b zJRL^?G{!pI&5u9(@E_0Knfe|eJX%eg6Tzy@;eb5 zOXtj@rtXqEg{>UDq2-FrsX~5CO&5}M%wjTW#x$v6NlVGMXv%7DB%?0rr8`ANt{Nrk zbDMEhGie20ENNO*v0J1h? z`yP;8do&%DJ#I7hc4g|AVH6Bsk*(ZXre;aAr1{%Rvop6_-YhsvkTGV)m72)IYO4zji0KxEfntURv&$F*Zx~nQ$hE%FatZ zPgdW!8*>D$_UanR=H*yCwj5i$;VL?pX@(k9Po0o?muD8|T}j(A%cv8yXKi`GA%k|K zarW4~ncME{u`N|=Bz^Z{%M0;096EH58oA8wiP4*ensnNJwSIBLs;;EjXzs}uXSYIAsts$sfHGP^dvxOQhYwk$ePX>t>fZrSyvC1$_oSQ4rhJBNmU&do+aZmM-v(5xLKGm!@>8%w9*1hbn?p+nR;%}%?47tkF!Z>>- z*fYtV%j~(ro~vR-QFu{u%c6HtU6kvZdMTfzhM3U`swKG{uU!`0MGF?I^a} z%JOQ`^e$EolsP78RNu6+l37ZcmI2gPcWL{prQ7kK$*%d;3o6J?da1Hr_hk9%5J}!F zSW#JaHc`HlGxJV7N99<>phHCE7DaXof2ALm*A`><@5XMd#^z+F7_u=YrLuc@jj3j| z?zXr%ELyDMP{~a^oYT{EXDQR^itQ9+-*0Mh>}|vw_8(WutZ1^Ug%Wo&n6j+{Iy_yt z!`tQWY8R1+I-;H6c|}B>-X6c*7g0|;5rOk~eLQ%4g8g`K69|5v*ep74p#{7?PXL0f zEwzfydkX`HfyW?V5HUy?Fy;srd>EQAG-GJN5Wo<`(2AiA3n7dtnd3;DBl8^b@uY`2Ifvm53=c58iQ$VF)-h~gc!(i^LB){7kiwA0 zFpq&^$Y9vSkj0S0@D_$g7&KB6$d*9*1QHiWNFZT>^ax}}AiHes?_mFzu>Z^0{}t^2 zD)zriIt0=skZS^I63I6~>XpcjM7{->>|)}>WFC_qOj4K(V6ubBcNuXWlNT@DL{yXdTqTJlmK-?tHhyhXbbW}C@6^S zK~V~ZI+&d^(8(O>gf7H0zMDBHLl4W!bI{AaoDM=C!sr6@BM-U=XAnUna29!y0y6TU zF&GH)t>=P5+xegv8VpM9F9dPNg`lT%C`h_42EEq# zrz?M2QSvqAt<#n7RFpzZ`ReJ)yA`EaQ{FyZd7+||YRWsOD*HWLfaMC?CtTa7#gqGF ztNv)4eBi06mQGWB>ZnLfb@w#Y4;+=Zrh4r(mF}o~HP!NIs+*3gsis;vO?A#u`D?1x zQ&fY`17{pv^T^W(>+d}qM1dxR$S`3Fe(*WN5-%!i%01=v#N@sL`|+3fy(hgMcIG~R zULD+0nS?3tEAy3UmR_>A`tW98I<{~vn$?YKU&!h|hU+h9_20nMbXNZxyfTy3Kjda_ zWc6QhbFt~z-?{kwbnHj`+|B9OFZk;V)3ML_saw;r_k>qoosNAh%-)`kJrV9KPX9~z zH!CsIKNmk0t*~t<_kr#dk2a%(rwh%%`A1L_{^IOsP zo(0%wrLgy`T(+5Vjd@yOo+_}H63RzC3pRc9!ACzFX}yThFq0NP8fj(!o*icP-u`GL z7<8Lev}~h4Y$eQ!!7Kz=QBzF2p|FO<8t$-~wzUnR#L`juC-J)whNh~1{k6mLQBqiX zO-Krg8Dd4{!p$KTcu|rB^6o+8b(Yf+3Ws^1P|kA{j`BPOWjilWkoWQ;3j&{>LBoL| zJ3>jpt_ms9i4q0pTr8u%g58viEZdGtlZZh>`HRFTB9omcH?nd@GJ4ig*ukDmnM2r<;&3SeEW}vg1<`j9SzkN6 zP_{io$Ww!cDiEnbas~2=q9BG?YLq{z?6qPzd(Ai>&k14^lP7Gy-HDp&u!j}Q45r{%*;y8W-upEF^A zT??FhK?Lo5je&rh8B=9utX0IkU>ro`$0@0-Jcc+0^I3Ti9Sw^6@eKDkWhdBt zh^292Q~5SrI80 + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchRefType/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchRefType/output.txt new file mode 100644 index 000000000..0a0232c21 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchRefType/output.txt @@ -0,0 +1,2 @@ +Testing Nested try block with multiple catch block inside the first catch block of the outer try block PASSED! +Testing Nested try block with multiple catch block inside the first catch block of the outer try block PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchRefType/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryBlockWithMultipleCatchRefType/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..dd23d29a547a56bf7293365771b99f66b4b9954b GIT binary patch literal 3116 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 + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideEighthCatch/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideEighthCatch/output.txt new file mode 100644 index 000000000..0a7548eb1 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideEighthCatch/output.txt @@ -0,0 +1,2 @@ +Testing Nested try block with multiple catch block inside the eighth catch block of the outer try block PASSED! +Testing Nested try block with multiple catch block inside the eighth catch block of the outer try block PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideEighthCatch/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideEighthCatch/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..15c172506c582a29ff5dd547d5712db8fa8ef785 GIT binary patch literal 3122 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 + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideFifthCatch/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideFifthCatch/output.txt new file mode 100644 index 000000000..ed66a624b --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideFifthCatch/output.txt @@ -0,0 +1,2 @@ +Testing Nested try block with multiple catch block inside the fifth catch block of the outer try block PASSED! +Testing Nested try block with multiple catch block inside the fifth catch block of the outer try block PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideFifthCatch/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideFifthCatch/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..5b6c7a5d9da02409f94357bf9803fb80831dcd77 GIT binary patch literal 3113 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 DoUS{0 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideFifthCatch/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideFifthCatch/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideFifthCatch/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/Test.as new file mode 100644 index 000000000..7f4e0c1dc --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/Test.as @@ -0,0 +1,67 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks, the seventh catch block catching the type error"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; +thisError1="no error"; +try{ + throw new SecurityError(); + }catch(eo:ReferenceError){ + thisError1 = "This is outer Reference error:"+" "+eo.toString(); + //print(thisError1); + }catch(eo1:TypeError){ + thisError1="This is outer TypeError:"+eo1.toString(); + //print(thisError1); + }catch(eo2:ArgumentError){ + thisError1="This is outer Argument Error:"+eo2.toString(); + //print(thisError1); + }catch(eo3:URIError){ + thisError1="This is outer URI Error:"+eo3.toString(); + }catch(eo4:EvalError){ + thisError1="This is outer Eval Error:"+eo4.toString(); + }catch(eo5:RangeError){ + thisError1="This is outer Range Error:"+eo5.toString(); + }catch(eo6:SecurityError){ + thisError1="This is outer Security Error!!!:"+eo6.toString(); + try { + throw new TypeError(); + }catch(ei:TypeError){ + thisError="This is Inner Type Error:"+ei.toString(); + //print(thisError); + }catch(ei1:ReferenceError){ + thisError="Inner reference error:"+ei1.toString(); + }catch(ei2:URIError){ + thisError="This is inner URI Error:"+ei2.toString(); + }catch(ei3:EvalError){ + thisError="This is inner Eval Error:"+ei3.toString(); + }catch(ei4:RangeError){ + thisError="This is inner Range Error:"+ei4.toString(); + }catch(ei5:SecurityError){ + thisError="This is inner Security Error!!!"+ei5.toString(); + }catch(ei6:ArgumentError){ + thisError="This is inner Argument Error"+ei6.toString(); + }finally{ + Assert.expectEq( "Testing Nested try block with multiple catch block inside the seventh catch block of the outer try block","This is inner finally:This is Inner Type Error:TypeError","This is inner finally:"+thisError ); + } + }catch(eo7:Error){ + thisError1="This is outer error:"+eo7.toString(); + }finally{ + Assert.expectEq( "Testing Nested try block with multiple catch block inside the seventh catch block of the outer try block", "This is outer finally:This is outer Security Error!!!:SecurityError","This is outer finally:"+ thisError1 ); + } + + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/output.txt new file mode 100644 index 000000000..cb92e8bdf --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/output.txt @@ -0,0 +1,2 @@ +Testing Nested try block with multiple catch block inside the seventh catch block of the outer try block PASSED! +Testing Nested try block with multiple catch block inside the seventh catch block of the outer try block PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSeventhCatch/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..08a2d1b219249d6236342711cb5481f485534f1c GIT binary patch literal 3113 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 + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSixthCatch/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSixthCatch/output.txt new file mode 100644 index 000000000..ca7655379 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSixthCatch/output.txt @@ -0,0 +1,2 @@ +Testing Nested try block with multiple catch block inside the sixth catch block of the outer try block PASSED! +Testing Nested try block with multiple catch block inside the sixth catch block of the outer try block PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSixthCatch/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMulitpleCatchInsideSixthCatch/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..3013b997251b6bceb8e9f4fbbfd9f4a513a88bc4 GIT binary patch literal 3113 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 + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinally/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinally/output.txt new file mode 100644 index 000000000..2a7194540 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinally/output.txt @@ -0,0 +1,2 @@ +Testing Nested try block with multiple catch block inside the finally block of the outer try block PASSED! +Testing Nested try block with multiple catch block inside the finally block of the inner try block PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinally/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinally/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..d95c545a0098c15c9d9f85ee6cf2124e31eb3b10 GIT binary patch literal 3111 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 + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinallyExceptionBubbling/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinallyExceptionBubbling/output.txt new file mode 100644 index 000000000..80785e3c4 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinallyExceptionBubbling/output.txt @@ -0,0 +1 @@ +Testing catch block with Type Error PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinallyExceptionBubbling/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinallyExceptionBubbling/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..20f9fe6bde6d92f11c76eddff86167d8279abd6b GIT binary patch literal 3451 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinallyExceptionBubbling/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinallyExceptionBubbling/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFinallyExceptionBubbling/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/Test.as new file mode 100644 index 000000000..13abd915e --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/Test.as @@ -0,0 +1,67 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing nested try block with multiple catch blocks, the inner try and multiple catch block inside the fourth catch block of the outer try and multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; +thisError1="no error"; +try{ + throw new URIError(); + }catch(eo:ReferenceError){ + thisError1 = "This is outer Reference error:"+" "+eo.toString(); + //print(thisError1); + }catch(eo1:TypeError){ + thisError1="This is outer TypeError:"+eo1.toString(); + //print(thisError1); + }catch(eo2:ArgumentError){ + thisError1="This is outer Argument Error:"+eo2.toString(); + //print(thisError1); + }catch(eo3:URIError){ + thisError1="This is outer URI Error:"+eo3.toString(); + try { + throw new TypeError(); + }catch(ei:TypeError){ + thisError="This is Inner Type Error:"+ei.toString(); + //print(thisError); + }catch(ei1:ReferenceError){ + thisError="Inner reference error:"+ei1.toString(); + }catch(ei2:URIError){ + thisError="This is inner URI Error:"+ei2.toString(); + }catch(ei3:EvalError){ + thisError="This is inner Eval Error:"+ei3.toString(); + }catch(ei4:RangeError){ + thisError="This is inner Range Error:"+ei4.toString(); + }catch(ei5:SecurityError){ + thisError="This is inner Security Error!!!"+ei5.toString(); + }catch(ei6:ArgumentError){ + thisError="This is inner Argument Error"+ei6.toString(); + }finally{ + Assert.expectEq( "Testing Nested try block with multiple catch block inside the fourth catch block of the outer try block","This is inner finally:This is Inner Type Error:TypeError","This is inner finally:"+thisError ); + } + }catch(eo4:EvalError){ + thisError1="This is outer Eval Error"+eo4.toString(); + }catch(eo5:RangeError){ + thisError1="This is outer Range Error"+eo5.toString(); + }catch(eo6:SecurityError){ + thisError1="This is outer Security Error!!!"+eo6.toString(); + }catch(eo7:Error){ + thisError1="This is outer Error:"+eo7.toString(); + }finally{ + Assert.expectEq( "Testing Nested try block with multiple catch block inside the fourth catch block of the outer try block", "This is outer finally:This is outer URI Error:URIError","This is outer finally:"+ thisError1 ); + } + + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/output.txt new file mode 100644 index 000000000..f13b215e7 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/output.txt @@ -0,0 +1,2 @@ +Testing Nested try block with multiple catch block inside the fourth catch block of the outer try block PASSED! +Testing Nested try block with multiple catch block inside the fourth catch block of the outer try block PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..8177081ab54a0e2a028371d34bb3904dc860a531 GIT binary patch literal 3115 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 F$6frfA0_|* literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatch/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/Test.as new file mode 100644 index 000000000..442cd933c --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/Test.as @@ -0,0 +1,65 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing nested try block with multiple catch blocks, the inner try and multiple catch block inside the fourth catch block of the outer try and multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + +thisError = "no error"; +thisError1 = "no error"; + +try { + try { + throw new URIError(); + } catch(eo: ReferenceError) { + thisError1 = "This is outer Reference error:" + " " + eo.toString(); + //print(thisError1); + } catch(eo1: TypeError) { + thisError1 = "This is outer TypeError:" + eo1.toString(); + //print(thisError1); + } catch(eo2: ArgumentError) { + thisError1 = "This is outer Argument Error:" + eo2.toString(); + //print(thisError1); + } catch(eo3: URIError) { + thisError1 = "This is outer URI Error:" + eo3.toString(); + try { + throw new TypeError(); + } catch(ei1: ReferenceError) { + thisError = "Inner reference error:" + ei1.toString(); + } catch(ei2: URIError) { + thisError = "This is inner URI Error:" + ei2.toString(); + } catch(ei3: EvalError) { + thisError = "This is inner Eval Error:" + ei3.toString(); + } catch(ei4: RangeError) { + thisError = "This is inner Range Error:" + ei4.toString(); + } catch(ei5: SecurityError) { + thisError = "This is inner Security Error!!!" + ei5.toString(); + } catch(ei6: ArgumentError) { + thisError = "This is inner Argument Error" + ei6.toString(); + } + } catch(eo4: EvalError) { + thisError1 = "This is outer Eval Error" + eo4.toString(); + } catch(eo5: RangeError) { + thisError1 = "This is outer Range Error" + eo5.toString(); + } catch(eo6: SecurityError) { + thisError1 = "This is outer Security Error!!!" + eo6.toString(); + } catch(eo7: Error) { + thisError = "This is inner Error:" + eo7.toString(); + } finally { + Assert.expectEq("Testing Nested try block with multiple catch block inside the fourth catch block of the outer try block", "This is outer finally:This is outer URI Error:URIError", "This is outer finally:" + thisError1); + } +} catch (typeError:TypeError) { + // catch the inner typeerror instead of letting it go uncaught + Assert.expectEq("Inner TypeError thrown gets caught", "TypeError", typeError.toString()); +} + +// displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/output.txt new file mode 100644 index 000000000..7a861f808 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/output.txt @@ -0,0 +1,2 @@ +Testing Nested try block with multiple catch block inside the fourth catch block of the outer try block PASSED! +Inner TypeError thrown gets caught PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideFourthCatchWithoutMatchingCatch/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..c525ec5f33f2f00b190f460980822d609057e053 GIT binary patch literal 3081 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 X2C@N!S%>{T + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatch/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatch/output.txt new file mode 100644 index 000000000..b605a8de8 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatch/output.txt @@ -0,0 +1,2 @@ +Testing Nested try block with multiple catch block inside the second catch block of the outer try block PASSED! +Testing Nested try block with multiple catch block inside the second catch block of the outer try block PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatch/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatch/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..c2093e0918dca1245e44f37239cd59e54944dca2 GIT binary patch literal 3114 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 E8%)bEWdHyG literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatch/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatch/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatch/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/Test.as new file mode 100644 index 000000000..7f1a2eb8f --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/Test.as @@ -0,0 +1,62 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing nested try block with multiple catch blocks, the inner try and multiple catch block inside the second catch block of the outer try and multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + +thisError = "no error"; +thisError1 = "no error"; + +try { + try { + throw new TypeError(); + } catch(eo: ReferenceError) { + thisError1 = "This is outer Reference error:" + " " + eo.toString(); + //print(thisError1); + } catch(eo1: TypeError) { + thisError1 = "This is outer TypeError:" + eo1.toString(); + //print(thisError1); + try { + throw new TypeError(); + } catch(ei1: ReferenceError) { + thisError = "Inner reference error:" + ei1.toString(); + } catch(ei2: URIError) { + thisError = "This is inner URI Error:" + ei2.toString(); + } catch(ei3: EvalError) { + thisError = "This is inner Eval Error:" + ei3.toString(); + } catch(ei4: RangeError) { + thisError = "This is inner Range Error:" + ei4.toString(); + } catch(ei5: SecurityError) { + thisError = "This is inner Security Error!!!" + ei5.toString(); + } catch(ei6: ArgumentError) { + thisError = "This is inner Argument Error" + ei6.toString(); + } + } catch(eo2: ArgumentError) { + thisError1 = "This is outer Argument Error" + eo2.toString(); + } catch(eo3: URIError) { + thisError1 = "This is outer URI Error" + eo3.toString(); + } catch(eo4: EvalError) { + thisError1 = "This is outer Eval Error" + eo4.toString(); + } catch(eo5: RangeError) { + thisError1 = "This is outer Range Error" + eo5.toString(); + } catch(eo6: SecurityError) { + thisError1 = "This is outer Security Error!!!" + eo6.toString(); + } catch(eo7: Error) { + thisError = "This is inner Error:" + eo7.toString(); + } finally { + Assert.expectEq("Testing Nested try block with multiple catch block inside the second catch block of the outer try block", "This is outer finally:This is outer TypeError:TypeError", "This is outer finally:" + thisError1); + } +} catch (typeError:TypeError) { + // catch the inner typeerror instead of letting it go uncaught + Assert.expectEq("Inner TypeError thrown gets caught", "TypeError", typeError.toString()); +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/output.txt new file mode 100644 index 000000000..d5ed2dba0 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/output.txt @@ -0,0 +1,2 @@ +Testing Nested try block with multiple catch block inside the second catch block of the outer try block PASSED! +Inner TypeError thrown gets caught PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..02215a705f34757b59b3e49b86ef54f91bad3f26 GIT binary patch literal 3066 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 IH|s5u^r|uY3jhEB literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideSecondCatchWithoutMatchingCatch/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/Test.as new file mode 100644 index 000000000..7122b3a95 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/Test.as @@ -0,0 +1,66 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing nested try block with multiple catch blocks, the inner try and multiple catch block inside the third catch block of the outer try and multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; +thisError1="no error"; +try{ + throw new ArgumentError(); + }catch(eo:ReferenceError){ + thisError1 = "This is outer Reference error:"+" "+eo.toString(); + //print(thisError1); + }catch(eo1:TypeError){ + thisError1="This is outer TypeError:"+eo1.toString();//print(thisError1); + }catch(eo2:ArgumentError){ + thisError1="This is outer Argument Error:"+eo2.toString();//print(thisError1); + try { + throw new TypeError(); + }catch(ei:TypeError){ + thisError="This is Inner Type Error:"+ei.toString(); + //print(thisError); + }catch(ei1:ReferenceError){ + thisError="Inner reference error:"+ei1.toString(); + }catch(ei2:URIError){ + thisError="This is inner URI Error:"+ei2.toString(); + }catch(ei3:EvalError){ + thisError="This is inner Eval Error:"+ei3.toString(); + }catch(ei4:RangeError){ + thisError="This is inner Range Error:"+ei4.toString(); + }catch(ei5:SecurityError){ + thisError="This is inner Security Error!!!"+ei5.toString(); + }catch(ei6:ArgumentError){ + thisError="This is inner Argument Error"+ei6.toString(); + }finally{ + Assert.expectEq( "Testing Nested try block with multiple catch block inside the third catch block of the outer try block","This is inner finally:This is Inner Type Error:TypeError","This is inner finally:"+thisError ); + + } + }catch(eo3:URIError){ + thisError1="This is outer URI Error"+eo3.toString(); + }catch(eo4:EvalError){ + thisError1="This is outer Eval Error"+eo4.toString(); + }catch(eo5:RangeError){ + thisError1="This is outer Range Error"+eo5.toString(); + }catch(eo6:SecurityError){ + thisError1="This is outer Security Error!!!"+eo6.toString(); + }catch(eo7:Error){ + thisError1="This is outer Error:"+eo7.toString(); + }finally{ + Assert.expectEq( "Testing Nested try block with multiple catch block inside the third catch block of the outer try block", "This is outer finally:This is outer Argument Error:ArgumentError","This is outer finally:"+ thisError1 ); + } + + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/output.txt new file mode 100644 index 000000000..b3e39912e --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/output.txt @@ -0,0 +1,2 @@ +Testing Nested try block with multiple catch block inside the third catch block of the outer try block PASSED! +Testing Nested try block with multiple catch block inside the third catch block of the outer try block PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..a065714e8e1b3e88741d6eba8065611cac40899e GIT binary patch literal 3115 zcmV+`4Ak>OS5qdn6#xKu+J#tMP+LiM?sNZIEg_IVh(BXrY{nRTK>|FUvBrjxLBcRL zcm;Soo<*Z8=?ZB^e{*#Ocy=bUA?r;xzq^(7RS_E77#`1Xtk~vEtAUSj_kqy+l}b@l%hI}`7s}hNc)gr42NiZIg)Cnv z8-i)cYej4-Tc}lw>T~v}vQy9&iiK)trc#P;&A(hWG+o8)-O+3$*v2nZ@USbCHC$9PmaQJp8 zT`v@kLYW!)Ld|xdT#+?vs%Ox&w=Kq(H;|C=4-ZUDm(PM{cZ+bc>@q6$9_w$HHZx(k zojA2`MqpGW@Jg*#i@;Kd#L+Cy`;g6Cq{T)=^I`OsXy zEA7nxSiZnHlh*v+Z3oZ$b78`?1D)-s45w9itul?z45t-%tuXC6Jw~uG!_LkP zY|Xlx#}77dc~3n#Mc%~cHkz8n=N3NLuG|(Kw(^!_AF=LLbyaSumg}Xori-~^MKvV5 z;Wm#LJCy|k?+r0$-Wb9o)yVT|y5?SWHfL>0Dr)6zBQMqJ>6)Q~=4p8W@Sa`+)(kq# z`{VSo^W&*ecRaKAsHX*ym5>Zd_>zqh|vBq9k$`oQ(BNc!A^Ub8Kd!Coc;=W=^^aCrpt zanTMCydJSrv`V21+#Z(?{8*Q|MXTJUz)|2S2oyvL5(P>*MgU1D8x+PUj8nKtVUj|KLYTrdg&7L76mC&? zlfrEZZ&BCV6z)*=4(0Ar?jGglC^yd-uqekCIJU^KC629d%)_%moa8qtY*ARDkfg9k z;Ufwu3Mz#(g$#u(1&umeZ>isrQ?{DI>kI!!b3ks}XV0Q%8A+p~AX-Hz9OYC=nvM(s}P_{zZ zAZ3e`jZpSEWq*joHOk(gY>cvT%5G9NN!cGE+Tj`|=RQ1ePQmen69jCTe-_&M?dZT1 zSYKx!0slE4jx#%3FOvWF7sqj8>m($~cw}6RiNq_p@vYK>tqvf}3&h?F03Bz5Nz$XAVOaPdhKMXISzkvBJ9fl8=3AQ+w2txyLtwYT{p7pC_wPfpBu{I%KrnWq_#&5NS;Lrc}sR6V&!Rkl># zrt1BRR1YjwXH)g`B9-OVv#zGd?zv=)8Dx}ANv!yH}_Nc8T=i*GjEpv4tL%)%a>gAzFGd9 zTUa#9UvsgzS^hD<^uR2C#@}21Df|onYy6ozANxxox-uX8g|P76eC$7k*u(kQkHw`& z^Rd4bSJ&qMS^SlG9`PLTLf2t9=~w#l{$#f@knhG#D~KX5{39HOkB@r-gdD$AJ`Lbh z6@CA;56?cOw*R`(FquY^dF3##6u`JQjt7@b`uOEnKbq*iLC82tjjtxU@z?h_+N*yx z;rH9sQ?y~CKk8;^Wd|+zaDK|JSy8aEhZVb9Q`?Qd)Kia-8-Eu6285vFRKJxtY8;lNYAgtfPL|C8jp8li875+vK*ad^8*Q;07>jx%cBwx%d;)Ecw7w9&T zRO3MT4jddGn2cgEJAuJd<^>!yULGjlMZrr;VOdEjzYS( z8;7&+9>1B-G0f+na#;-~`;c z4ks@w6YAyU6-806BxPkvmC;zYNO?g&49hPvQbYM3#B)%4-54duqvAn)n|qNl6Ko}b zX`IR{zX#WkQiY$aea!oMt&l7RycY5MCh>_$G?YKEY-Gf=I7+&@aDQOMW0{i7-P6D_ zE#W%$2pli?4#P*IBvs6nMumfTnL|9#f>&Db-WI&tf(KjhPh0T57F=(^`&;l@3qH_- z8!h-C&+|er;<-|z6E`mMjd-1V@%0gsLv2C6)E4BOr`&MfhcN3gUyrQ+dV3cu{|({k F$m;yVG?f4V literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatch/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/Test.as new file mode 100644 index 000000000..6b868a33e --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/Test.as @@ -0,0 +1,60 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing nested try block with multiple catch blocks, the inner try and multiple catch block inside the third catch block of the outer try and multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; +thisError1="no error"; +try{ + throw new ArgumentError(); +}catch(eo:ReferenceError){ + thisError1 = "This is outer Reference error:"+" "+eo.toString(); + //print(thisError1); +}catch(eo1:TypeError){ + thisError1="This is outer TypeError:"+eo1.toString(); + //print(thisError1); +}catch(eo2:ArgumentError){ + thisError1="This is outer Argument Error:"+eo2.toString(); + //print(thisError1); + try { + throw new EvalError(); + }catch(ei1:ReferenceError){ + thisError="Inner reference error:"+ei1.toString(); + }catch(ei2:URIError){ + thisError="This is inner URI Error:"+ei2.toString(); + }catch(ei3:EvalError){ + thisError="This is inner Eval Error:"+ei3.toString(); + }catch(ei4:RangeError){ + thisError="This is inner Range Error:"+ei4.toString(); + }catch(ei5:SecurityError){ + thisError="This is inner Security Error!!!"+ei5.toString(); + }catch(ei6:ArgumentError){ + thisError="This is inner Argument Error"+ei6.toString(); + } +}catch(eo3:URIError){ + thisError1="This is outer URI Error"+eo3.toString(); +}catch(eo4:EvalError){ + thisError1="This is outer Eval Error"+eo4.toString(); +}catch(eo5:RangeError){ + thisError1="This is outer Range Error"+eo5.toString(); +}catch(eo6:SecurityError){ + thisError1="This is outer Security Error!!!"+eo6.toString(); +}catch(eo7:Error){ + thisError="This is inner Error:"+eo7.toString(); +}finally{ + Assert.expectEq( "Testing Nested try block with multiple catch block inside the third catch block of the outer try block", "This is outer finally:This is outer Argument Error:ArgumentError","This is outer finally:"+ thisError1 ); +} + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/output.txt new file mode 100644 index 000000000..d2d31ce8b --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/output.txt @@ -0,0 +1 @@ +Testing Nested try block with multiple catch block inside the third catch block of the outer try block PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..492118045c54f6772b9436a093180b6fe56814de GIT binary patch literal 3025 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideThirdCatchWithoutMatchingCatch/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/Test.as new file mode 100644 index 000000000..de8af0c63 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/Test.as @@ -0,0 +1,65 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing nested try block with multiple catch blocks, the inner try and multiple catch block inside the try block of the outer try and multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; +thisError1="no error"; +try{ + //throw new ReferenceError(); + try { + throw new TypeError(); + }catch(ei:TypeError){ + thisError="This is Inner Type Error:"+ei.toString(); + //print(thisError); + }catch(ei1:ReferenceError){ + thisError="Inner reference error:"+ei1.toString(); + }catch(ei2:URIError){ + thisError="This is inner URI Error:"+ei2.toString(); + }catch(ei3:EvalError){ + thisError="This is inner Eval Error:"+ei3.toString(); + }catch(ei4:RangeError){ + thisError="This is inner Range Error:"+ei4.toString(); + }catch(ei5:SecurityError){ + thisError="This is inner Security Error!!!"+ei5.toString(); + }catch(ei6:ArgumentError){ + thisError="This is inner Argument Error"+ei6.toString(); + }finally{ + Assert.expectEq( "Testing Nested try block with multiple catch block inside the try block of the outer try block","This is inner finally:This is Inner Type Error:TypeError","This is inner finally:"+thisError ); + } + }catch(eo:ReferenceError){ + thisError1 = "This is outer reference error:"+" "+eo.toString(); + //print(thisError1); + }catch(eo1:TypeError){ + thisError1="This is outer TypeError:"+eo1.toString(); + }catch(eo2:ArgumentError){ + thisError1="This is outer Argument Error"+eo2.toString(); + }catch(eo3:URIError){ + thisError1="This is outer URI Error"+eo3.toString(); + }catch(eo4:EvalError){ + thisError1="This is outer Eval Error"+eo4.toString(); + }catch(eo5:RangeError){ + thisError1="This is outer Range Error"+eo5.toString(); + }catch(eo6:SecurityError){ + thisError1="This is outer Security Error!!!"+eo6.toString(); + }catch(eo7:Error){ + thisError1="This is outer Error:"+eo7.toString(); + }finally{ + + } + + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/output.txt new file mode 100644 index 000000000..7be173108 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/output.txt @@ -0,0 +1 @@ +Testing Nested try block with multiple catch block inside the try block of the outer try block PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..6d6551a9b837669cb635b47a50c56cb0af860a2b GIT binary patch literal 3032 zcmV;}3n%nLS5qbw6#xKu+J#t6P#eh=?l*s}mJmoF{=pt>))+h>0sht6U@(%6*9I>? zUfa9K8c8G2di1l>2(UNFCS;w>X7f|2TJIs11G(gotyB(sNhPUD4#{DwasW}bZ>c1Q zB$di3hrNmF_NH)LfAH8(xl0Pu!9~&D+#c<(q#!xqhGli1_ z6PAG)tq{+raz-kfk}V-)lu4)rn=Hc?9MIS)c8>oghF?K<|S=8mRz}UFGT@$?QKNN{F zg2A02GoF9&m&rA5e}DghlgH>w_z0dypO0e>5E3|Z_u~(-_Xp>aRxrqKeV;cIVlv6R zn$|{%hm7EWyYY+P{OI2=pG#;GHI$%(DH^fAA4Ji8?E(Z&?cSQW)8`v zd{J}R-LR?`v@$$b)b)zuaZVF*YM~$`)s!wS8!5fuJ7m%Vr8`rLi=i2ZY`1+Y;U2uP0r1LkqLv`xfoHtL0P4$A@OG=GB5RdIDjwKuboU~R9$}@ z{8G;yIJfQSiN`9iz0P6Ba#nHI4S_E)-)?Hbqf}C^L)gnaBb6S?yvZMHn;WLiU zS$xjnb6zZqvKJ(~0y^i^Ik~2rDW+puUQFs))sXCg)2slt-vtB9x|lQzx^P=H)_65m zaL$#_PGLmSwaluqCKZaYf{_Q!RdYYPD^=RsL4#S|D|e9>4|TEp%Jy+`)gY3*nl*y5 zY-i8yR3U9;=&&3r8?=a^+@#2MjW3V=^735h-ks33rO=FQ)jgb3&@|b;r$*F5u;yYo zJt!JjTr|lJ6HR3j+U9(+-4>hY2EWQwldQWQuL}V!S5&cpw}{4UXP~mB4cZ(Xw9VP! z?r0T>NZNw!;J7N1c4wE{9E+r@m5IPPoGu<5F2Q^pv;hRSOKcRaR%imJ%i#ep_N8Xg zYS$@n6nF{(1(AY8fl`i9!9}5gLL-GH3LXkx3e6N+sNkctjnWPZT@<=0?V-?1p^X9} z$0_ttI7#6Z3Ih}dDV(7&Ou{PXDOVcaGt^i>bOYZ5@oMa?lR@BP;P>9 zlZ*kI;@CBg&2TKtF&EFeaECJ#?o)U`;Y|u}QCOi6q41DGl!8hjMj=iiK|!OCq_9e1 zjY5jT+Y}yA&?%%TWY~tlHU-uru&}^<0`m*3OJGj~_Ab8rSE&1|)crN;evi7p4%Gb( zU~K~H5ZEPwHHhq6AazUZiNwAQl)X!ti?SKYx+qIf)<@YB%D#)lNy=WKY=E*s%Fa+W zOxgDkZE*CGLmwWva>Mb269gQYzZP2ix2ywGVEsAx2>4U}aGW{W`il3z|8N{9)^0+g zj7P@7m`L1`6Tk1daMS>Vxq&zvfw-E0Gja0YstdcY$9 z*GmAHlivwk$M*$Hb!jKCGfQy9Q2|>1CGG??5@ms?5{M25q9cK*KM)NBqBIa4y+?ZO z&zht_;!K*0j49LVSY%w89(tjUmmJ*I^OdtV&l28)KG+F7AVV*P0%y{Ix{wAsgwK)f zp_l5|o`WCkb#R_P6H^6M)%BxPzp_+ZRdwSi)yI~Kuc~H`Qe`ZaP*vSLN_E3hiB;8W zN2yL&Dygcvb%d&a-*e2;(V-Us9B;ksC!PjE*dRj%-@lJo^t^IgnN#MYW82{i{MPes z2PV?r_V+!0%ZrZ63ggNh<@N2FMaC;zvE9w8!iA$$w!58G)#6bq+ug3JYUwDI?e2!E zYWXOY?QVBfb@wQh?e4~^>W!mRw!53Es(VMM4&3eea(7$q{bGNA_l9>eG<)&VWGEYa zbu#n}E?=1p{Te1FCqsXMt5cJq54h=TlcAq;Goi^{?l~T($&dIS@WC)PzvM4o$L3G` z%nfYb7cS3Y^D|-MCN?|5)z`53LYTgV&5y;~bCbUle{U8Qo&#QJ+6hFwO8c5O(yVl@ zHRH(>M3EQ%2s?qjy%rxKd(V`t5BI3#wqAO$fGO{6y)2bXrc`BKl$jR_Y{iArUe~Ni z?>+nUlcDC*gbboI|LIUO{^NEK?G-*9@_OxV1udEAC(R747-+$R`%{W$N5RfIcI;_Y zZF37D(fPg7Pr`S=4-FOl%ImwOy_hinx)2kTq7S`v>c#*@RFouvy|)v1V<;{JG}ujp z2BkEo!CsozKzW=NG?2H_A_kF9Op!s)fEl-#U{;N|XvJ6qjl&2pkf)~D?4!QdAx6!- zH79cOOWcZ;c;)~fp`Vz&_#KoPoI0jgdno+Yc`RGrEO&kw)eJ8MzI*f*HvM@3EQP-+sgYWcxEXq zD-V^YV2)OzyYo@N5L1B{MAuGWWqJ2h$=n$sjw&=zhFBGn%aBtP1<{A8QTnXxYsIj9 zjhu_;1hE0-QFGt+LJc+8!!qUu5X6Hz-^c;*O_egQ-h@%b2(ez^6bw3|${{&RmHg&w>%IQs(en)w{Ud~Q>Yscn&VrCn{0bSRx_N2F7c z)y_zlazgEjbSwR8cce!-rS?R6mD6f(nU)37^{{zGD(^n?yz5rqX literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTry/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/Test.as new file mode 100644 index 000000000..eb49aed2f --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/Test.as @@ -0,0 +1,61 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import com.adobe.test.Assert; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing nested try block with multiple catch blocks, the inner try and multiple catch block inside the try block of the outer try and multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + + +thisError = "no error"; +thisError1="no error"; +try{ + //throw new ReferenceError(); + try { + throw new TypeError(); + }catch(ei1:ReferenceError){ + thisError="Inner reference error:"+ei1.toString(); + }catch(ei2:URIError){ + thisError="This is inner URI Error:"+ei2.toString(); + }catch(ei3:EvalError){ + thisError="This is inner Eval Error:"+ei3.toString(); + }catch(ei4:RangeError){ + thisError="This is inner Range Error:"+ei4.toString(); + }catch(ei5:SecurityError){ + thisError="This is inner Security Error!!!"+ei5.toString(); + }catch(ei6:ArgumentError){ + thisError="This is inner Argument Error"+ei6.toString(); + } + }catch(eo:ReferenceError){ + thisError1 = "This is outer reference error:"+" "+eo.toString(); + //print(thisError1); + }catch(eo1:TypeError){ + thisError1=eo1.toString(); + }catch(eo2:ArgumentError){ + thisError1="This is outer Argument Error"+eo2.toString(); + }catch(eo3:URIError){ + thisError1="This is outer URI Error"+eo3.toString(); + }catch(eo4:EvalError){ + thisError1="This is outer Eval Error"+eo4.toString(); + }catch(eo5:RangeError){ + thisError1="This is outer Range Error"+eo5.toString(); + }catch(eo6:SecurityError){ + thisError1="This is outer Security Error!!!"+eo6.toString(); + }catch(eo7:Error){ + thisError="This is outer Error:"+eo7.toString(); + }finally{ + + Assert.expectEq( "Testing Nested try block with multiple catch block inside the try block of the outer try block","This is outer finally:TypeError","This is outer finally:"+thisError1 ); + } + + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/output.txt new file mode 100644 index 000000000..7be173108 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/output.txt @@ -0,0 +1 @@ +Testing Nested try block with multiple catch block inside the try block of the outer try block PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..66f5e5163348c7fb65bc0ec857c3f3cdff1a4862 GIT binary patch literal 2973 zcmV;O3u5#`S5qck6aWBt+J#t4P#eh^?tfmbmJmoF-e3!*)<|k0t@ZNE2=Hz;n~*r0O-@_2-c;oha!D$+mC9icsY+6n(;iZl1BkMH$RUqI zl1gs5t~0i zECX{?PiUE?jIi;XNHoAV5*?y zRAWjl7PFazYMS$JkLu|{;_;TcNk>yzRZm~@*M#OABV%OgRH&#X(o~LQ>9!oIO}E6h z!qg^feoj>!O0gMZsx{m4%bHQIGv^gc@oYvbj6pGg)!X$YgcjF_RW3-3_g*gy$Tx-3~~R(8BHTT$^mS z1F~(8CWErW?uMUKmJVxLL30(^&W&ZNm$HU5e|u>rbi3u9g0%&CBU^~8*>%_5(CnL` z`S9(9mDTnStmH^2gX4p2<|d2Thrysbv^>9dC%m{CUS3{W?g(icCG$>L3j}4Wk{!S%v+~jQZE4V96zogYwaO;R=C7q=fw2!Y*xg8&QK>LJjf@rO z3U#`XTA>Mcy2ewR9T*tsYvik$X!ED4B&+KuxXj6NU!$UNdS@efw3Dtzyta|eS&Z0;%8RU}N!iez%JD4wSdq6fMq19X8=NU-shltqq{3wKdL~I_ zgB9+YypXa0+x8KB%%@Z)uV%APgS9}P%r`e)Ri0+X9o5^%1{37yy0OuuvvzCQ@S?lA z^D1)5-B3Ija+#wAo)*U0Gr^uo_FQDoCH7nvE26>`$u3#WMRifG>*hy6Qeq-PN*cdC+9m zyY>rN;Y=5wfsd})klAj+I4OR`PWM>Y};X%_BP@T zA;6UqDC(^2Q(_+mQ?_+LhocL3IJ?|k?IIFUN3atdH$>Fw>~Wi85%sha5jcm_#e>5o zn2!TDf#7zD&7#!`E#P!HJm6)0sa3Sv5(W+fk3qm7VvsOk%n>ZOFf?Ik#?XSngTafT z6+;^qd>D6N+=ZbBLoddC82T}EU|`5;3Vt5V15Qbq47ch)s@M8#I7{@SyVG_ed z43{um#&88YUdM11lQ%GT4RhBqH-))rLV$!gGRu)Ujzl=(;zzvA&TJ*!=-^e+|1o#O|+?4uNzDVZ>QXUc+PvlVMCQU^0ry_ZZsb=tsw1JaCnU;}ItaY-IjgX#IOd2d2P!J9-K1 zr}E-BbF%ey?0>&;94FR0Az{KZ#zBaP+>(=hH*>L36CmOS*U>rTC0*ye&hBBat4H8C zNdPor?zb5n0)PiDKz~agcm&}35dd-Wdx3ejUtn1-?FIH05F2q=fYu*~djX1KBoI>q zvC%+mED-YtVu3&m2V&#*QNR64O9~_}eflBGnPuMsop$ErGTlDs;WulwsL2;PB>W=@|F-E2`id zfi?f+r*5(4Q{l#&tofyI`_A+qgg=^fg6Du2TJ{1_uhNOPQ8>u)6qL=J zKtbNgi7bwMGK7XbLuTmWf_bMCq7`Nelw(1D3q3Q%W}oT%9b(K(5pyE9w8E{gnwek@ z*dq)gvzJgAD9*TA>w)T4q`R@T~-p2#Iuu+naeWQoe1s6 z)_0%1@PrX!i0<>6NVL4Ge6)M8YZ8h@Jn{8ZiEqGe`T4H$P1rqnZYeAyQDq0r(fXtP zrANRbj0Ij0U3-D`)%|m2(=mh`HE5^;ks2gdAg3q_qK{=p`OC^tD^IMWW}J)X1hI+9 zADM333pLeY(F*1U5X7S*+{^*+E!7$vyAS*{_v6<<=J z{OQii@_s7O{*S{$CiJkH&e_%7Yo>FUrE`aJO6`btDxGR)v`gt$yQ1BStae9xlrw5i zv{xBad!v2IIkhj^ubfx=qou{|O@8Nk~XlHopak-h@TgI0oI`{0wJ|lY@g51{-WaB>9pY|}A Tw3%N(tbY;RV4eQ}WaMI@L;cci literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/NestedTryWithMultipleCatchInsideTryWithoutMatchingCatch/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/Test.as new file mode 100644 index 000000000..924165af3 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/Test.as @@ -0,0 +1,26 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + + +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import TryCatchBlockPackage.*; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + +var trythrow:TryAndCatchBlockWithUserDefinedErrors = new TryAndCatchBlockWithUserDefinedErrors(); +trythrow.MyTryThrowCatchFunction(); + + + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/TryCatchBlockPackage/TryAndCatchBlockWithUserDefinedErrors.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/TryCatchBlockPackage/TryAndCatchBlockWithUserDefinedErrors.as new file mode 100644 index 000000000..8f229f4a2 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/TryCatchBlockPackage/TryAndCatchBlockWithUserDefinedErrors.as @@ -0,0 +1,38 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package TryCatchBlockPackage +{ + import UserDefinedErrorsPackageTryBlockOutside.*; +import com.adobe.test.Assert; + public class TryAndCatchBlockWithUserDefinedErrors + { + var b:Box = new Box(); + var someWidth:Number=(Number.MAX_VALUE)*10; + thisError = "no error"; + + public function MyTryThrowCatchFunction():void + { + try { + b.setWidth(someWidth); + }catch(e:BoxOverflowException){ + thisError = e.message; + //trace("BoxOverflowException:"+thisError); + }catch(e1:BoxUnderzeroException){ + thisError=e1.message; + //trace("BoxUnderzeroException:"+thisError()); + }catch(e2:BoxDimensionException){ + thisError = e2.message; + //trace("BoxDimensionException Occurred:"+thisError()); + }catch(e3:Error){ + thisError = e3.toString(); + //trace("An error occurred:"+e3.toString()); + }finally{ + Assert.expectEq( "Testing try block and multiple catch blocks with custom error classes", "Box dimensions must be less than Number.MAX_VALUE",thisError ); + } + + } + } + +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/Box.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/Box.as new file mode 100644 index 000000000..3ffb657b7 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/Box.as @@ -0,0 +1,29 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageTryBlockOutside +{ +public class Box +{ + private var width:Number; + + public function setWidth(w):Boolean + { + var errmsg:String="Illegal Box Dimension specified"; + var errmsg2:String="Box dimensions should be greater than 0"; + var errmsg3:String="Box dimensions must be less than Number.MAX_VALUE"; + if (w == NaN) + { + throw new BoxDimensionException(errmsg); + }else if (w<= 0) + { + throw new BoxUnderzeroException(errmsg2); + }else if (w>Number.MAX_VALUE) + { + throw new BoxOverflowException(errmsg3); + } + width = w; + + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as new file mode 100644 index 000000000..a0f7ea8f2 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as @@ -0,0 +1,13 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageTryBlockOutside { + +public class BoxDimensionException extends Error { + public function BoxDimensionException(boxErrMsg: String) { + super(boxErrMsg); + + } + +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as new file mode 100644 index 000000000..45616ecc7 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as @@ -0,0 +1,11 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageTryBlockOutside { + +public class BoxOverflowException extends BoxDimensionException { + public function BoxOverflowException(boxErrMsg3: String) { + super(boxErrMsg3); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as new file mode 100644 index 000000000..cb69ee993 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as @@ -0,0 +1,12 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageTryBlockOutside { + +public class BoxUnderzeroException extends BoxDimensionException { + + public function BoxUnderzeroException(boxErrMsg2: String) { + super(boxErrMsg2); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/output.txt new file mode 100644 index 000000000..c1ae79e27 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/output.txt @@ -0,0 +1 @@ +Testing try block and multiple catch blocks with custom error classes PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..34a1db705bbd7194ff8864fac1f13f4103726602 GIT binary patch literal 3301 zcmVx!8S5qdT6#xKu+Lc(#Q(MV;?>?_qO9CB%cpH2$;(b5@&&!OBM}UO!81Us` zW6uTaNNORCk0j=tBf#_Wz1(<_EK-%K%w1$fHrdP~i@Qx#s#29jsiEQNcvZVn*Ro&PK*}9T?nC-mNMC)mbi3xjXeu) zo4d?&ww_QPJSGj-+s(`MXtd*gd)16tv8^pE}xW;^KbBad1U;+ni=l-Lwf z(IiZ`AH4qS<-NcCyTAJHH($^G4kKy5Qp_pqj#Vu0lDSI7WJcMSs+O}n1F=|kBp$KJ zy}8L;(cUwS7j(I@Uu5%UaWArAy_h$gY+=rXJAP5Sh;73pd6;GHWyo&)JAdSYGw+STBX5>-%=(&Hl?(Kj z#QeGU_%HC55BTA?HRT$<&B~lfmK)cnUyyy2Nx;d{sk%j%vs)ail!ZTCrKAn9wye; zlM6o08~c@1V(CG0p;hz7e$C5}y7A;;(luz|=XF)typ~KQ*ODvqo<+wR%QK6Wv+tPs*Agp>o=NK( zbeMP4zRk5IR~hEQ)zy=a5)Zu9llz8wRT+4cTw6*#an+GW%qr$zyyLxV85vh@G8#8W zo%5YETURpnTNl~+s#ei6X6FkB_Al4)?-`cuS<<=9#g)zFx#XJ9v0ga5NM-kWf?g+L z`~1NZO7dX=x)Lv7W;HE%4a#dR;ia;}ECY&qpLt0875#h#o`OI^OIe4|4(qQ!Q9ND& z!(xf`o3ZJ5{G(W=S~Q(vnL34{?d_yo(HIvSt$9 zDkdxMLPxf%8QZY}4Ug@n^I~<6JIJg2yg`TIN~?AHcxN7HKoo7a;>>88#w$x(F4`sc zz$dh1J)o7Op2oHXp2hW;=zDmy?erg+6c ziqM!3SM&6uoI5->P6YU_qg~)lS2{w^RjVsHQZG2!h9<+PcSK-0*pAzMouu90+0@~0 z4|TS8c6N5jsQp@JU*}Ngh>Sp9>A=1XE_FA_s3YV`VAFA}yN}E6e56IjLbx>|;c!Hv zZS7c6B1G=+Ur0e1JsA@jlg_RPe0Fz5e1RTJx+4B-vOD_JUL5R;G+me75p1-sh}4f; zBfcAW0FY2rcE?wkV1ZzfV2NOvUkhgdY&ROj=fn@Q?_9;DKQ0ez7{XnHp6xc5M5elFnLQPm{hUg)c`j8KWLzDs@pwy2-LJO!-D@M(5 zUrne-X~PI=0kwBv)B(S`I=e9H>c*%Wj=UN5p=*?eknVo1Cdd!2VYyeqXbkr$0@CsI zu-Kx7rPlti9O*?jA~ztJDLeqX8N*TV(eWVc@+KaFTKo_X!x#FG@d!k^g-0Q?Pw^O{ z=nfu-$ak?0Nha__SR9xPOVLTp{Xz#o(}s)ZieaT2Vwu%hvC3D6+}hC=p%k; zA0yF+6zr1_rZ@!m62xH%i7F0ANVCrfD2Jzz}lp2QhS(|Gz;JUtUne;QBUj;HU$(x#ey{dcT`Rm-+f&zySG1`Va@Ends#Z6U#$Lw( zIeHUCDsYF6(lehZM&AOKUeurHPt%Fjdt#3dIPjlu-!95ZsI_NF2~CCXE1}iU=Srxg zK2ZJ)|2gNUEMQ4)hO^vWzQ2qLe(y{b0b?S&$`p_9U)9d#$J6=uflKX?i0<5Zd0X-QUFGX%sc_*`u@jk6@O5oZo7O?QcKH zNcW#$@#M7d6rzN9`WL)W&-eHRU;WoxQg0yuaG3J|;GJH5tkApDr|X42fLml)l>Qmm zaCX)jLFnuUJsW`)^xV-K6`F$1j^5O2TvNN$ysm3r>-Z=u)y}$?xccmeAAdjAGJ?=3 znC5>RYk{B4qY!WR$FXqO6VK5aM}OZ!AxZ%vsL)9CA{U^%^)Es2+%9cf;OBLE`>giY zsT~{>g6HV!=AefhU&fY@Z4VYQS zdam&DTAi0(KPzv^y@d$Cy_aRwceRYJpO;bPvW)h&6kbL>pw>hY3;ieYC;~z@L#b|m zby~|?t6$;TUmU%zo#ySf|9~!mP(Sol!CT=5FM=c#!3}-NxUn;!j~N3yQC&BpJA?X7 zV{m6k|IirP8P-2GhIdBvTgJ%FsQ#%jx-+KVF~)Yr^}ELSj;<#R9fA$WM3gEgaqU%B zsp(&*9BjX-MbTMQK2BAIS6NQVZzC!&cVGW*=rn!sht)$-jkwqNeI)4OF9CnS@tXb{ z%p+vwj2uOw5L6Th0XLAs>#YW3MuF3hN`fe<&@iJY{dNAEsC1nARsejk0spQ6A8NqA zZ@`Be@Rtqv2*<-7{u|t&7;RAewox(Gpg3w&jEkZuwSyx6O|6+zJc??m-(lgE`()Cu j&|`wrLp`U*pWrRhTe!wMa4T=;?!VbS1L1!F_)>;#ZT*5Q literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/Test.as new file mode 100644 index 000000000..81c1f5ff7 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/Test.as @@ -0,0 +1,26 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + + +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import TryCatchBlockPackage2.*; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + +var trythrow:TryAndCatchBlockWithUserDefinedErrors = new TryAndCatchBlockWithUserDefinedErrors(); +trythrow.MyTryThrowCatchFunction(); + + + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/TryCatchBlockPackage2/TryAndCatchBlockWithUserDefinedErrors.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/TryCatchBlockPackage2/TryAndCatchBlockWithUserDefinedErrors.as new file mode 100644 index 000000000..035c29b35 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/TryCatchBlockPackage2/TryAndCatchBlockWithUserDefinedErrors.as @@ -0,0 +1,35 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package TryCatchBlockPackage2 +{ + import UserDefinedErrorsPackageTryBlockOutside.*; +import com.adobe.test.Assert; + public class TryAndCatchBlockWithUserDefinedErrors + { + var b:Box = new Box(); + var someWidth:Number=-10; + thisError = "no error"; + + public function MyTryThrowCatchFunction():void + { + try { + b.setWidth(someWidth); + }catch(e:BoxOverflowException){ + thisError = e.message; + //trace("BoxOverflowException:"+thisError); + }catch(e1:BoxUnderzeroException){ + thisError=e1.message; + //trace("BoxUnderzeroException:"+thisError); + }catch(e2:BoxDimensionException){ + thisError = e2.message; + //trace("BoxDimensionException Occurred:"+thisError); + }catch(e3:Error){ + thisError=e3.message; + //trace("An error occurred:"+e3.toString()); + }finally{ + Assert.expectEq( "Testing try block and multiple catch blocks with custom error classes", "Box dimensions should be greater than 0",thisError ); + } + } + } +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/Box.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/Box.as new file mode 100644 index 000000000..cd7347fcd --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/Box.as @@ -0,0 +1,30 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageTryBlockOutside +{ +public class Box +{ + private var width:Number; + + public function setWidth(w):Boolean + { + var errmsg:String="Illegal Box Dimension specified"; + var errmsg2:String="Box dimensions should be greater than 0"; + var errmsg3:String="Box dimensions must be less than Number.MAX_VALUE"; + if (isNaN(w)) + { + throw new BoxDimensionException(errmsg); + }else if (w<= 0) + { + throw new BoxUnderzeroException(errmsg2); + }else if (w>Number.MAX_VALUE) + { + throw new BoxOverflowException(errmsg3); + } + + width = w; + + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as new file mode 100644 index 000000000..a0f7ea8f2 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as @@ -0,0 +1,13 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageTryBlockOutside { + +public class BoxDimensionException extends Error { + public function BoxDimensionException(boxErrMsg: String) { + super(boxErrMsg); + + } + +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as new file mode 100644 index 000000000..45616ecc7 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as @@ -0,0 +1,11 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageTryBlockOutside { + +public class BoxOverflowException extends BoxDimensionException { + public function BoxOverflowException(boxErrMsg3: String) { + super(boxErrMsg3); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as new file mode 100644 index 000000000..cb69ee993 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as @@ -0,0 +1,12 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageTryBlockOutside { + +public class BoxUnderzeroException extends BoxDimensionException { + + public function BoxUnderzeroException(boxErrMsg2: String) { + super(boxErrMsg2); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/output.txt new file mode 100644 index 000000000..c1ae79e27 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/output.txt @@ -0,0 +1 @@ +Testing try block and multiple catch blocks with custom error classes PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage2/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..74c1f3fef7111fe6361b72d4cbf97f8b4a47b89a GIT binary patch literal 3297 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 fcBmKZ_#NINy@eaR2eNumber.MAX_VALUE){ + throw new BoxOverflowException(errmsg3); + } + width = w; + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as new file mode 100644 index 000000000..a0f7ea8f2 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as @@ -0,0 +1,13 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageTryBlockOutside { + +public class BoxDimensionException extends Error { + public function BoxDimensionException(boxErrMsg: String) { + super(boxErrMsg); + + } + +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as new file mode 100644 index 000000000..45616ecc7 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as @@ -0,0 +1,11 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageTryBlockOutside { + +public class BoxOverflowException extends BoxDimensionException { + public function BoxOverflowException(boxErrMsg3: String) { + super(boxErrMsg3); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as new file mode 100644 index 000000000..cb69ee993 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as @@ -0,0 +1,12 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageTryBlockOutside { + +public class BoxUnderzeroException extends BoxDimensionException { + + public function BoxUnderzeroException(boxErrMsg2: String) { + super(boxErrMsg2); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/output.txt new file mode 100644 index 000000000..c1ae79e27 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/output.txt @@ -0,0 +1 @@ +Testing try block and multiple catch blocks with custom error classes PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..804f8ad5b536a68789a25b0bfd6346f5ed6028ac GIT binary patch literal 3301 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockPackage3/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/Test.as new file mode 100644 index 000000000..9fa191ce7 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/Test.as @@ -0,0 +1,26 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + + +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import TryCatchBlockUserWithBuiltInExceptions.*; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + +var trythrow:TryAndCatchBlockWithUserDefinedErrors = new TryAndCatchBlockWithUserDefinedErrors(); +trythrow.MyTryThrowCatchFunction(); + + + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/TryCatchBlockUserWithBuiltInExceptions/TryAndCatchBlockWithUserDefinedErrors.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/TryCatchBlockUserWithBuiltInExceptions/TryAndCatchBlockWithUserDefinedErrors.as new file mode 100644 index 000000000..735a6f18f --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/TryCatchBlockUserWithBuiltInExceptions/TryAndCatchBlockWithUserDefinedErrors.as @@ -0,0 +1,75 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package TryCatchBlockUserWithBuiltInExceptions +{ + import UserDefinedErrorsPackageTryBlockOutside.*; +import com.adobe.test.Assert; +import com.adobe.test.Utils; + public class TryAndCatchBlockWithUserDefinedErrors + { + var b:Box = new Box(); + var someWidth:Number=(Number.MAX_VALUE)*10; + var thisError = "no error"; + var thisError1 = "no error"; + var thisError2 = "no error"; + var thisError3 = "no error"; + var thisError4 = "no error"; + var thisError5 = "no error"; + var thisError6 = "no error"; + var thisError11 = "no error"; + var thisError8 = "no error"; + var thisError9 = "no error"; + var thisError10 ="no error"; + public function MyTryThrowCatchFunction():void + { + try { + b.setWidth(someWidth); + }catch(e:BoxOverflowException){ + thisError = e.message; + //trace("BoxOverflowException:"+thisError); + }catch(e1:BoxUnderzeroException){ + thisError1=e1.message; + //trace("BoxUnderzeroException:"+thisError1); + }catch(e2:BoxDimensionException){ + thisError2 = e2.message; + //trace("BoxDimensionException Occurred:"+thisError2); + }catch(e3:ReferenceError){ + thisError3=e.toString(); + //print(thisError3); + }catch(e4:TypeError){ + thisError4=e4.toString(); + //print(thisError4) + }catch(e5:ArgumentError){ + thisError5=e5.toString(); + //print(thisError5) + }catch(e6:URIError){ + thisError6=e6.toString(); + //print(thisError6) + }catch(e8:UninitializedError){ + thisError8=e8.toString(); + //print(thisError8) + }catch(e9:EvalError){ + thisError9=e9.toString(); + //print(thisError9) + }catch(e10:RangeError){ + thisError10=e10.toString(); + //print(thisError10) + }catch(e11:Error){ + //print(e11.toString()); + thisError11=e11.toString(); + }finally{//print("This Error is:"+thisError); + Assert.expectEq( "Testing try block and multiple catch blocks with custom error classes", "no error",thisError ); + Assert.expectEq( "Testing catch block with type error", + "no error",Utils.typeError(thisError4) ); + Assert.expectEq( "Testing catch block with Argument Error", "no error" ,thisError5); + Assert.expectEq( "Testing catch block with URIError", + "URIError: Error #1052",Utils.uriError(thisError6)); + Assert.expectEq( "Testing catch block with Eval Error", + "no error" ,thisError9); Assert.expectEq( "Testing catch block with Range Error", + "no error",thisError10); + Assert.expectEq( "Testing catch block with Error", "no error" ,thisError11); + } + } + } +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/Box.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/Box.as new file mode 100644 index 000000000..9d16e6271 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/Box.as @@ -0,0 +1,31 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageTryBlockOutside +{ +public class Box +{ + private var width:Number; + + public function setWidth(w):Boolean + { + var k:String = decodeURI("!@#$%^&*()<>?"); + eval(m); + var arr:Array=new Array(-10); + var MyString:String = MyString+1; + var errmsg:String="Illegal Box Dimension specified"; + var errmsg2:String="Box dimensions should be greater than 0"; + var errmsg3:String="Box dimensions must be less than Number.MAX_VALUE"; + if (isNaN(w)){ + throw new BoxDimensionException(errmsg); + }else if (w<= 0){ + throw new BoxUnderzeroException(errmsg2); + }else if (w>Number.MAX_VALUE){ + throw new BoxOverflowException(errmsg3); + } + + width = w; + + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as new file mode 100644 index 000000000..a0f7ea8f2 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/BoxDimensionException.as @@ -0,0 +1,13 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageTryBlockOutside { + +public class BoxDimensionException extends Error { + public function BoxDimensionException(boxErrMsg: String) { + super(boxErrMsg); + + } + +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as new file mode 100644 index 000000000..45616ecc7 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/BoxOverflowException.as @@ -0,0 +1,11 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageTryBlockOutside { + +public class BoxOverflowException extends BoxDimensionException { + public function BoxOverflowException(boxErrMsg3: String) { + super(boxErrMsg3); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as new file mode 100644 index 000000000..cb69ee993 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/UserDefinedErrorsPackageTryBlockOutside/BoxUnderzeroException.as @@ -0,0 +1,12 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageTryBlockOutside { + +public class BoxUnderzeroException extends BoxDimensionException { + + public function BoxUnderzeroException(boxErrMsg2: String) { + super(boxErrMsg2); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/output.txt new file mode 100644 index 000000000..0431042c2 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/output.txt @@ -0,0 +1,7 @@ +Testing try block and multiple catch blocks with custom error classes PASSED! +Testing catch block with type error PASSED! +Testing catch block with Argument Error PASSED! +Testing catch block with URIError PASSED! +Testing catch block with Eval Error PASSED! +Testing catch block with Range Error PASSED! +Testing catch block with Error PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..8799048db020a5008bcca73243250aff3e4d673a GIT binary patch literal 3895 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 F*9`Nal12ak literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/TryCatchBlockUserWithBuiltInExceptions/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/Test.as new file mode 100644 index 000000000..e8d165e0f --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/Test.as @@ -0,0 +1,26 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + + +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import UserDefinedErrorsInPackage.*; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + +var trythrow = new TryAndCatchBlockWithUserDefinedErrorsInPackage(); +trythrow.MyTryThrowCatchFunction(); + + + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/Box.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/Box.as new file mode 100644 index 000000000..4c8d1ac8a --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/Box.as @@ -0,0 +1,30 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsInPackage +{ +class Box +{ + private var width:Number; + + public function setWidth(w):Boolean + { + var errmsg:String="Illegal Box Dimension specified"; + var errmsg2:String="Box dimensions should be greater than 0"; + var errmsg3:String="Box dimensions must be less than Number.MAX_VALUE"; + if (isNaN(w)) + { + throw new BoxDimensionException(errmsg); + }else if (w<= 0) + { + throw new BoxUnderzeroException(errmsg2); + }else if (w>Number.MAX_VALUE) + { + throw new BoxOverflowException(errmsg3); + } + + width = w; + + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/BoxDimensionException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/BoxDimensionException.as new file mode 100644 index 000000000..10efa080b --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/BoxDimensionException.as @@ -0,0 +1,13 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsInPackage { + +public class BoxDimensionException extends Error { + public function BoxDimensionException(boxErrMsg: String) { + super(boxErrMsg); + + } + +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/BoxOverflowException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/BoxOverflowException.as new file mode 100644 index 000000000..9e0a11822 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/BoxOverflowException.as @@ -0,0 +1,11 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsInPackage { + +public class BoxOverflowException extends BoxDimensionException { + public function BoxOverflowException(boxErrMsg3: String) { + super(boxErrMsg3); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/BoxUnderzeroException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/BoxUnderzeroException.as new file mode 100644 index 000000000..210d1bb65 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/BoxUnderzeroException.as @@ -0,0 +1,12 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsInPackage { + +public class BoxUnderzeroException extends BoxDimensionException { + + public function BoxUnderzeroException(boxErrMsg2: String) { + super(boxErrMsg2); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/TryAndCatchBlockWithUserDefinedErrorsInPackage.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/TryAndCatchBlockWithUserDefinedErrorsInPackage.as new file mode 100644 index 000000000..b8cf5ffc8 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/UserDefinedErrorsInPackage/TryAndCatchBlockWithUserDefinedErrorsInPackage.as @@ -0,0 +1,39 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsInPackage +{ + import com.adobe.test.Assert; + public class TryAndCatchBlockWithUserDefinedErrorsInPackage + { + var b:Box = new Box(); + var someWidth:Number=-10; + thisError = "no error"; + + public function MyTryThrowCatchFunction():void + { + try { + b.setWidth(someWidth); + }catch(e:BoxOverflowException){ + thisError = e.message; + //print(thisError); + //trace("BoxOverflowException:"+thisError); + /*}catch(e1:BoxUnderzeroException){ + thisError=e1.message; + //print(thisError);*/ + //trace("BoxUnderzeroException:"+thisError); + }catch(e2:BoxDimensionException){ + thisError = e2.message; + //print(thisError); + //trace("BoxDimensionException Occurred:"+thisError()); + }catch(e3:Error){ + thisError=e3.message; + //print(e3.toString()); + //trace("An error occurred:"+e3.toString()); + }finally{ + Assert.expectEq( "Testing try block and multiple catch blocks with custom error classes", "Box dimensions should be greater than 0",thisError ); + } + } + } +} + diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/output.txt new file mode 100644 index 000000000..c1ae79e27 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/output.txt @@ -0,0 +1 @@ +Testing try block and multiple catch blocks with custom error classes PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..a457e708c3c55c298da5fe4c23c4e002b058c836 GIT binary patch literal 3248 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 literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsInPackage/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/Test.as new file mode 100644 index 000000000..b4337359d --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/Test.as @@ -0,0 +1,25 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + + +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import UserDefinedErrorsPackage.*; +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + +var trythrow:TryAndCatchBlockWithUserDefinedErrors = new TryAndCatchBlockWithUserDefinedErrors(); +trythrow.MyTryThrowCatchFunction(); + + + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/Box.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/Box.as new file mode 100644 index 000000000..203123af8 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/Box.as @@ -0,0 +1,29 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackage +{ +class Box +{ + private var width:Number; + + public function setWidth(w):Boolean + { + var errmsg:String="Illegal Box Dimension specified"; + var errmsg2:String="Box dimensions should be greater than 0"; + var errmsg3:String="Box dimensions must be less than Number.MAX_VALUE"; + if (w == NaN) + { + throw new BoxDimensionException(errmsg); + }else if (w<= 0) + { + throw new BoxUnderzeroException(errmsg2); + }else if (w>Number.MAX_VALUE) + { + throw new BoxOverflowException(errmsg3); + } + width = w; + + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/BoxDimensionException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/BoxDimensionException.as new file mode 100644 index 000000000..e2fc961dc --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/BoxDimensionException.as @@ -0,0 +1,13 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackage { + +public class BoxDimensionException extends Error { + public function BoxDimensionException(boxErrMsg: String) { + super(boxErrMsg); + + } + +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/BoxOverflowException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/BoxOverflowException.as new file mode 100644 index 000000000..708df469d --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/BoxOverflowException.as @@ -0,0 +1,11 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackage { + +public class BoxOverflowException extends BoxDimensionException { + public function BoxOverflowException(boxErrMsg3: String) { + super(boxErrMsg3); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/BoxUnderzeroException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/BoxUnderzeroException.as new file mode 100644 index 000000000..81d7de9de --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/BoxUnderzeroException.as @@ -0,0 +1,12 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackage { + +public class BoxUnderzeroException extends BoxDimensionException { + + public function BoxUnderzeroException(boxErrMsg2: String) { + super(boxErrMsg2); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/TryAndCatchBlockWithUserDefinedErrors.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/TryAndCatchBlockWithUserDefinedErrors.as new file mode 100644 index 000000000..34228ed45 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/UserDefinedErrorsPackage/TryAndCatchBlockWithUserDefinedErrors.as @@ -0,0 +1,37 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackage +{ + import com.adobe.test.Assert; + + public class TryAndCatchBlockWithUserDefinedErrors + { + var b:Box = new Box(); + var someWidth:Number=(Number.MAX_VALUE)*10; + thisError = "no error"; + + public function MyTryThrowCatchFunction():void + { + try { + b.setWidth(someWidth); + }catch(e:BoxOverflowException){ + thisError = e.message; + //trace("BoxOverflowException:"+thisError); + }catch(e1:BoxUnderzeroException){ + thisError=e1.message; + //trace("BoxUnderzeroException:"+thisError()); + }catch(e2:BoxDimensionException){ + thisError = e2.message; + //trace("BoxDimensionException Occurred:"+thisError()); + }catch(e3:Error){ + thisError = e3.toString(); + //trace("An error occurred:"+e3.toString()); + }finally{ + Assert.expectEq( "Testing try block and multiple catch blocks with custom error classes", "Box dimensions must be less than Number.MAX_VALUE",thisError ); + } + + } + } +} + diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/output.txt new file mode 100644 index 000000000..c1ae79e27 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/output.txt @@ -0,0 +1 @@ +Testing try block and multiple catch blocks with custom error classes PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..0b8f7b83e9a843f35f6922c040736dc171158e2c GIT binary patch literal 3275 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.MAX_VALUE) + { + throw new BoxOverflowException(errmsg3); + } + + width = w; + + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/BoxDimensionException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/BoxDimensionException.as new file mode 100644 index 000000000..3b18d93bd --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/BoxDimensionException.as @@ -0,0 +1,13 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackage2 { + +public class BoxDimensionException extends Error { + public function BoxDimensionException(boxErrMsg: String) { + super(boxErrMsg); + + } + +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/BoxOverflowException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/BoxOverflowException.as new file mode 100644 index 000000000..826e4c31d --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/BoxOverflowException.as @@ -0,0 +1,11 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackage2 { + +public class BoxOverflowException extends BoxDimensionException { + public function BoxOverflowException(boxErrMsg3: String) { + super(boxErrMsg3); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/BoxUnderzeroException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/BoxUnderzeroException.as new file mode 100644 index 000000000..38ee19159 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/BoxUnderzeroException.as @@ -0,0 +1,12 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackage2 { + +public class BoxUnderzeroException extends BoxDimensionException { + + public function BoxUnderzeroException(boxErrMsg2: String) { + super(boxErrMsg2); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/TryAndCatchBlockWithUserDefinedErrors2.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/TryAndCatchBlockWithUserDefinedErrors2.as new file mode 100644 index 000000000..63a832435 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/UserDefinedErrorsPackage2/TryAndCatchBlockWithUserDefinedErrors2.as @@ -0,0 +1,35 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackage2 +{ + import com.adobe.test.Assert; + public class TryAndCatchBlockWithUserDefinedErrors2 + { + var b:Box = new Box(); + var someWidth:Number=-10; + thisError = "no error"; + + public function MyTryThrowCatchFunction():void + { + try { + b.setWidth(someWidth); + }catch(e:BoxOverflowException){ + thisError = e.message; + //trace("BoxOverflowException:"+thisError); + }catch(e1:BoxUnderzeroException){ + thisError=e1.message; + //trace("BoxUnderzeroException:"+thisError); + }catch(e2:BoxDimensionException){ + thisError = e2.message; + //trace("BoxDimensionException Occurred:"+thisError); + }catch(e3:Error){ + thisError=e3.message; + //trace("An error occurred:"+e3.toString()); + }finally{ + Assert.expectEq( "Testing try block and multiple catch blocks with custom error classes", "Box dimensions should be greater than 0",thisError ); + } + } + } +} + diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/output.txt new file mode 100644 index 000000000..c1ae79e27 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/output.txt @@ -0,0 +1 @@ +Testing try block and multiple catch blocks with custom error classes PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..5f81260fd514de1819a91f70b5c70d7e40470fa8 GIT binary patch literal 3273 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 Hx=&?QSFv@m literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage2/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/Test.as new file mode 100644 index 000000000..cbc62e818 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/Test.as @@ -0,0 +1,26 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + + +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import UserDefinedErrorsPackage3.*; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + +var trythrow:TryAndCatchBlockWithUserDefinedErrors3 = new TryAndCatchBlockWithUserDefinedErrors3(); +trythrow.MyTryThrowCatchFunction(); + + + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/Box.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/Box.as new file mode 100644 index 000000000..29996344a --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/Box.as @@ -0,0 +1,25 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackage3 +{ +class Box +{ + private var width:Number; + + public function setWidth(w):Boolean + { + var errmsg:String="Illegal Box Dimension specified"; + var errmsg2:String="Box dimensions should be greater than 0"; + var errmsg3:String="Box dimensions must be less than Number.MAX_VALUE"; + if (isNaN(w)){ + throw new BoxDimensionException(errmsg); + }else if (w<= 0){ + throw new BoxUnderzeroException(errmsg2); + }else if (w>Number.MAX_VALUE){ + throw new BoxOverflowException(errmsg3); + } + width = w; + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/BoxDimensionException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/BoxDimensionException.as new file mode 100644 index 000000000..65d775d8f --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/BoxDimensionException.as @@ -0,0 +1,13 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackage3 { + +public class BoxDimensionException extends Error { + public function BoxDimensionException(boxErrMsg: String) { + super(boxErrMsg); + + } + +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/BoxOverflowException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/BoxOverflowException.as new file mode 100644 index 000000000..2b47eb734 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/BoxOverflowException.as @@ -0,0 +1,11 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackage3 { + +public class BoxOverflowException extends BoxDimensionException { + public function BoxOverflowException(boxErrMsg3: String) { + super(boxErrMsg3); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/BoxUnderzeroException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/BoxUnderzeroException.as new file mode 100644 index 000000000..d4c53122a --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/BoxUnderzeroException.as @@ -0,0 +1,12 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackage3 { + +public class BoxUnderzeroException extends BoxDimensionException { + + public function BoxUnderzeroException(boxErrMsg2: String) { + super(boxErrMsg2); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/TryAndCatchBlockWithUserDefinedErrors3.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/TryAndCatchBlockWithUserDefinedErrors3.as new file mode 100644 index 000000000..ec7b17670 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/UserDefinedErrorsPackage3/TryAndCatchBlockWithUserDefinedErrors3.as @@ -0,0 +1,36 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackage3 +{ + import com.adobe.test.Assert; + + public class TryAndCatchBlockWithUserDefinedErrors3 + { + var b:Box = new Box(); + var someWidth:Number=NaN; + thisError = "no error"; + + public function MyTryThrowCatchFunction():void + { + try { + b.setWidth(someWidth); + }catch(e:BoxOverflowException){ + thisError = e.message; + //trace("BoxOverflowException:"+thisError); + }catch(e1:BoxUnderzeroException){ + thisError=e1.message; + //trace("BoxUnderzeroException:"+thisError); + }catch(e2:BoxDimensionException){ + thisError = e2.message; + //trace("BoxDimensionException Occurred:"+thisError); + }catch(e3:Error){ + thisError = e3.message; + //trace("An error occurred:"+e3.toString()); + }finally{ + Assert.expectEq( "Testing try block and multiple catch blocks with custom error classes", "Illegal Box Dimension specified",thisError ); + } + } + } +} + diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/output.txt new file mode 100644 index 000000000..c1ae79e27 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/output.txt @@ -0,0 +1 @@ +Testing try block and multiple catch blocks with custom error classes PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..b40faa7bf08af1f8f63a079f1d3931acb380684a GIT binary patch literal 3276 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 KAp9>;&|-vvi%zcq literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackage3/test.toml @@ -0,0 +1 @@ +num_ticks = 1 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/Test.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/Test.as new file mode 100644 index 000000000..2efce30f9 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/Test.as @@ -0,0 +1,26 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + + +package { +import flash.display.MovieClip; +public class Test extends MovieClip {} +} + +import UserDefinedErrorsPackageWithoutMatchingCatch.*; + +// var SECTION = "Definitions"; // provide a document reference (ie, ECMA section) +// var VERSION = "AS3"; // Version of JavaScript or ECMA +// var TITLE = "Testing try block with multiple catch blocks"; // Provide ECMA section title or a description +var BUGNUMBER = ""; + + +var trythrow = new TryAndCatchBlockWithUserDefinedErrorsWithoutMatchingcatch(); +trythrow.MyTryThrowCatchFunction(); + + + + + // displays results. diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch/TryAndCatchBlockWithUserDefinedErrorsWithoutMatchingcatch.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch/TryAndCatchBlockWithUserDefinedErrorsWithoutMatchingcatch.as new file mode 100644 index 000000000..f7d8e336c --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch/TryAndCatchBlockWithUserDefinedErrorsWithoutMatchingcatch.as @@ -0,0 +1,37 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageWithoutMatchingCatch{ + + import UserDefinedErrorsPackageWithoutMatchingCatch2.*; +import com.adobe.test.Assert; + public class TryAndCatchBlockWithUserDefinedErrorsWithoutMatchingcatch + { + var b:Box = new Box(); + var someWidth:Number=-10; + thisError = "no error"; + + + public function MyTryThrowCatchFunction():void + { + try { + b.setWidth(someWidth); + }catch(e:BoxOverflowException){ + thisError = e.message; + //print(thisError); + //trace("BoxOverflowException:"+thisError); + + }catch(e2:BoxDimensionException){ + thisError = e2.message; + //print(thisError); + //trace("BoxDimensionException Occurred:"+thisError()); + }catch(e3:Error){ + thisError=e3.message; + //print(e3.toString()); + //trace("An error occurred:"+e3.toString()); + }finally{ + Assert.expectEq( "Testing try block and multiple catch blocks with custom error classes", "Box dimensions should be greater than 0",thisError ); + } + } + } +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/Box.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/Box.as new file mode 100644 index 000000000..b8fd0ced3 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/Box.as @@ -0,0 +1,30 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageWithoutMatchingCatch2 +{ +public class Box +{ + private var width:Number; + + public function setWidth(w):Boolean + { + var errmsg:String="Illegal Box Dimension specified"; + var errmsg2:String="Box dimensions should be greater than 0"; + var errmsg3:String="Box dimensions must be less than Number.MAX_VALUE"; + if (isNaN(w)) + { + throw new BoxDimensionException(errmsg); + }else if (w<= 0) + { + throw new BoxUnderzeroException(errmsg2); + }else if (w>Number.MAX_VALUE) + { + throw new BoxOverflowException(errmsg3); + } + + width = w; + + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/BoxDimensionException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/BoxDimensionException.as new file mode 100644 index 000000000..3adeddd16 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/BoxDimensionException.as @@ -0,0 +1,13 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageWithoutMatchingCatch2 { + +public class BoxDimensionException extends Error { + public function BoxDimensionException(boxErrMsg: String) { + super(boxErrMsg); + + } + +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/BoxOverflowException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/BoxOverflowException.as new file mode 100644 index 000000000..44000d357 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/BoxOverflowException.as @@ -0,0 +1,11 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageWithoutMatchingCatch2 { + +public class BoxOverflowException extends BoxDimensionException { + public function BoxOverflowException(boxErrMsg3: String) { + super(boxErrMsg3); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/BoxUnderzeroException.as b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/BoxUnderzeroException.as new file mode 100644 index 000000000..eb60c55a6 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/UserDefinedErrorsPackageWithoutMatchingCatch2/BoxUnderzeroException.as @@ -0,0 +1,12 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +package UserDefinedErrorsPackageWithoutMatchingCatch2 { + +public class BoxUnderzeroException extends BoxDimensionException { + + public function BoxUnderzeroException(boxErrMsg2: String) { + super(boxErrMsg2); + } +} +} diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/config.xml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/config.xml new file mode 100644 index 000000000..736f11c10 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/config.xml @@ -0,0 +1,13 @@ + + + + . + ../../../../lib + + false + false + false + false + + test.swf + \ No newline at end of file diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/output.txt b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/output.txt new file mode 100644 index 000000000..c1ae79e27 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/output.txt @@ -0,0 +1 @@ +Testing try block and multiple catch blocks with custom error classes PASSED! diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/test.swf b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..69ab8190adf8c4c93158f0195131a69763ade893 GIT binary patch literal 3278 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 MeFVh+0h9Er*5&4JP5=M^ literal 0 HcmV?d00001 diff --git a/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/test.toml b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/test.toml new file mode 100644 index 000000000..cf6123969 --- /dev/null +++ b/tests/tests/swfs/avm2/from_avmplus/as3/Statements/Exceptions/UserDefinedErrorsPackageWithoutMatchingCatch/test.toml @@ -0,0 +1 @@ +num_ticks = 1