From e40229d90be0538f66d77c8f36eb4484b2c07c17 Mon Sep 17 00:00:00 2001 From: EmperorBale Date: Sun, 18 Sep 2022 20:03:29 -0700 Subject: [PATCH] tests: Add test for ByteArray.writeObject --- tests/tests/regression_tests.rs | 1 + .../swfs/avm2/bytearray_writeobject/Test.as | 40 ++++++++++++++++++ .../avm2/bytearray_writeobject/output.txt | 24 +++++++++++ .../swfs/avm2/bytearray_writeobject/test.fla | Bin 0 -> 5121 bytes .../swfs/avm2/bytearray_writeobject/test.swf | Bin 0 -> 991 bytes 5 files changed, 65 insertions(+) create mode 100644 tests/tests/swfs/avm2/bytearray_writeobject/Test.as create mode 100644 tests/tests/swfs/avm2/bytearray_writeobject/output.txt create mode 100644 tests/tests/swfs/avm2/bytearray_writeobject/test.fla create mode 100644 tests/tests/swfs/avm2/bytearray_writeobject/test.swf diff --git a/tests/tests/regression_tests.rs b/tests/tests/regression_tests.rs index dc4289734..6017ec5e1 100644 --- a/tests/tests/regression_tests.rs +++ b/tests/tests/regression_tests.rs @@ -211,6 +211,7 @@ swf_tests! { (as3_boolean_tostring, "avm2/boolean_tostring", 1), (as3_bytearray_readobject_amf0, "avm2/bytearray_readobject_amf0", 1), (as3_bytearray_readobject_amf3, "avm2/bytearray_readobject_amf3", 1), + (as3_bytearray_writeobject, "avm2/bytearray_writeobject", 1), (as3_bytearray, "avm2/bytearray", 1), (as3_class_call, "avm2/class_call", 1), (as3_class_cast_call, "avm2/class_cast_call", 1), diff --git a/tests/tests/swfs/avm2/bytearray_writeobject/Test.as b/tests/tests/swfs/avm2/bytearray_writeobject/Test.as new file mode 100644 index 000000000..aeda31f85 --- /dev/null +++ b/tests/tests/swfs/avm2/bytearray_writeobject/Test.as @@ -0,0 +1,40 @@ +package +{ + import flash.utils.ByteArray; + public class Test + { + var TESTS = [ + undefined, + null, + false, + true, + 4, + 4.5, + Infinity, + -Infinity, + NaN, + "test" + ]; + + public function testValue(value) { + var ba = new ByteArray(); + ba.writeObject(value); + ba.position = 0; + trace(ba.readObject()); + } + public function runTests() { + for each(var val in TESTS) { + testValue(val); + } + testValue(TESTS); + } + public function Test() + { + trace("AMF3 TESTS"); + runTests(); + ByteArray.defaultObjectEncoding = 0; + trace("AMF0 TESTS"); + runTests(); + } + } +} \ No newline at end of file diff --git a/tests/tests/swfs/avm2/bytearray_writeobject/output.txt b/tests/tests/swfs/avm2/bytearray_writeobject/output.txt new file mode 100644 index 000000000..db8e542ca --- /dev/null +++ b/tests/tests/swfs/avm2/bytearray_writeobject/output.txt @@ -0,0 +1,24 @@ +AMF3 TESTS +undefined +null +false +true +4 +4.5 +Infinity +-Infinity +NaN +test +,,false,true,4,4.5,Infinity,-Infinity,NaN,test +AMF0 TESTS +undefined +null +false +true +4 +4.5 +Infinity +-Infinity +NaN +test +,,false,true,4,4.5,Infinity,-Infinity,NaN,test diff --git a/tests/tests/swfs/avm2/bytearray_writeobject/test.fla b/tests/tests/swfs/avm2/bytearray_writeobject/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..2fa7217466b6775940583a91284c6874b7ec4ba9 GIT binary patch literal 5121 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 N15fb*_#0P@vG~Xc=bHck literal 0 HcmV?d00001