From 2d1c60e02eb74ddd937c7f11d2f0054cb82cacbb Mon Sep 17 00:00:00 2001 From: Adrian Wielgosik <4729533+adrian17@users.noreply.github.com> Date: Sat, 20 Mar 2021 22:49:55 +0100 Subject: [PATCH] avm1: Fix binary operators not returning signed values Also enabled AVM2 test that was forgotten before. --- core/src/avm1/activation.rs | 12 +- core/tests/regression_tests.rs | 5 + core/tests/swfs/avm1/bitand/output.txt | 1058 ++++++++++++++++++++++++ core/tests/swfs/avm1/bitand/test.fla | Bin 0 -> 173568 bytes core/tests/swfs/avm1/bitand/test.swf | Bin 0 -> 4586 bytes core/tests/swfs/avm1/bitor/output.txt | 1058 ++++++++++++++++++++++++ core/tests/swfs/avm1/bitor/test.fla | Bin 0 -> 87040 bytes core/tests/swfs/avm1/bitor/test.swf | Bin 0 -> 4593 bytes core/tests/swfs/avm1/bitxor/output.txt | 1058 ++++++++++++++++++++++++ core/tests/swfs/avm1/bitxor/test.fla | Bin 0 -> 173568 bytes core/tests/swfs/avm1/bitxor/test.swf | Bin 0 -> 4595 bytes 11 files changed, 3185 insertions(+), 6 deletions(-) create mode 100644 core/tests/swfs/avm1/bitand/output.txt create mode 100644 core/tests/swfs/avm1/bitand/test.fla create mode 100644 core/tests/swfs/avm1/bitand/test.swf create mode 100644 core/tests/swfs/avm1/bitor/output.txt create mode 100644 core/tests/swfs/avm1/bitor/test.fla create mode 100644 core/tests/swfs/avm1/bitor/test.swf create mode 100644 core/tests/swfs/avm1/bitxor/output.txt create mode 100644 core/tests/swfs/avm1/bitxor/test.fla create mode 100644 core/tests/swfs/avm1/bitxor/test.swf diff --git a/core/src/avm1/activation.rs b/core/src/avm1/activation.rs index 24361505b..c661586c2 100644 --- a/core/src/avm1/activation.rs +++ b/core/src/avm1/activation.rs @@ -709,8 +709,8 @@ impl<'a, 'gc, 'gc_context> Activation<'a, 'gc, 'gc_context> { } fn action_bit_and(&mut self) -> Result, Error<'gc>> { - let a = self.context.avm1.pop().coerce_to_u32(self)?; - let b = self.context.avm1.pop().coerce_to_u32(self)?; + let a = self.context.avm1.pop().coerce_to_i32(self)?; + let b = self.context.avm1.pop().coerce_to_i32(self)?; let result = a & b; self.context.avm1.push(result); Ok(FrameControl::Continue) @@ -725,8 +725,8 @@ impl<'a, 'gc, 'gc_context> Activation<'a, 'gc, 'gc_context> { } fn action_bit_or(&mut self) -> Result, Error<'gc>> { - let a = self.context.avm1.pop().coerce_to_u32(self)?; - let b = self.context.avm1.pop().coerce_to_u32(self)?; + let a = self.context.avm1.pop().coerce_to_i32(self)?; + let b = self.context.avm1.pop().coerce_to_i32(self)?; let result = a | b; self.context.avm1.push(result); Ok(FrameControl::Continue) @@ -749,8 +749,8 @@ impl<'a, 'gc, 'gc_context> Activation<'a, 'gc, 'gc_context> { } fn action_bit_xor(&mut self) -> Result, Error<'gc>> { - let a = self.context.avm1.pop().coerce_to_u32(self)?; - let b = self.context.avm1.pop().coerce_to_u32(self)?; + let a = self.context.avm1.pop().coerce_to_i32(self)?; + let b = self.context.avm1.pop().coerce_to_i32(self)?; let result = b ^ a; self.context.avm1.push(result); Ok(FrameControl::Continue) diff --git a/core/tests/regression_tests.rs b/core/tests/regression_tests.rs index 2257ae101..10fdee274 100644 --- a/core/tests/regression_tests.rs +++ b/core/tests/regression_tests.rs @@ -86,6 +86,9 @@ swf_tests! { (as_broadcaster, "avm1/as_broadcaster", 1), (as_broadcaster_initialize, "avm1/as_broadcaster_initialize", 1), (attach_movie, "avm1/attach_movie", 1), + (as2_bitor, "avm1/bitor", 1), + (as2_bitand, "avm1/bitand", 1), + (as2_bitxor, "avm1/bitxor", 1), (function_base_clip, "avm1/function_base_clip", 2), (call, "avm1/call", 2), (color, "avm1/color", 1), @@ -400,8 +403,10 @@ swf_tests! { (target_path, "avm1/target_path", 1), (remove_movie_clip, "avm1/remove_movie_clip", 2), (as3_add, "avm2/add", 1), + (as3_bitor, "avm2/bitor", 1), (as3_bitand, "avm2/bitand", 1), (as3_bitnot, "avm2/bitnot", 1), + (as3_bitxor, "avm2/bitxor", 1), (as3_declocal, "avm2/declocal", 1), (as3_declocal_i, "avm2/declocal_i", 1), (as3_decrement, "avm2/decrement", 1), diff --git a/core/tests/swfs/avm1/bitand/output.txt b/core/tests/swfs/avm1/bitand/output.txt new file mode 100644 index 000000000..9d03062e4 --- /dev/null +++ b/core/tests/swfs/avm1/bitand/output.txt @@ -0,0 +1,1058 @@ +//true & true +1 +//false & true +0 +//null & true +0 +//undefined & true +0 +//"" & true +0 +//"str" & true +0 +//"true" & true +0 +//"false" & true +0 +//0.0 & true +0 +//NaN & true +0 +//-0.0 & true +0 +//Infinity & true +0 +//1.0 & true +1 +//-1.0 & true +1 +//0xFF1306 & true +0 +//new Object() & true +0 +//"0.0" & true +0 +//"NaN" & true +0 +//"-0.0" & true +0 +//"Infinity" & true +0 +//"1.0" & true +1 +//"-1.0" & true +1 +//"0xFF1306" & true +0 +//true & false +0 +//false & false +0 +//null & false +0 +//undefined & false +0 +//"" & false +0 +//"str" & false +0 +//"true" & false +0 +//"false" & false +0 +//0.0 & false +0 +//NaN & false +0 +//-0.0 & false +0 +//Infinity & false +0 +//1.0 & false +0 +//-1.0 & false +0 +//0xFF1306 & false +0 +//new Object() & false +0 +//"0.0" & false +0 +//"NaN" & false +0 +//"-0.0" & false +0 +//"Infinity" & false +0 +//"1.0" & false +0 +//"-1.0" & false +0 +//"0xFF1306" & false +0 +//true & null +0 +//false & null +0 +//null & null +0 +//undefined & null +0 +//"" & null +0 +//"str" & null +0 +//"true" & null +0 +//"false" & null +0 +//0.0 & null +0 +//NaN & null +0 +//-0.0 & null +0 +//Infinity & null +0 +//1.0 & null +0 +//-1.0 & null +0 +//0xFF1306 & null +0 +//new Object() & null +0 +//"0.0" & null +0 +//"NaN" & null +0 +//"-0.0" & null +0 +//"Infinity" & null +0 +//"1.0" & null +0 +//"-1.0" & null +0 +//"0xFF1306" & null +0 +//true & undefined +0 +//false & undefined +0 +//null & undefined +0 +//undefined & undefined +0 +//"" & undefined +0 +//"str" & undefined +0 +//"true" & undefined +0 +//"false" & undefined +0 +//0.0 & undefined +0 +//NaN & undefined +0 +//-0.0 & undefined +0 +//Infinity & undefined +0 +//1.0 & undefined +0 +//-1.0 & undefined +0 +//0xFF1306 & undefined +0 +//new Object() & undefined +0 +//"0.0" & undefined +0 +//"NaN" & undefined +0 +//"-0.0" & undefined +0 +//"Infinity" & undefined +0 +//"1.0" & undefined +0 +//"-1.0" & undefined +0 +//"0xFF1306" & undefined +0 +//true & "" +0 +//false & "" +0 +//null & "" +0 +//undefined & "" +0 +//"" & "" +0 +//"str" & "" +0 +//"true" & "" +0 +//"false" & "" +0 +//0.0 & "" +0 +//NaN & "" +0 +//-0.0 & "" +0 +//Infinity & "" +0 +//1.0 & "" +0 +//-1.0 & "" +0 +//0xFF1306 & "" +0 +//new Object() & "" +0 +//"0.0" & "" +0 +//"NaN" & "" +0 +//"-0.0" & "" +0 +//"Infinity" & "" +0 +//"1.0" & "" +0 +//"-1.0" & "" +0 +//"0xFF1306" & "" +0 +//true & "str" +0 +//false & "str" +0 +//null & "str" +0 +//undefined & "str" +0 +//"" & "str" +0 +//"str" & "str" +0 +//"true" & "str" +0 +//"false" & "str" +0 +//0.0 & "str" +0 +//NaN & "str" +0 +//-0.0 & "str" +0 +//Infinity & "str" +0 +//1.0 & "str" +0 +//-1.0 & "str" +0 +//0xFF1306 & "str" +0 +//new Object() & "str" +0 +//"0.0" & "str" +0 +//"NaN" & "str" +0 +//"-0.0" & "str" +0 +//"Infinity" & "str" +0 +//"1.0" & "str" +0 +//"-1.0" & "str" +0 +//"0xFF1306" & "str" +0 +//true & "true" +0 +//false & "true" +0 +//null & "true" +0 +//undefined & "true" +0 +//"" & "true" +0 +//"str" & "true" +0 +//"true" & "true" +0 +//"false" & "true" +0 +//0.0 & "true" +0 +//NaN & "true" +0 +//-0.0 & "true" +0 +//Infinity & "true" +0 +//1.0 & "true" +0 +//-1.0 & "true" +0 +//0xFF1306 & "true" +0 +//new Object() & "true" +0 +//"0.0" & "true" +0 +//"NaN" & "true" +0 +//"-0.0" & "true" +0 +//"Infinity" & "true" +0 +//"1.0" & "true" +0 +//"-1.0" & "true" +0 +//"0xFF1306" & "true" +0 +//true & "false" +0 +//false & "false" +0 +//null & "false" +0 +//undefined & "false" +0 +//"" & "false" +0 +//"str" & "false" +0 +//"true" & "false" +0 +//"false" & "false" +0 +//0.0 & "false" +0 +//NaN & "false" +0 +//-0.0 & "false" +0 +//Infinity & "false" +0 +//1.0 & "false" +0 +//-1.0 & "false" +0 +//0xFF1306 & "false" +0 +//new Object() & "false" +0 +//"0.0" & "false" +0 +//"NaN" & "false" +0 +//"-0.0" & "false" +0 +//"Infinity" & "false" +0 +//"1.0" & "false" +0 +//"-1.0" & "false" +0 +//"0xFF1306" & "false" +0 +//true & 0.0 +0 +//false & 0.0 +0 +//null & 0.0 +0 +//undefined & 0.0 +0 +//"" & 0.0 +0 +//"str" & 0.0 +0 +//"true" & 0.0 +0 +//"false" & 0.0 +0 +//0.0 & 0.0 +0 +//NaN & 0.0 +0 +//-0.0 & 0.0 +0 +//Infinity & 0.0 +0 +//1.0 & 0.0 +0 +//-1.0 & 0.0 +0 +//0xFF1306 & 0.0 +0 +//new Object() & 0.0 +0 +//"0.0" & 0.0 +0 +//"NaN" & 0.0 +0 +//"-0.0" & 0.0 +0 +//"Infinity" & 0.0 +0 +//"1.0" & 0.0 +0 +//"-1.0" & 0.0 +0 +//"0xFF1306" & 0.0 +0 +//true & NaN +0 +//false & NaN +0 +//null & NaN +0 +//undefined & NaN +0 +//"" & NaN +0 +//"str" & NaN +0 +//"true" & NaN +0 +//"false" & NaN +0 +//0.0 & NaN +0 +//NaN & NaN +0 +//-0.0 & NaN +0 +//Infinity & NaN +0 +//1.0 & NaN +0 +//-1.0 & NaN +0 +//0xFF1306 & NaN +0 +//new Object() & NaN +0 +//"0.0" & NaN +0 +//"NaN" & NaN +0 +//"-0.0" & NaN +0 +//"Infinity" & NaN +0 +//"1.0" & NaN +0 +//"-1.0" & NaN +0 +//"0xFF1306" & NaN +0 +//true & -0.0 +0 +//false & -0.0 +0 +//null & -0.0 +0 +//undefined & -0.0 +0 +//"" & -0.0 +0 +//"str" & -0.0 +0 +//"true" & -0.0 +0 +//"false" & -0.0 +0 +//0.0 & -0.0 +0 +//NaN & -0.0 +0 +//-0.0 & -0.0 +0 +//Infinity & -0.0 +0 +//1.0 & -0.0 +0 +//-1.0 & -0.0 +0 +//0xFF1306 & -0.0 +0 +//new Object() & -0.0 +0 +//"0.0" & -0.0 +0 +//"NaN" & -0.0 +0 +//"-0.0" & -0.0 +0 +//"Infinity" & -0.0 +0 +//"1.0" & -0.0 +0 +//"-1.0" & -0.0 +0 +//"0xFF1306" & -0.0 +0 +//true & Infinity +0 +//false & Infinity +0 +//null & Infinity +0 +//undefined & Infinity +0 +//"" & Infinity +0 +//"str" & Infinity +0 +//"true" & Infinity +0 +//"false" & Infinity +0 +//0.0 & Infinity +0 +//NaN & Infinity +0 +//-0.0 & Infinity +0 +//Infinity & Infinity +0 +//1.0 & Infinity +0 +//-1.0 & Infinity +0 +//0xFF1306 & Infinity +0 +//new Object() & Infinity +0 +//"0.0" & Infinity +0 +//"NaN" & Infinity +0 +//"-0.0" & Infinity +0 +//"Infinity" & Infinity +0 +//"1.0" & Infinity +0 +//"-1.0" & Infinity +0 +//"0xFF1306" & Infinity +0 +//true & 1.0 +1 +//false & 1.0 +0 +//null & 1.0 +0 +//undefined & 1.0 +0 +//"" & 1.0 +0 +//"str" & 1.0 +0 +//"true" & 1.0 +0 +//"false" & 1.0 +0 +//0.0 & 1.0 +0 +//NaN & 1.0 +0 +//-0.0 & 1.0 +0 +//Infinity & 1.0 +0 +//1.0 & 1.0 +1 +//-1.0 & 1.0 +1 +//0xFF1306 & 1.0 +0 +//new Object() & 1.0 +0 +//"0.0" & 1.0 +0 +//"NaN" & 1.0 +0 +//"-0.0" & 1.0 +0 +//"Infinity" & 1.0 +0 +//"1.0" & 1.0 +1 +//"-1.0" & 1.0 +1 +//"0xFF1306" & 1.0 +0 +//true & -1.0 +1 +//false & -1.0 +0 +//null & -1.0 +0 +//undefined & -1.0 +0 +//"" & -1.0 +0 +//"str" & -1.0 +0 +//"true" & -1.0 +0 +//"false" & -1.0 +0 +//0.0 & -1.0 +0 +//NaN & -1.0 +0 +//-0.0 & -1.0 +0 +//Infinity & -1.0 +0 +//1.0 & -1.0 +1 +//-1.0 & -1.0 +-1 +//0xFF1306 & -1.0 +16716550 +//new Object() & -1.0 +0 +//"0.0" & -1.0 +0 +//"NaN" & -1.0 +0 +//"-0.0" & -1.0 +0 +//"Infinity" & -1.0 +0 +//"1.0" & -1.0 +1 +//"-1.0" & -1.0 +-1 +//"0xFF1306" & -1.0 +16716550 +//true & 0xFF1306 +0 +//false & 0xFF1306 +0 +//null & 0xFF1306 +0 +//undefined & 0xFF1306 +0 +//"" & 0xFF1306 +0 +//"str" & 0xFF1306 +0 +//"true" & 0xFF1306 +0 +//"false" & 0xFF1306 +0 +//0.0 & 0xFF1306 +0 +//NaN & 0xFF1306 +0 +//-0.0 & 0xFF1306 +0 +//Infinity & 0xFF1306 +0 +//1.0 & 0xFF1306 +0 +//-1.0 & 0xFF1306 +16716550 +//0xFF1306 & 0xFF1306 +16716550 +//new Object() & 0xFF1306 +0 +//"0.0" & 0xFF1306 +0 +//"NaN" & 0xFF1306 +0 +//"-0.0" & 0xFF1306 +0 +//"Infinity" & 0xFF1306 +0 +//"1.0" & 0xFF1306 +0 +//"-1.0" & 0xFF1306 +16716550 +//"0xFF1306" & 0xFF1306 +16716550 +//true & new Object() +0 +//false & new Object() +0 +//null & new Object() +0 +//undefined & new Object() +0 +//"" & new Object() +0 +//"str" & new Object() +0 +//"true" & new Object() +0 +//"false" & new Object() +0 +//0.0 & new Object() +0 +//NaN & new Object() +0 +//-0.0 & new Object() +0 +//Infinity & new Object() +0 +//1.0 & new Object() +0 +//-1.0 & new Object() +0 +//0xFF1306 & new Object() +0 +//new Object() & new Object() +0 +//"0.0" & new Object() +0 +//"NaN" & new Object() +0 +//"-0.0" & new Object() +0 +//"Infinity" & new Object() +0 +//"1.0" & new Object() +0 +//"-1.0" & new Object() +0 +//"0xFF1306" & new Object() +0 +//true & "0.0" +0 +//false & "0.0" +0 +//null & "0.0" +0 +//undefined & "0.0" +0 +//"" & "0.0" +0 +//"str" & "0.0" +0 +//"true" & "0.0" +0 +//"false" & "0.0" +0 +//0.0 & "0.0" +0 +//NaN & "0.0" +0 +//-0.0 & "0.0" +0 +//Infinity & "0.0" +0 +//1.0 & "0.0" +0 +//-1.0 & "0.0" +0 +//0xFF1306 & "0.0" +0 +//new Object() & "0.0" +0 +//"0.0" & "0.0" +0 +//"NaN" & "0.0" +0 +//"-0.0" & "0.0" +0 +//"Infinity" & "0.0" +0 +//"1.0" & "0.0" +0 +//"-1.0" & "0.0" +0 +//"0xFF1306" & "0.0" +0 +//true & "NaN" +0 +//false & "NaN" +0 +//null & "NaN" +0 +//undefined & "NaN" +0 +//"" & "NaN" +0 +//"str" & "NaN" +0 +//"true" & "NaN" +0 +//"false" & "NaN" +0 +//0.0 & "NaN" +0 +//NaN & "NaN" +0 +//-0.0 & "NaN" +0 +//Infinity & "NaN" +0 +//1.0 & "NaN" +0 +//-1.0 & "NaN" +0 +//0xFF1306 & "NaN" +0 +//new Object() & "NaN" +0 +//"0.0" & "NaN" +0 +//"NaN" & "NaN" +0 +//"-0.0" & "NaN" +0 +//"Infinity" & "NaN" +0 +//"1.0" & "NaN" +0 +//"-1.0" & "NaN" +0 +//"0xFF1306" & "NaN" +0 +//true & "-0.0" +0 +//false & "-0.0" +0 +//null & "-0.0" +0 +//undefined & "-0.0" +0 +//"" & "-0.0" +0 +//"str" & "-0.0" +0 +//"true" & "-0.0" +0 +//"false" & "-0.0" +0 +//0.0 & "-0.0" +0 +//NaN & "-0.0" +0 +//-0.0 & "-0.0" +0 +//Infinity & "-0.0" +0 +//1.0 & "-0.0" +0 +//-1.0 & "-0.0" +0 +//0xFF1306 & "-0.0" +0 +//new Object() & "-0.0" +0 +//"0.0" & "-0.0" +0 +//"NaN" & "-0.0" +0 +//"-0.0" & "-0.0" +0 +//"Infinity" & "-0.0" +0 +//"1.0" & "-0.0" +0 +//"-1.0" & "-0.0" +0 +//"0xFF1306" & "-0.0" +0 +//true & "Infinity" +0 +//false & "Infinity" +0 +//null & "Infinity" +0 +//undefined & "Infinity" +0 +//"" & "Infinity" +0 +//"str" & "Infinity" +0 +//"true" & "Infinity" +0 +//"false" & "Infinity" +0 +//0.0 & "Infinity" +0 +//NaN & "Infinity" +0 +//-0.0 & "Infinity" +0 +//Infinity & "Infinity" +0 +//1.0 & "Infinity" +0 +//-1.0 & "Infinity" +0 +//0xFF1306 & "Infinity" +0 +//new Object() & "Infinity" +0 +//"0.0" & "Infinity" +0 +//"NaN" & "Infinity" +0 +//"-0.0" & "Infinity" +0 +//"Infinity" & "Infinity" +0 +//"1.0" & "Infinity" +0 +//"-1.0" & "Infinity" +0 +//"0xFF1306" & "Infinity" +0 +//true & "1.0" +1 +//false & "1.0" +0 +//null & "1.0" +0 +//undefined & "1.0" +0 +//"" & "1.0" +0 +//"str" & "1.0" +0 +//"true" & "1.0" +0 +//"false" & "1.0" +0 +//0.0 & "1.0" +0 +//NaN & "1.0" +0 +//-0.0 & "1.0" +0 +//Infinity & "1.0" +0 +//1.0 & "1.0" +1 +//-1.0 & "1.0" +1 +//0xFF1306 & "1.0" +0 +//new Object() & "1.0" +0 +//"0.0" & "1.0" +0 +//"NaN" & "1.0" +0 +//"-0.0" & "1.0" +0 +//"Infinity" & "1.0" +0 +//"1.0" & "1.0" +1 +//"-1.0" & "1.0" +1 +//"0xFF1306" & "1.0" +0 +//true & "-1.0" +1 +//false & "-1.0" +0 +//null & "-1.0" +0 +//undefined & "-1.0" +0 +//"" & "-1.0" +0 +//"str" & "-1.0" +0 +//"true" & "-1.0" +0 +//"false" & "-1.0" +0 +//0.0 & "-1.0" +0 +//NaN & "-1.0" +0 +//-0.0 & "-1.0" +0 +//Infinity & "-1.0" +0 +//1.0 & "-1.0" +1 +//-1.0 & "-1.0" +-1 +//0xFF1306 & "-1.0" +16716550 +//new Object() & "-1.0" +0 +//"0.0" & "-1.0" +0 +//"NaN" & "-1.0" +0 +//"-0.0" & "-1.0" +0 +//"Infinity" & "-1.0" +0 +//"1.0" & "-1.0" +1 +//"-1.0" & "-1.0" +-1 +//"0xFF1306" & "-1.0" +16716550 +//true & "0xFF1306" +0 +//false & "0xFF1306" +0 +//null & "0xFF1306" +0 +//undefined & "0xFF1306" +0 +//"" & "0xFF1306" +0 +//"str" & "0xFF1306" +0 +//"true" & "0xFF1306" +0 +//"false" & "0xFF1306" +0 +//0.0 & "0xFF1306" +0 +//NaN & "0xFF1306" +0 +//-0.0 & "0xFF1306" +0 +//Infinity & "0xFF1306" +0 +//1.0 & "0xFF1306" +0 +//-1.0 & "0xFF1306" +16716550 +//0xFF1306 & "0xFF1306" +16716550 +//new Object() & "0xFF1306" +0 +//"0.0" & "0xFF1306" +0 +//"NaN" & "0xFF1306" +0 +//"-0.0" & "0xFF1306" +0 +//"Infinity" & "0xFF1306" +0 +//"1.0" & "0xFF1306" +0 +//"-1.0" & "0xFF1306" +16716550 +//"0xFF1306" & "0xFF1306" +16716550 diff --git a/core/tests/swfs/avm1/bitand/test.fla b/core/tests/swfs/avm1/bitand/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..089cbd39a0570412d30f5d01ab65cef461a5baae GIT binary patch literal 173568 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 RzbY2^y8pi_X8l?L{lB-)?UDch literal 0 HcmV?d00001 diff --git a/core/tests/swfs/avm1/bitand/test.swf b/core/tests/swfs/avm1/bitand/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..558a758c9c20273cd5ee011dc129dd6f79629b1c GIT binary patch literal 4586 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 B*RlWr literal 0 HcmV?d00001 diff --git a/core/tests/swfs/avm1/bitor/output.txt b/core/tests/swfs/avm1/bitor/output.txt new file mode 100644 index 000000000..24af86a84 --- /dev/null +++ b/core/tests/swfs/avm1/bitor/output.txt @@ -0,0 +1,1058 @@ +//true | true +1 +//false | true +1 +//null | true +1 +//undefined | true +1 +//"" | true +1 +//"str" | true +1 +//"true" | true +1 +//"false" | true +1 +//0.0 | true +1 +//NaN | true +1 +//-0.0 | true +1 +//Infinity | true +1 +//1.0 | true +1 +//-1.0 | true +-1 +//0xFF1306 | true +16716551 +//new Object() | true +1 +//"0.0" | true +1 +//"NaN" | true +1 +//"-0.0" | true +1 +//"Infinity" | true +1 +//"1.0" | true +1 +//"-1.0" | true +-1 +//"0xFF1306" | true +16716551 +//true | false +1 +//false | false +0 +//null | false +0 +//undefined | false +0 +//"" | false +0 +//"str" | false +0 +//"true" | false +0 +//"false" | false +0 +//0.0 | false +0 +//NaN | false +0 +//-0.0 | false +0 +//Infinity | false +0 +//1.0 | false +1 +//-1.0 | false +-1 +//0xFF1306 | false +16716550 +//new Object() | false +0 +//"0.0" | false +0 +//"NaN" | false +0 +//"-0.0" | false +0 +//"Infinity" | false +0 +//"1.0" | false +1 +//"-1.0" | false +-1 +//"0xFF1306" | false +16716550 +//true | null +1 +//false | null +0 +//null | null +0 +//undefined | null +0 +//"" | null +0 +//"str" | null +0 +//"true" | null +0 +//"false" | null +0 +//0.0 | null +0 +//NaN | null +0 +//-0.0 | null +0 +//Infinity | null +0 +//1.0 | null +1 +//-1.0 | null +-1 +//0xFF1306 | null +16716550 +//new Object() | null +0 +//"0.0" | null +0 +//"NaN" | null +0 +//"-0.0" | null +0 +//"Infinity" | null +0 +//"1.0" | null +1 +//"-1.0" | null +-1 +//"0xFF1306" | null +16716550 +//true | undefined +1 +//false | undefined +0 +//null | undefined +0 +//undefined | undefined +0 +//"" | undefined +0 +//"str" | undefined +0 +//"true" | undefined +0 +//"false" | undefined +0 +//0.0 | undefined +0 +//NaN | undefined +0 +//-0.0 | undefined +0 +//Infinity | undefined +0 +//1.0 | undefined +1 +//-1.0 | undefined +-1 +//0xFF1306 | undefined +16716550 +//new Object() | undefined +0 +//"0.0" | undefined +0 +//"NaN" | undefined +0 +//"-0.0" | undefined +0 +//"Infinity" | undefined +0 +//"1.0" | undefined +1 +//"-1.0" | undefined +-1 +//"0xFF1306" | undefined +16716550 +//true | "" +1 +//false | "" +0 +//null | "" +0 +//undefined | "" +0 +//"" | "" +0 +//"str" | "" +0 +//"true" | "" +0 +//"false" | "" +0 +//0.0 | "" +0 +//NaN | "" +0 +//-0.0 | "" +0 +//Infinity | "" +0 +//1.0 | "" +1 +//-1.0 | "" +-1 +//0xFF1306 | "" +16716550 +//new Object() | "" +0 +//"0.0" | "" +0 +//"NaN" | "" +0 +//"-0.0" | "" +0 +//"Infinity" | "" +0 +//"1.0" | "" +1 +//"-1.0" | "" +-1 +//"0xFF1306" | "" +16716550 +//true | "str" +1 +//false | "str" +0 +//null | "str" +0 +//undefined | "str" +0 +//"" | "str" +0 +//"str" | "str" +0 +//"true" | "str" +0 +//"false" | "str" +0 +//0.0 | "str" +0 +//NaN | "str" +0 +//-0.0 | "str" +0 +//Infinity | "str" +0 +//1.0 | "str" +1 +//-1.0 | "str" +-1 +//0xFF1306 | "str" +16716550 +//new Object() | "str" +0 +//"0.0" | "str" +0 +//"NaN" | "str" +0 +//"-0.0" | "str" +0 +//"Infinity" | "str" +0 +//"1.0" | "str" +1 +//"-1.0" | "str" +-1 +//"0xFF1306" | "str" +16716550 +//true | "true" +1 +//false | "true" +0 +//null | "true" +0 +//undefined | "true" +0 +//"" | "true" +0 +//"str" | "true" +0 +//"true" | "true" +0 +//"false" | "true" +0 +//0.0 | "true" +0 +//NaN | "true" +0 +//-0.0 | "true" +0 +//Infinity | "true" +0 +//1.0 | "true" +1 +//-1.0 | "true" +-1 +//0xFF1306 | "true" +16716550 +//new Object() | "true" +0 +//"0.0" | "true" +0 +//"NaN" | "true" +0 +//"-0.0" | "true" +0 +//"Infinity" | "true" +0 +//"1.0" | "true" +1 +//"-1.0" | "true" +-1 +//"0xFF1306" | "true" +16716550 +//true | "false" +1 +//false | "false" +0 +//null | "false" +0 +//undefined | "false" +0 +//"" | "false" +0 +//"str" | "false" +0 +//"true" | "false" +0 +//"false" | "false" +0 +//0.0 | "false" +0 +//NaN | "false" +0 +//-0.0 | "false" +0 +//Infinity | "false" +0 +//1.0 | "false" +1 +//-1.0 | "false" +-1 +//0xFF1306 | "false" +16716550 +//new Object() | "false" +0 +//"0.0" | "false" +0 +//"NaN" | "false" +0 +//"-0.0" | "false" +0 +//"Infinity" | "false" +0 +//"1.0" | "false" +1 +//"-1.0" | "false" +-1 +//"0xFF1306" | "false" +16716550 +//true | 0.0 +1 +//false | 0.0 +0 +//null | 0.0 +0 +//undefined | 0.0 +0 +//"" | 0.0 +0 +//"str" | 0.0 +0 +//"true" | 0.0 +0 +//"false" | 0.0 +0 +//0.0 | 0.0 +0 +//NaN | 0.0 +0 +//-0.0 | 0.0 +0 +//Infinity | 0.0 +0 +//1.0 | 0.0 +1 +//-1.0 | 0.0 +-1 +//0xFF1306 | 0.0 +16716550 +//new Object() | 0.0 +0 +//"0.0" | 0.0 +0 +//"NaN" | 0.0 +0 +//"-0.0" | 0.0 +0 +//"Infinity" | 0.0 +0 +//"1.0" | 0.0 +1 +//"-1.0" | 0.0 +-1 +//"0xFF1306" | 0.0 +16716550 +//true | NaN +1 +//false | NaN +0 +//null | NaN +0 +//undefined | NaN +0 +//"" | NaN +0 +//"str" | NaN +0 +//"true" | NaN +0 +//"false" | NaN +0 +//0.0 | NaN +0 +//NaN | NaN +0 +//-0.0 | NaN +0 +//Infinity | NaN +0 +//1.0 | NaN +1 +//-1.0 | NaN +-1 +//0xFF1306 | NaN +16716550 +//new Object() | NaN +0 +//"0.0" | NaN +0 +//"NaN" | NaN +0 +//"-0.0" | NaN +0 +//"Infinity" | NaN +0 +//"1.0" | NaN +1 +//"-1.0" | NaN +-1 +//"0xFF1306" | NaN +16716550 +//true | -0.0 +1 +//false | -0.0 +0 +//null | -0.0 +0 +//undefined | -0.0 +0 +//"" | -0.0 +0 +//"str" | -0.0 +0 +//"true" | -0.0 +0 +//"false" | -0.0 +0 +//0.0 | -0.0 +0 +//NaN | -0.0 +0 +//-0.0 | -0.0 +0 +//Infinity | -0.0 +0 +//1.0 | -0.0 +1 +//-1.0 | -0.0 +-1 +//0xFF1306 | -0.0 +16716550 +//new Object() | -0.0 +0 +//"0.0" | -0.0 +0 +//"NaN" | -0.0 +0 +//"-0.0" | -0.0 +0 +//"Infinity" | -0.0 +0 +//"1.0" | -0.0 +1 +//"-1.0" | -0.0 +-1 +//"0xFF1306" | -0.0 +16716550 +//true | Infinity +1 +//false | Infinity +0 +//null | Infinity +0 +//undefined | Infinity +0 +//"" | Infinity +0 +//"str" | Infinity +0 +//"true" | Infinity +0 +//"false" | Infinity +0 +//0.0 | Infinity +0 +//NaN | Infinity +0 +//-0.0 | Infinity +0 +//Infinity | Infinity +0 +//1.0 | Infinity +1 +//-1.0 | Infinity +-1 +//0xFF1306 | Infinity +16716550 +//new Object() | Infinity +0 +//"0.0" | Infinity +0 +//"NaN" | Infinity +0 +//"-0.0" | Infinity +0 +//"Infinity" | Infinity +0 +//"1.0" | Infinity +1 +//"-1.0" | Infinity +-1 +//"0xFF1306" | Infinity +16716550 +//true | 1.0 +1 +//false | 1.0 +1 +//null | 1.0 +1 +//undefined | 1.0 +1 +//"" | 1.0 +1 +//"str" | 1.0 +1 +//"true" | 1.0 +1 +//"false" | 1.0 +1 +//0.0 | 1.0 +1 +//NaN | 1.0 +1 +//-0.0 | 1.0 +1 +//Infinity | 1.0 +1 +//1.0 | 1.0 +1 +//-1.0 | 1.0 +-1 +//0xFF1306 | 1.0 +16716551 +//new Object() | 1.0 +1 +//"0.0" | 1.0 +1 +//"NaN" | 1.0 +1 +//"-0.0" | 1.0 +1 +//"Infinity" | 1.0 +1 +//"1.0" | 1.0 +1 +//"-1.0" | 1.0 +-1 +//"0xFF1306" | 1.0 +16716551 +//true | -1.0 +-1 +//false | -1.0 +-1 +//null | -1.0 +-1 +//undefined | -1.0 +-1 +//"" | -1.0 +-1 +//"str" | -1.0 +-1 +//"true" | -1.0 +-1 +//"false" | -1.0 +-1 +//0.0 | -1.0 +-1 +//NaN | -1.0 +-1 +//-0.0 | -1.0 +-1 +//Infinity | -1.0 +-1 +//1.0 | -1.0 +-1 +//-1.0 | -1.0 +-1 +//0xFF1306 | -1.0 +-1 +//new Object() | -1.0 +-1 +//"0.0" | -1.0 +-1 +//"NaN" | -1.0 +-1 +//"-0.0" | -1.0 +-1 +//"Infinity" | -1.0 +-1 +//"1.0" | -1.0 +-1 +//"-1.0" | -1.0 +-1 +//"0xFF1306" | -1.0 +-1 +//true | 0xFF1306 +16716551 +//false | 0xFF1306 +16716550 +//null | 0xFF1306 +16716550 +//undefined | 0xFF1306 +16716550 +//"" | 0xFF1306 +16716550 +//"str" | 0xFF1306 +16716550 +//"true" | 0xFF1306 +16716550 +//"false" | 0xFF1306 +16716550 +//0.0 | 0xFF1306 +16716550 +//NaN | 0xFF1306 +16716550 +//-0.0 | 0xFF1306 +16716550 +//Infinity | 0xFF1306 +16716550 +//1.0 | 0xFF1306 +16716551 +//-1.0 | 0xFF1306 +-1 +//0xFF1306 | 0xFF1306 +16716550 +//new Object() | 0xFF1306 +16716550 +//"0.0" | 0xFF1306 +16716550 +//"NaN" | 0xFF1306 +16716550 +//"-0.0" | 0xFF1306 +16716550 +//"Infinity" | 0xFF1306 +16716550 +//"1.0" | 0xFF1306 +16716551 +//"-1.0" | 0xFF1306 +-1 +//"0xFF1306" | 0xFF1306 +16716550 +//true | new Object() +1 +//false | new Object() +0 +//null | new Object() +0 +//undefined | new Object() +0 +//"" | new Object() +0 +//"str" | new Object() +0 +//"true" | new Object() +0 +//"false" | new Object() +0 +//0.0 | new Object() +0 +//NaN | new Object() +0 +//-0.0 | new Object() +0 +//Infinity | new Object() +0 +//1.0 | new Object() +1 +//-1.0 | new Object() +-1 +//0xFF1306 | new Object() +16716550 +//new Object() | new Object() +0 +//"0.0" | new Object() +0 +//"NaN" | new Object() +0 +//"-0.0" | new Object() +0 +//"Infinity" | new Object() +0 +//"1.0" | new Object() +1 +//"-1.0" | new Object() +-1 +//"0xFF1306" | new Object() +16716550 +//true | "0.0" +1 +//false | "0.0" +0 +//null | "0.0" +0 +//undefined | "0.0" +0 +//"" | "0.0" +0 +//"str" | "0.0" +0 +//"true" | "0.0" +0 +//"false" | "0.0" +0 +//0.0 | "0.0" +0 +//NaN | "0.0" +0 +//-0.0 | "0.0" +0 +//Infinity | "0.0" +0 +//1.0 | "0.0" +1 +//-1.0 | "0.0" +-1 +//0xFF1306 | "0.0" +16716550 +//new Object() | "0.0" +0 +//"0.0" | "0.0" +0 +//"NaN" | "0.0" +0 +//"-0.0" | "0.0" +0 +//"Infinity" | "0.0" +0 +//"1.0" | "0.0" +1 +//"-1.0" | "0.0" +-1 +//"0xFF1306" | "0.0" +16716550 +//true | "NaN" +1 +//false | "NaN" +0 +//null | "NaN" +0 +//undefined | "NaN" +0 +//"" | "NaN" +0 +//"str" | "NaN" +0 +//"true" | "NaN" +0 +//"false" | "NaN" +0 +//0.0 | "NaN" +0 +//NaN | "NaN" +0 +//-0.0 | "NaN" +0 +//Infinity | "NaN" +0 +//1.0 | "NaN" +1 +//-1.0 | "NaN" +-1 +//0xFF1306 | "NaN" +16716550 +//new Object() | "NaN" +0 +//"0.0" | "NaN" +0 +//"NaN" | "NaN" +0 +//"-0.0" | "NaN" +0 +//"Infinity" | "NaN" +0 +//"1.0" | "NaN" +1 +//"-1.0" | "NaN" +-1 +//"0xFF1306" | "NaN" +16716550 +//true | "-0.0" +1 +//false | "-0.0" +0 +//null | "-0.0" +0 +//undefined | "-0.0" +0 +//"" | "-0.0" +0 +//"str" | "-0.0" +0 +//"true" | "-0.0" +0 +//"false" | "-0.0" +0 +//0.0 | "-0.0" +0 +//NaN | "-0.0" +0 +//-0.0 | "-0.0" +0 +//Infinity | "-0.0" +0 +//1.0 | "-0.0" +1 +//-1.0 | "-0.0" +-1 +//0xFF1306 | "-0.0" +16716550 +//new Object() | "-0.0" +0 +//"0.0" | "-0.0" +0 +//"NaN" | "-0.0" +0 +//"-0.0" | "-0.0" +0 +//"Infinity" | "-0.0" +0 +//"1.0" | "-0.0" +1 +//"-1.0" | "-0.0" +-1 +//"0xFF1306" | "-0.0" +16716550 +//true | "Infinity" +1 +//false | "Infinity" +0 +//null | "Infinity" +0 +//undefined | "Infinity" +0 +//"" | "Infinity" +0 +//"str" | "Infinity" +0 +//"true" | "Infinity" +0 +//"false" | "Infinity" +0 +//0.0 | "Infinity" +0 +//NaN | "Infinity" +0 +//-0.0 | "Infinity" +0 +//Infinity | "Infinity" +0 +//1.0 | "Infinity" +1 +//-1.0 | "Infinity" +-1 +//0xFF1306 | "Infinity" +16716550 +//new Object() | "Infinity" +0 +//"0.0" | "Infinity" +0 +//"NaN" | "Infinity" +0 +//"-0.0" | "Infinity" +0 +//"Infinity" | "Infinity" +0 +//"1.0" | "Infinity" +1 +//"-1.0" | "Infinity" +-1 +//"0xFF1306" | "Infinity" +16716550 +//true | "1.0" +1 +//false | "1.0" +1 +//null | "1.0" +1 +//undefined | "1.0" +1 +//"" | "1.0" +1 +//"str" | "1.0" +1 +//"true" | "1.0" +1 +//"false" | "1.0" +1 +//0.0 | "1.0" +1 +//NaN | "1.0" +1 +//-0.0 | "1.0" +1 +//Infinity | "1.0" +1 +//1.0 | "1.0" +1 +//-1.0 | "1.0" +-1 +//0xFF1306 | "1.0" +16716551 +//new Object() | "1.0" +1 +//"0.0" | "1.0" +1 +//"NaN" | "1.0" +1 +//"-0.0" | "1.0" +1 +//"Infinity" | "1.0" +1 +//"1.0" | "1.0" +1 +//"-1.0" | "1.0" +-1 +//"0xFF1306" | "1.0" +16716551 +//true | "-1.0" +-1 +//false | "-1.0" +-1 +//null | "-1.0" +-1 +//undefined | "-1.0" +-1 +//"" | "-1.0" +-1 +//"str" | "-1.0" +-1 +//"true" | "-1.0" +-1 +//"false" | "-1.0" +-1 +//0.0 | "-1.0" +-1 +//NaN | "-1.0" +-1 +//-0.0 | "-1.0" +-1 +//Infinity | "-1.0" +-1 +//1.0 | "-1.0" +-1 +//-1.0 | "-1.0" +-1 +//0xFF1306 | "-1.0" +-1 +//new Object() | "-1.0" +-1 +//"0.0" | "-1.0" +-1 +//"NaN" | "-1.0" +-1 +//"-0.0" | "-1.0" +-1 +//"Infinity" | "-1.0" +-1 +//"1.0" | "-1.0" +-1 +//"-1.0" | "-1.0" +-1 +//"0xFF1306" | "-1.0" +-1 +//true | "0xFF1306" +16716551 +//false | "0xFF1306" +16716550 +//null | "0xFF1306" +16716550 +//undefined | "0xFF1306" +16716550 +//"" | "0xFF1306" +16716550 +//"str" | "0xFF1306" +16716550 +//"true" | "0xFF1306" +16716550 +//"false" | "0xFF1306" +16716550 +//0.0 | "0xFF1306" +16716550 +//NaN | "0xFF1306" +16716550 +//-0.0 | "0xFF1306" +16716550 +//Infinity | "0xFF1306" +16716550 +//1.0 | "0xFF1306" +16716551 +//-1.0 | "0xFF1306" +-1 +//0xFF1306 | "0xFF1306" +16716550 +//new Object() | "0xFF1306" +16716550 +//"0.0" | "0xFF1306" +16716550 +//"NaN" | "0xFF1306" +16716550 +//"-0.0" | "0xFF1306" +16716550 +//"Infinity" | "0xFF1306" +16716550 +//"1.0" | "0xFF1306" +16716551 +//"-1.0" | "0xFF1306" +-1 +//"0xFF1306" | "0xFF1306" +16716550 diff --git a/core/tests/swfs/avm1/bitor/test.fla b/core/tests/swfs/avm1/bitor/test.fla new file mode 100644 index 0000000000000000000000000000000000000000..eaac449f795975761b38f4e5a96f8abdc22e5fa8 GIT binary patch literal 87040 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 literal 0 HcmV?d00001 diff --git a/core/tests/swfs/avm1/bitor/test.swf b/core/tests/swfs/avm1/bitor/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..41f51e12831541e6a84bab9e5ef92e6f424b1125 GIT binary patch literal 4593 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 S_FoeVe8c}=6SIE3fc{_iSg*bS literal 0 HcmV?d00001 diff --git a/core/tests/swfs/avm1/bitxor/test.swf b/core/tests/swfs/avm1/bitxor/test.swf new file mode 100644 index 0000000000000000000000000000000000000000..c5baccd8ba623ee2f55ac3add1787adc20cf04a0 GIT binary patch literal 4595 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 Oa%)Mav`=Wt>i-A+v9E{# literal 0 HcmV?d00001