diff --git a/core/tests/regression_tests.rs b/core/tests/regression_tests.rs index 6bd18407a..c9658b70b 100644 --- a/core/tests/regression_tests.rs +++ b/core/tests/regression_tests.rs @@ -67,8 +67,17 @@ swf_tests! { #[ignore] (extends_chain, "avm1/extends_chain", 1), (is_prototype_of, "avm1/is_prototype_of", 1), #[ignore] (string_coercion, "avm1/string_coercion", 1), - (lessthan_swf6, "avm1/lessthan_swf6", 1), - (lessthan_swf7, "avm1/lessthan_swf7", 1), + (lessthan_swf4, "avm1/lessthan_swf4", 1), + (lessthan2_swf5, "avm1/lessthan2_swf5", 1), + (lessthan2_swf6, "avm1/lessthan2_swf6", 1), + (lessthan2_swf7, "avm1/lessthan2_swf7", 1), + (greater_swf6, "avm1/greater_swf6", 1), + (greater_swf7, "avm1/greater_swf7", 1), + (equals_swf4, "avm1/equals_swf4", 1), + (equals2_swf5, "avm1/equals2_swf5", 1), + (equals2_swf6, "avm1/equals2_swf6", 1), + (equals2_swf7, "avm1/equals2_swf7", 1), + (strictequals_swf6, "avm1/strictequals_swf6", 1), } #[test] @@ -90,13 +99,7 @@ fn test_swf(swf_path: &str, num_frames: u32, expected_output_path: &str) -> Resu let expected_output = std::fs::read_to_string(expected_output_path)?.replace("\r\n", "\n"); let trace_log = run_swf(swf_path, num_frames)?; - if trace_log != expected_output { - println!( - "Ruffle output:\n{}\nExpected output:\n{}", - trace_log, expected_output - ); - panic!("Ruffle output did not match expected output."); - } + assert_eq!(expected_output, trace_log, "expected_output == trace_log"); Ok(()) } diff --git a/core/tests/swfs/avm1/equals2_swf5/output.txt b/core/tests/swfs/avm1/equals2_swf5/output.txt new file mode 100644 index 000000000..9bfb7c33f --- /dev/null +++ b/core/tests/swfs/avm1/equals2_swf5/output.txt @@ -0,0 +1,903 @@ +// true == true: +true + +// true == false: +false +false + +// true == "true": +false +false + +// true == "false": +false +false + +// true == 1: +true +true + +// true == "1": +true +true + +// true == 0: +false +false + +// true == "0": +false +false + +// true == this: +false +false + +// true == _global: +false +false + +// true == 0.000: +false +false + +// true == "0.000": +false +false + +// true == "True": +false +false + +// true == "False": +false +false + +// true == undefined: +false +false + +// true == null: +false +false + +// true == 2.0: +false +false + +// true == -2.0: +false +false + +// true == NaN: +false +false + +// true == Infinity: +false +false + +// true == -Infinity: +false +false + +// false == false: +true + +// false == "true": +false +false + +// false == "false": +false +false + +// false == 1: +false +false + +// false == "1": +false +false + +// false == 0: +true +true + +// false == "0": +true +true + +// false == this: +false +false + +// false == _global: +false +false + +// false == 0.000: +true +true + +// false == "0.000": +true +true + +// false == "True": +false +false + +// false == "False": +false +false + +// false == undefined: +false +false + +// false == null: +false +false + +// false == 2.0: +false +false + +// false == -2.0: +false +false + +// false == NaN: +false +false + +// false == Infinity: +false +false + +// false == -Infinity: +false +false + +// "true" == "true": +true + +// "true" == "false": +false +false + +// "true" == 1: +false +false + +// "true" == "1": +false +false + +// "true" == 0: +false +false + +// "true" == "0": +false +false + +// "true" == this: +false +false + +// "true" == _global: +false +false + +// "true" == 0.000: +false +false + +// "true" == "0.000": +false +false + +// "true" == "True": +false +false + +// "true" == "False": +false +false + +// "true" == undefined: +false +false + +// "true" == null: +false +false + +// "true" == 2.0: +false +false + +// "true" == -2.0: +false +false + +// "true" == NaN: +false +false + +// "true" == Infinity: +false +false + +// "true" == -Infinity: +false +false + +// "false" == "false": +true + +// "false" == 1: +false +false + +// "false" == "1": +false +false + +// "false" == 0: +false +false + +// "false" == "0": +false +false + +// "false" == this: +false +false + +// "false" == _global: +false +false + +// "false" == 0.000: +false +false + +// "false" == "0.000": +false +false + +// "false" == "True": +false +false + +// "false" == "False": +false +false + +// "false" == undefined: +false +false + +// "false" == null: +false +false + +// "false" == 2.0: +false +false + +// "false" == -2.0: +false +false + +// "false" == NaN: +false +false + +// "false" == Infinity: +false +false + +// "false" == -Infinity: +false +false + +// 1 == 1: +true + +// 1 == "1": +true +true + +// 1 == 0: +false +false + +// 1 == "0": +false +false + +// 1 == this: +false +false + +// 1 == _global: +false +false + +// 1 == 0.000: +false +false + +// 1 == "0.000": +false +false + +// 1 == "True": +false +false + +// 1 == "False": +false +false + +// 1 == undefined: +false +false + +// 1 == null: +false +false + +// 1 == 2.0: +false +false + +// 1 == -2.0: +false +false + +// 1 == NaN: +false +false + +// 1 == Infinity: +false +false + +// 1 == -Infinity: +false +false + +// "1" == "1": +true + +// "1" == 0: +false +false + +// "1" == "0": +false +false + +// "1" == this: +false +false + +// "1" == _global: +false +false + +// "1" == 0.000: +false +false + +// "1" == "0.000": +false +false + +// "1" == "True": +false +false + +// "1" == "False": +false +false + +// "1" == undefined: +false +false + +// "1" == null: +false +false + +// "1" == 2.0: +false +false + +// "1" == -2.0: +false +false + +// "1" == NaN: +false +false + +// "1" == Infinity: +false +false + +// "1" == -Infinity: +false +false + +// 0 == 0: +true + +// 0 == "0": +true +true + +// 0 == this: +false +false + +// 0 == _global: +false +false + +// 0 == 0.000: +true +true + +// 0 == "0.000": +true +true + +// 0 == "True": +false +false + +// 0 == "False": +false +false + +// 0 == undefined: +false +false + +// 0 == null: +false +false + +// 0 == 2.0: +false +false + +// 0 == -2.0: +false +false + +// 0 == NaN: +false +false + +// 0 == Infinity: +false +false + +// 0 == -Infinity: +false +false + +// "0" == "0": +true + +// "0" == this: +false +false + +// "0" == _global: +false +false + +// "0" == 0.000: +true +true + +// "0" == "0.000": +false +false + +// "0" == "True": +false +false + +// "0" == "False": +false +false + +// "0" == undefined: +false +false + +// "0" == null: +false +false + +// "0" == 2.0: +false +false + +// "0" == -2.0: +false +false + +// "0" == NaN: +false +false + +// "0" == Infinity: +false +false + +// "0" == -Infinity: +false +false + +// this == this: +true + +// this == _global: +false +false + +// this == 0.000: +false +false + +// this == "0.000": +false +false + +// this == "True": +false +false + +// this == "False": +false +false + +// this == undefined: +false +false + +// this == null: +false +false + +// this == 2.0: +false +false + +// this == -2.0: +false +false + +// this == NaN: +false +false + +// this == Infinity: +false +false + +// this == -Infinity: +false +false + +// _global == _global: +true + +// _global == 0.000: +false +false + +// _global == "0.000": +false +false + +// _global == "True": +false +false + +// _global == "False": +false +false + +// _global == undefined: +true +true + +// _global == null: +true +true + +// _global == 2.0: +false +false + +// _global == -2.0: +false +false + +// _global == NaN: +false +false + +// _global == Infinity: +false +false + +// _global == -Infinity: +false +false + +// 0.000 == 0.000: +true + +// 0.000 == "0.000": +true +true + +// 0.000 == "True": +false +false + +// 0.000 == "False": +false +false + +// 0.000 == undefined: +false +false + +// 0.000 == null: +false +false + +// 0.000 == 2.0: +false +false + +// 0.000 == -2.0: +false +false + +// 0.000 == NaN: +false +false + +// 0.000 == Infinity: +false +false + +// 0.000 == -Infinity: +false +false + +// "0.000" == "0.000": +true + +// "0.000" == "True": +false +false + +// "0.000" == "False": +false +false + +// "0.000" == undefined: +false +false + +// "0.000" == null: +false +false + +// "0.000" == 2.0: +false +false + +// "0.000" == -2.0: +false +false + +// "0.000" == NaN: +false +false + +// "0.000" == Infinity: +false +false + +// "0.000" == -Infinity: +false +false + +// "True" == "True": +true + +// "True" == "False": +false +false + +// "True" == undefined: +false +false + +// "True" == null: +false +false + +// "True" == 2.0: +false +false + +// "True" == -2.0: +false +false + +// "True" == NaN: +false +false + +// "True" == Infinity: +false +false + +// "True" == -Infinity: +false +false + +// "False" == "False": +true + +// "False" == undefined: +false +false + +// "False" == null: +false +false + +// "False" == 2.0: +false +false + +// "False" == -2.0: +false +false + +// "False" == NaN: +false +false + +// "False" == Infinity: +false +false + +// "False" == -Infinity: +false +false + +// undefined == undefined: +true + +// undefined == null: +true +true + +// undefined == 2.0: +false +false + +// undefined == -2.0: +false +false + +// undefined == NaN: +false +false + +// undefined == Infinity: +false +false + +// undefined == -Infinity: +false +false + +// null == null: +true + +// null == 2.0: +false +false + +// null == -2.0: +false +false + +// null == NaN: +false +false + +// null == Infinity: +false +false + +// null == -Infinity: +false +false + +// 2.0 == 2.0: +true + +// 2.0 == -2.0: +false +false + +// 2.0 == NaN: +false +false + +// 2.0 == Infinity: +false +false + +// 2.0 == -Infinity: +false +false + +// -2.0 == -2.0: +true + +// -2.0 == NaN: +false +false + +// -2.0 == Infinity: +false +false + +// -2.0 == -Infinity: +false +false + +// NaN == NaN: +false + +// NaN == Infinity: +false +false + +// NaN == -Infinity: +false +false + +// Infinity == Infinity: +true + +// Infinity == -Infinity: +false +false + +// -Infinity == -Infinity: +true + diff --git a/core/tests/swfs/avm1/equals2_swf5/test.fla b/core/tests/swfs/avm1/equals2_swf5/test.fla new file mode 100644 index 000000000..542b4e77b Binary files /dev/null and b/core/tests/swfs/avm1/equals2_swf5/test.fla differ diff --git a/core/tests/swfs/avm1/equals2_swf5/test.swf b/core/tests/swfs/avm1/equals2_swf5/test.swf new file mode 100644 index 000000000..eb6d2e101 Binary files /dev/null and b/core/tests/swfs/avm1/equals2_swf5/test.swf differ diff --git a/core/tests/swfs/avm1/equals2_swf6/output.txt b/core/tests/swfs/avm1/equals2_swf6/output.txt new file mode 100644 index 000000000..9bfb7c33f --- /dev/null +++ b/core/tests/swfs/avm1/equals2_swf6/output.txt @@ -0,0 +1,903 @@ +// true == true: +true + +// true == false: +false +false + +// true == "true": +false +false + +// true == "false": +false +false + +// true == 1: +true +true + +// true == "1": +true +true + +// true == 0: +false +false + +// true == "0": +false +false + +// true == this: +false +false + +// true == _global: +false +false + +// true == 0.000: +false +false + +// true == "0.000": +false +false + +// true == "True": +false +false + +// true == "False": +false +false + +// true == undefined: +false +false + +// true == null: +false +false + +// true == 2.0: +false +false + +// true == -2.0: +false +false + +// true == NaN: +false +false + +// true == Infinity: +false +false + +// true == -Infinity: +false +false + +// false == false: +true + +// false == "true": +false +false + +// false == "false": +false +false + +// false == 1: +false +false + +// false == "1": +false +false + +// false == 0: +true +true + +// false == "0": +true +true + +// false == this: +false +false + +// false == _global: +false +false + +// false == 0.000: +true +true + +// false == "0.000": +true +true + +// false == "True": +false +false + +// false == "False": +false +false + +// false == undefined: +false +false + +// false == null: +false +false + +// false == 2.0: +false +false + +// false == -2.0: +false +false + +// false == NaN: +false +false + +// false == Infinity: +false +false + +// false == -Infinity: +false +false + +// "true" == "true": +true + +// "true" == "false": +false +false + +// "true" == 1: +false +false + +// "true" == "1": +false +false + +// "true" == 0: +false +false + +// "true" == "0": +false +false + +// "true" == this: +false +false + +// "true" == _global: +false +false + +// "true" == 0.000: +false +false + +// "true" == "0.000": +false +false + +// "true" == "True": +false +false + +// "true" == "False": +false +false + +// "true" == undefined: +false +false + +// "true" == null: +false +false + +// "true" == 2.0: +false +false + +// "true" == -2.0: +false +false + +// "true" == NaN: +false +false + +// "true" == Infinity: +false +false + +// "true" == -Infinity: +false +false + +// "false" == "false": +true + +// "false" == 1: +false +false + +// "false" == "1": +false +false + +// "false" == 0: +false +false + +// "false" == "0": +false +false + +// "false" == this: +false +false + +// "false" == _global: +false +false + +// "false" == 0.000: +false +false + +// "false" == "0.000": +false +false + +// "false" == "True": +false +false + +// "false" == "False": +false +false + +// "false" == undefined: +false +false + +// "false" == null: +false +false + +// "false" == 2.0: +false +false + +// "false" == -2.0: +false +false + +// "false" == NaN: +false +false + +// "false" == Infinity: +false +false + +// "false" == -Infinity: +false +false + +// 1 == 1: +true + +// 1 == "1": +true +true + +// 1 == 0: +false +false + +// 1 == "0": +false +false + +// 1 == this: +false +false + +// 1 == _global: +false +false + +// 1 == 0.000: +false +false + +// 1 == "0.000": +false +false + +// 1 == "True": +false +false + +// 1 == "False": +false +false + +// 1 == undefined: +false +false + +// 1 == null: +false +false + +// 1 == 2.0: +false +false + +// 1 == -2.0: +false +false + +// 1 == NaN: +false +false + +// 1 == Infinity: +false +false + +// 1 == -Infinity: +false +false + +// "1" == "1": +true + +// "1" == 0: +false +false + +// "1" == "0": +false +false + +// "1" == this: +false +false + +// "1" == _global: +false +false + +// "1" == 0.000: +false +false + +// "1" == "0.000": +false +false + +// "1" == "True": +false +false + +// "1" == "False": +false +false + +// "1" == undefined: +false +false + +// "1" == null: +false +false + +// "1" == 2.0: +false +false + +// "1" == -2.0: +false +false + +// "1" == NaN: +false +false + +// "1" == Infinity: +false +false + +// "1" == -Infinity: +false +false + +// 0 == 0: +true + +// 0 == "0": +true +true + +// 0 == this: +false +false + +// 0 == _global: +false +false + +// 0 == 0.000: +true +true + +// 0 == "0.000": +true +true + +// 0 == "True": +false +false + +// 0 == "False": +false +false + +// 0 == undefined: +false +false + +// 0 == null: +false +false + +// 0 == 2.0: +false +false + +// 0 == -2.0: +false +false + +// 0 == NaN: +false +false + +// 0 == Infinity: +false +false + +// 0 == -Infinity: +false +false + +// "0" == "0": +true + +// "0" == this: +false +false + +// "0" == _global: +false +false + +// "0" == 0.000: +true +true + +// "0" == "0.000": +false +false + +// "0" == "True": +false +false + +// "0" == "False": +false +false + +// "0" == undefined: +false +false + +// "0" == null: +false +false + +// "0" == 2.0: +false +false + +// "0" == -2.0: +false +false + +// "0" == NaN: +false +false + +// "0" == Infinity: +false +false + +// "0" == -Infinity: +false +false + +// this == this: +true + +// this == _global: +false +false + +// this == 0.000: +false +false + +// this == "0.000": +false +false + +// this == "True": +false +false + +// this == "False": +false +false + +// this == undefined: +false +false + +// this == null: +false +false + +// this == 2.0: +false +false + +// this == -2.0: +false +false + +// this == NaN: +false +false + +// this == Infinity: +false +false + +// this == -Infinity: +false +false + +// _global == _global: +true + +// _global == 0.000: +false +false + +// _global == "0.000": +false +false + +// _global == "True": +false +false + +// _global == "False": +false +false + +// _global == undefined: +true +true + +// _global == null: +true +true + +// _global == 2.0: +false +false + +// _global == -2.0: +false +false + +// _global == NaN: +false +false + +// _global == Infinity: +false +false + +// _global == -Infinity: +false +false + +// 0.000 == 0.000: +true + +// 0.000 == "0.000": +true +true + +// 0.000 == "True": +false +false + +// 0.000 == "False": +false +false + +// 0.000 == undefined: +false +false + +// 0.000 == null: +false +false + +// 0.000 == 2.0: +false +false + +// 0.000 == -2.0: +false +false + +// 0.000 == NaN: +false +false + +// 0.000 == Infinity: +false +false + +// 0.000 == -Infinity: +false +false + +// "0.000" == "0.000": +true + +// "0.000" == "True": +false +false + +// "0.000" == "False": +false +false + +// "0.000" == undefined: +false +false + +// "0.000" == null: +false +false + +// "0.000" == 2.0: +false +false + +// "0.000" == -2.0: +false +false + +// "0.000" == NaN: +false +false + +// "0.000" == Infinity: +false +false + +// "0.000" == -Infinity: +false +false + +// "True" == "True": +true + +// "True" == "False": +false +false + +// "True" == undefined: +false +false + +// "True" == null: +false +false + +// "True" == 2.0: +false +false + +// "True" == -2.0: +false +false + +// "True" == NaN: +false +false + +// "True" == Infinity: +false +false + +// "True" == -Infinity: +false +false + +// "False" == "False": +true + +// "False" == undefined: +false +false + +// "False" == null: +false +false + +// "False" == 2.0: +false +false + +// "False" == -2.0: +false +false + +// "False" == NaN: +false +false + +// "False" == Infinity: +false +false + +// "False" == -Infinity: +false +false + +// undefined == undefined: +true + +// undefined == null: +true +true + +// undefined == 2.0: +false +false + +// undefined == -2.0: +false +false + +// undefined == NaN: +false +false + +// undefined == Infinity: +false +false + +// undefined == -Infinity: +false +false + +// null == null: +true + +// null == 2.0: +false +false + +// null == -2.0: +false +false + +// null == NaN: +false +false + +// null == Infinity: +false +false + +// null == -Infinity: +false +false + +// 2.0 == 2.0: +true + +// 2.0 == -2.0: +false +false + +// 2.0 == NaN: +false +false + +// 2.0 == Infinity: +false +false + +// 2.0 == -Infinity: +false +false + +// -2.0 == -2.0: +true + +// -2.0 == NaN: +false +false + +// -2.0 == Infinity: +false +false + +// -2.0 == -Infinity: +false +false + +// NaN == NaN: +false + +// NaN == Infinity: +false +false + +// NaN == -Infinity: +false +false + +// Infinity == Infinity: +true + +// Infinity == -Infinity: +false +false + +// -Infinity == -Infinity: +true + diff --git a/core/tests/swfs/avm1/equals2_swf6/test.fla b/core/tests/swfs/avm1/equals2_swf6/test.fla new file mode 100644 index 000000000..b1758a8fc Binary files /dev/null and b/core/tests/swfs/avm1/equals2_swf6/test.fla differ diff --git a/core/tests/swfs/avm1/equals2_swf6/test.swf b/core/tests/swfs/avm1/equals2_swf6/test.swf new file mode 100644 index 000000000..fa4a0d31d Binary files /dev/null and b/core/tests/swfs/avm1/equals2_swf6/test.swf differ diff --git a/core/tests/swfs/avm1/equals2_swf7/output.txt b/core/tests/swfs/avm1/equals2_swf7/output.txt new file mode 100644 index 000000000..9bfb7c33f --- /dev/null +++ b/core/tests/swfs/avm1/equals2_swf7/output.txt @@ -0,0 +1,903 @@ +// true == true: +true + +// true == false: +false +false + +// true == "true": +false +false + +// true == "false": +false +false + +// true == 1: +true +true + +// true == "1": +true +true + +// true == 0: +false +false + +// true == "0": +false +false + +// true == this: +false +false + +// true == _global: +false +false + +// true == 0.000: +false +false + +// true == "0.000": +false +false + +// true == "True": +false +false + +// true == "False": +false +false + +// true == undefined: +false +false + +// true == null: +false +false + +// true == 2.0: +false +false + +// true == -2.0: +false +false + +// true == NaN: +false +false + +// true == Infinity: +false +false + +// true == -Infinity: +false +false + +// false == false: +true + +// false == "true": +false +false + +// false == "false": +false +false + +// false == 1: +false +false + +// false == "1": +false +false + +// false == 0: +true +true + +// false == "0": +true +true + +// false == this: +false +false + +// false == _global: +false +false + +// false == 0.000: +true +true + +// false == "0.000": +true +true + +// false == "True": +false +false + +// false == "False": +false +false + +// false == undefined: +false +false + +// false == null: +false +false + +// false == 2.0: +false +false + +// false == -2.0: +false +false + +// false == NaN: +false +false + +// false == Infinity: +false +false + +// false == -Infinity: +false +false + +// "true" == "true": +true + +// "true" == "false": +false +false + +// "true" == 1: +false +false + +// "true" == "1": +false +false + +// "true" == 0: +false +false + +// "true" == "0": +false +false + +// "true" == this: +false +false + +// "true" == _global: +false +false + +// "true" == 0.000: +false +false + +// "true" == "0.000": +false +false + +// "true" == "True": +false +false + +// "true" == "False": +false +false + +// "true" == undefined: +false +false + +// "true" == null: +false +false + +// "true" == 2.0: +false +false + +// "true" == -2.0: +false +false + +// "true" == NaN: +false +false + +// "true" == Infinity: +false +false + +// "true" == -Infinity: +false +false + +// "false" == "false": +true + +// "false" == 1: +false +false + +// "false" == "1": +false +false + +// "false" == 0: +false +false + +// "false" == "0": +false +false + +// "false" == this: +false +false + +// "false" == _global: +false +false + +// "false" == 0.000: +false +false + +// "false" == "0.000": +false +false + +// "false" == "True": +false +false + +// "false" == "False": +false +false + +// "false" == undefined: +false +false + +// "false" == null: +false +false + +// "false" == 2.0: +false +false + +// "false" == -2.0: +false +false + +// "false" == NaN: +false +false + +// "false" == Infinity: +false +false + +// "false" == -Infinity: +false +false + +// 1 == 1: +true + +// 1 == "1": +true +true + +// 1 == 0: +false +false + +// 1 == "0": +false +false + +// 1 == this: +false +false + +// 1 == _global: +false +false + +// 1 == 0.000: +false +false + +// 1 == "0.000": +false +false + +// 1 == "True": +false +false + +// 1 == "False": +false +false + +// 1 == undefined: +false +false + +// 1 == null: +false +false + +// 1 == 2.0: +false +false + +// 1 == -2.0: +false +false + +// 1 == NaN: +false +false + +// 1 == Infinity: +false +false + +// 1 == -Infinity: +false +false + +// "1" == "1": +true + +// "1" == 0: +false +false + +// "1" == "0": +false +false + +// "1" == this: +false +false + +// "1" == _global: +false +false + +// "1" == 0.000: +false +false + +// "1" == "0.000": +false +false + +// "1" == "True": +false +false + +// "1" == "False": +false +false + +// "1" == undefined: +false +false + +// "1" == null: +false +false + +// "1" == 2.0: +false +false + +// "1" == -2.0: +false +false + +// "1" == NaN: +false +false + +// "1" == Infinity: +false +false + +// "1" == -Infinity: +false +false + +// 0 == 0: +true + +// 0 == "0": +true +true + +// 0 == this: +false +false + +// 0 == _global: +false +false + +// 0 == 0.000: +true +true + +// 0 == "0.000": +true +true + +// 0 == "True": +false +false + +// 0 == "False": +false +false + +// 0 == undefined: +false +false + +// 0 == null: +false +false + +// 0 == 2.0: +false +false + +// 0 == -2.0: +false +false + +// 0 == NaN: +false +false + +// 0 == Infinity: +false +false + +// 0 == -Infinity: +false +false + +// "0" == "0": +true + +// "0" == this: +false +false + +// "0" == _global: +false +false + +// "0" == 0.000: +true +true + +// "0" == "0.000": +false +false + +// "0" == "True": +false +false + +// "0" == "False": +false +false + +// "0" == undefined: +false +false + +// "0" == null: +false +false + +// "0" == 2.0: +false +false + +// "0" == -2.0: +false +false + +// "0" == NaN: +false +false + +// "0" == Infinity: +false +false + +// "0" == -Infinity: +false +false + +// this == this: +true + +// this == _global: +false +false + +// this == 0.000: +false +false + +// this == "0.000": +false +false + +// this == "True": +false +false + +// this == "False": +false +false + +// this == undefined: +false +false + +// this == null: +false +false + +// this == 2.0: +false +false + +// this == -2.0: +false +false + +// this == NaN: +false +false + +// this == Infinity: +false +false + +// this == -Infinity: +false +false + +// _global == _global: +true + +// _global == 0.000: +false +false + +// _global == "0.000": +false +false + +// _global == "True": +false +false + +// _global == "False": +false +false + +// _global == undefined: +true +true + +// _global == null: +true +true + +// _global == 2.0: +false +false + +// _global == -2.0: +false +false + +// _global == NaN: +false +false + +// _global == Infinity: +false +false + +// _global == -Infinity: +false +false + +// 0.000 == 0.000: +true + +// 0.000 == "0.000": +true +true + +// 0.000 == "True": +false +false + +// 0.000 == "False": +false +false + +// 0.000 == undefined: +false +false + +// 0.000 == null: +false +false + +// 0.000 == 2.0: +false +false + +// 0.000 == -2.0: +false +false + +// 0.000 == NaN: +false +false + +// 0.000 == Infinity: +false +false + +// 0.000 == -Infinity: +false +false + +// "0.000" == "0.000": +true + +// "0.000" == "True": +false +false + +// "0.000" == "False": +false +false + +// "0.000" == undefined: +false +false + +// "0.000" == null: +false +false + +// "0.000" == 2.0: +false +false + +// "0.000" == -2.0: +false +false + +// "0.000" == NaN: +false +false + +// "0.000" == Infinity: +false +false + +// "0.000" == -Infinity: +false +false + +// "True" == "True": +true + +// "True" == "False": +false +false + +// "True" == undefined: +false +false + +// "True" == null: +false +false + +// "True" == 2.0: +false +false + +// "True" == -2.0: +false +false + +// "True" == NaN: +false +false + +// "True" == Infinity: +false +false + +// "True" == -Infinity: +false +false + +// "False" == "False": +true + +// "False" == undefined: +false +false + +// "False" == null: +false +false + +// "False" == 2.0: +false +false + +// "False" == -2.0: +false +false + +// "False" == NaN: +false +false + +// "False" == Infinity: +false +false + +// "False" == -Infinity: +false +false + +// undefined == undefined: +true + +// undefined == null: +true +true + +// undefined == 2.0: +false +false + +// undefined == -2.0: +false +false + +// undefined == NaN: +false +false + +// undefined == Infinity: +false +false + +// undefined == -Infinity: +false +false + +// null == null: +true + +// null == 2.0: +false +false + +// null == -2.0: +false +false + +// null == NaN: +false +false + +// null == Infinity: +false +false + +// null == -Infinity: +false +false + +// 2.0 == 2.0: +true + +// 2.0 == -2.0: +false +false + +// 2.0 == NaN: +false +false + +// 2.0 == Infinity: +false +false + +// 2.0 == -Infinity: +false +false + +// -2.0 == -2.0: +true + +// -2.0 == NaN: +false +false + +// -2.0 == Infinity: +false +false + +// -2.0 == -Infinity: +false +false + +// NaN == NaN: +false + +// NaN == Infinity: +false +false + +// NaN == -Infinity: +false +false + +// Infinity == Infinity: +true + +// Infinity == -Infinity: +false +false + +// -Infinity == -Infinity: +true + diff --git a/core/tests/swfs/avm1/equals2_swf7/test.fla b/core/tests/swfs/avm1/equals2_swf7/test.fla new file mode 100644 index 000000000..18b440246 Binary files /dev/null and b/core/tests/swfs/avm1/equals2_swf7/test.fla differ diff --git a/core/tests/swfs/avm1/equals2_swf7/test.swf b/core/tests/swfs/avm1/equals2_swf7/test.swf new file mode 100644 index 000000000..1ca91704c Binary files /dev/null and b/core/tests/swfs/avm1/equals2_swf7/test.swf differ diff --git a/core/tests/swfs/avm1/equals_swf4/output.txt b/core/tests/swfs/avm1/equals_swf4/output.txt new file mode 100644 index 000000000..d6d3926bc --- /dev/null +++ b/core/tests/swfs/avm1/equals_swf4/output.txt @@ -0,0 +1,666 @@ +// true == true: +1 + +// true == false: +0 +0 + +// true == "true": +0 +0 + +// true == "false": +0 +0 + +// true == 1: +1 +1 + +// true == "1": +1 +1 + +// true == 0: +0 +0 + +// true == "0": +0 +0 + +// true == _global: +0 +0 + +// true == 0.000: +0 +0 + +// true == "0.000": +0 +0 + +// true == "True": +0 +0 + +// true == "False": +0 +0 + +// true == 2.0: +0 +0 + +// true == -2.0: +0 +0 + +// true == NaN: +0 +0 + +// true == Infinity: +0 +0 + +// true == -Infinity: +0 +0 + +// false == false: +1 + +// false == "true": +1 +1 + +// false == "false": +1 +1 + +// false == 1: +0 +0 + +// false == "1": +0 +0 + +// false == 0: +1 +1 + +// false == "0": +1 +1 + +// false == _global: +1 +1 + +// false == 0.000: +1 +1 + +// false == "0.000": +1 +1 + +// false == "True": +1 +1 + +// false == "False": +1 +1 + +// false == 2.0: +0 +0 + +// false == -2.0: +0 +0 + +// false == NaN: +1 +1 + +// false == Infinity: +1 +1 + +// false == -Infinity: +1 +1 + +// "true" == "true": +1 + +// "true" == "false": +1 +1 + +// "true" == 1: +0 +0 + +// "true" == "1": +0 +0 + +// "true" == 0: +1 +1 + +// "true" == "0": +1 +1 + +// "true" == _global: +1 +1 + +// "true" == 0.000: +1 +1 + +// "true" == "0.000": +1 +1 + +// "true" == "True": +1 +1 + +// "true" == "False": +1 +1 + +// "true" == 2.0: +0 +0 + +// "true" == -2.0: +0 +0 + +// "true" == NaN: +1 +1 + +// "true" == Infinity: +1 +1 + +// "true" == -Infinity: +1 +1 + +// "false" == "false": +1 + +// "false" == 1: +0 +0 + +// "false" == "1": +0 +0 + +// "false" == 0: +1 +1 + +// "false" == "0": +1 +1 + +// "false" == _global: +1 +1 + +// "false" == 0.000: +1 +1 + +// "false" == "0.000": +1 +1 + +// "false" == "True": +1 +1 + +// "false" == "False": +1 +1 + +// "false" == 2.0: +0 +0 + +// "false" == -2.0: +0 +0 + +// "false" == NaN: +1 +1 + +// "false" == Infinity: +1 +1 + +// "false" == -Infinity: +1 +1 + +// 1 == 1: +1 + +// 1 == "1": +1 +1 + +// 1 == 0: +0 +0 + +// 1 == "0": +0 +0 + +// 1 == _global: +0 +0 + +// 1 == 0.000: +0 +0 + +// 1 == "0.000": +0 +0 + +// 1 == "True": +0 +0 + +// 1 == "False": +0 +0 + +// 1 == 2.0: +0 +0 + +// 1 == -2.0: +0 +0 + +// 1 == NaN: +0 +0 + +// 1 == Infinity: +0 +0 + +// 1 == -Infinity: +0 +0 + +// "1" == "1": +1 + +// "1" == 0: +0 +0 + +// "1" == "0": +0 +0 + +// "1" == _global: +0 +0 + +// "1" == 0.000: +0 +0 + +// "1" == "0.000": +0 +0 + +// "1" == "True": +0 +0 + +// "1" == "False": +0 +0 + +// "1" == 2.0: +0 +0 + +// "1" == -2.0: +0 +0 + +// "1" == NaN: +0 +0 + +// "1" == Infinity: +0 +0 + +// "1" == -Infinity: +0 +0 + +// 0 == 0: +1 + +// 0 == "0": +1 +1 + +// 0 == _global: +1 +1 + +// 0 == 0.000: +1 +1 + +// 0 == "0.000": +1 +1 + +// 0 == "True": +1 +1 + +// 0 == "False": +1 +1 + +// 0 == 2.0: +0 +0 + +// 0 == -2.0: +0 +0 + +// 0 == NaN: +1 +1 + +// 0 == Infinity: +1 +1 + +// 0 == -Infinity: +1 +1 + +// "0" == "0": +1 + +// "0" == _global: +1 +1 + +// "0" == 0.000: +1 +1 + +// "0" == "0.000": +1 +1 + +// "0" == "True": +1 +1 + +// "0" == "False": +1 +1 + +// "0" == 2.0: +0 +0 + +// "0" == -2.0: +0 +0 + +// "0" == NaN: +1 +1 + +// "0" == Infinity: +1 +1 + +// "0" == -Infinity: +1 +1 + +// _global == _global: +1 + +// _global == 0.000: +1 +1 + +// _global == "0.000": +1 +1 + +// _global == "True": +1 +1 + +// _global == "False": +1 +1 + +// _global == 2.0: +0 +0 + +// _global == -2.0: +0 +0 + +// _global == NaN: +1 +1 + +// _global == Infinity: +1 +1 + +// _global == -Infinity: +1 +1 + +// 0.000 == 0.000: +1 + +// 0.000 == "0.000": +1 +1 + +// 0.000 == "True": +1 +1 + +// 0.000 == "False": +1 +1 + +// 0.000 == 2.0: +0 +0 + +// 0.000 == -2.0: +0 +0 + +// 0.000 == NaN: +1 +1 + +// 0.000 == Infinity: +1 +1 + +// 0.000 == -Infinity: +1 +1 + +// "0.000" == "0.000": +1 + +// "0.000" == "True": +1 +1 + +// "0.000" == "False": +1 +1 + +// "0.000" == 2.0: +0 +0 + +// "0.000" == -2.0: +0 +0 + +// "0.000" == NaN: +1 +1 + +// "0.000" == Infinity: +1 +1 + +// "0.000" == -Infinity: +1 +1 + +// "True" == "True": +1 + +// "True" == "False": +1 +1 + +// "True" == 2.0: +0 +0 + +// "True" == -2.0: +0 +0 + +// "True" == NaN: +1 +1 + +// "True" == Infinity: +1 +1 + +// "True" == -Infinity: +1 +1 + +// "False" == "False": +1 + +// "False" == 2.0: +0 +0 + +// "False" == -2.0: +0 +0 + +// "False" == NaN: +1 +1 + +// "False" == Infinity: +1 +1 + +// "False" == -Infinity: +1 +1 + +// 2.0 == 2.0: +1 + +// 2.0 == -2.0: +0 +0 + +// 2.0 == NaN: +0 +0 + +// 2.0 == Infinity: +0 +0 + +// 2.0 == -Infinity: +0 +0 + +// -2.0 == -2.0: +1 + +// -2.0 == NaN: +0 +0 + +// -2.0 == Infinity: +0 +0 + +// -2.0 == -Infinity: +0 +0 + +// NaN == NaN: +1 + +// NaN == Infinity: +1 +1 + +// NaN == -Infinity: +1 +1 + +// Infinity == Infinity: +1 + +// Infinity == -Infinity: +1 +1 + +// -Infinity == -Infinity: +1 + diff --git a/core/tests/swfs/avm1/equals_swf4/test.fla b/core/tests/swfs/avm1/equals_swf4/test.fla new file mode 100644 index 000000000..42bb52099 Binary files /dev/null and b/core/tests/swfs/avm1/equals_swf4/test.fla differ diff --git a/core/tests/swfs/avm1/equals_swf4/test.swf b/core/tests/swfs/avm1/equals_swf4/test.swf new file mode 100644 index 000000000..295a5b7ac Binary files /dev/null and b/core/tests/swfs/avm1/equals_swf4/test.swf differ diff --git a/core/tests/swfs/avm1/greater_sw6/output.txt b/core/tests/swfs/avm1/greater_sw6/output.txt new file mode 100644 index 000000000..3f7a10f08 --- /dev/null +++ b/core/tests/swfs/avm1/greater_sw6/output.txt @@ -0,0 +1,1176 @@ +// true > true: +false + +// true > false: +true +false + +// true > "true": +undefined +undefined + +// true > "false": +undefined +undefined + +// true > 1: +false +false + +// true > "1": +false +false + +// true > 0: +true +false + +// true > "0": +true +false + +// true > this: +undefined +undefined + +// true > _global: +true +false + +// true > 0.000: +true +false + +// true > "0.000": +true +false + +// true > "True": +undefined +undefined + +// true > "False": +undefined +undefined + +// true > undefined: +true +false + +// true > null: +true +false + +// true > 2.0: +false +true + +// true > -2.0: +true +false + +// true > NaN: +undefined +undefined + +// true > Infinity: +false +true + +// true > -Infinity: +true +false + +// true > "a": +undefined +undefined + +// true > "b": +undefined +undefined + +// true > "A": +undefined +undefined + +// false > false: +false + +// false > "true": +undefined +undefined + +// false > "false": +undefined +undefined + +// false > 1: +false +true + +// false > "1": +false +true + +// false > 0: +false +false + +// false > "0": +false +false + +// false > this: +undefined +undefined + +// false > _global: +false +false + +// false > 0.000: +false +false + +// false > "0.000": +false +false + +// false > "True": +undefined +undefined + +// false > "False": +undefined +undefined + +// false > undefined: +false +false + +// false > null: +false +false + +// false > 2.0: +false +true + +// false > -2.0: +true +false + +// false > NaN: +undefined +undefined + +// false > Infinity: +false +true + +// false > -Infinity: +true +false + +// false > "a": +undefined +undefined + +// false > "b": +undefined +undefined + +// false > "A": +undefined +undefined + +// "true" > "true": +false + +// "true" > "false": +true +false + +// "true" > 1: +undefined +undefined + +// "true" > "1": +true +false + +// "true" > 0: +undefined +undefined + +// "true" > "0": +true +false + +// "true" > this: +undefined +undefined + +// "true" > _global: +undefined +undefined + +// "true" > 0.000: +undefined +undefined + +// "true" > "0.000": +true +false + +// "true" > "True": +true +false + +// "true" > "False": +true +false + +// "true" > undefined: +undefined +undefined + +// "true" > null: +undefined +undefined + +// "true" > 2.0: +undefined +undefined + +// "true" > -2.0: +undefined +undefined + +// "true" > NaN: +undefined +undefined + +// "true" > Infinity: +undefined +undefined + +// "true" > -Infinity: +undefined +undefined + +// "true" > "a": +true +false + +// "true" > "b": +true +false + +// "true" > "A": +true +false + +// "false" > "false": +false + +// "false" > 1: +undefined +undefined + +// "false" > "1": +true +false + +// "false" > 0: +undefined +undefined + +// "false" > "0": +true +false + +// "false" > this: +undefined +undefined + +// "false" > _global: +undefined +undefined + +// "false" > 0.000: +undefined +undefined + +// "false" > "0.000": +true +false + +// "false" > "True": +true +false + +// "false" > "False": +true +false + +// "false" > undefined: +undefined +undefined + +// "false" > null: +undefined +undefined + +// "false" > 2.0: +undefined +undefined + +// "false" > -2.0: +undefined +undefined + +// "false" > NaN: +undefined +undefined + +// "false" > Infinity: +undefined +undefined + +// "false" > -Infinity: +undefined +undefined + +// "false" > "a": +true +false + +// "false" > "b": +true +false + +// "false" > "A": +true +false + +// 1 > 1: +false + +// 1 > "1": +false +false + +// 1 > 0: +true +false + +// 1 > "0": +true +false + +// 1 > this: +undefined +undefined + +// 1 > _global: +true +false + +// 1 > 0.000: +true +false + +// 1 > "0.000": +true +false + +// 1 > "True": +undefined +undefined + +// 1 > "False": +undefined +undefined + +// 1 > undefined: +true +false + +// 1 > null: +true +false + +// 1 > 2.0: +false +true + +// 1 > -2.0: +true +false + +// 1 > NaN: +undefined +undefined + +// 1 > Infinity: +false +true + +// 1 > -Infinity: +true +false + +// 1 > "a": +undefined +undefined + +// 1 > "b": +undefined +undefined + +// 1 > "A": +undefined +undefined + +// "1" > "1": +false + +// "1" > 0: +true +false + +// "1" > "0": +true +false + +// "1" > this: +undefined +undefined + +// "1" > _global: +true +false + +// "1" > 0.000: +true +false + +// "1" > "0.000": +true +false + +// "1" > "True": +false +true + +// "1" > "False": +false +true + +// "1" > undefined: +true +false + +// "1" > null: +true +false + +// "1" > 2.0: +false +true + +// "1" > -2.0: +true +false + +// "1" > NaN: +undefined +undefined + +// "1" > Infinity: +false +true + +// "1" > -Infinity: +true +false + +// "1" > "a": +false +true + +// "1" > "b": +false +true + +// "1" > "A": +false +true + +// 0 > 0: +false + +// 0 > "0": +false +false + +// 0 > this: +undefined +undefined + +// 0 > _global: +false +false + +// 0 > 0.000: +false +false + +// 0 > "0.000": +false +false + +// 0 > "True": +undefined +undefined + +// 0 > "False": +undefined +undefined + +// 0 > undefined: +false +false + +// 0 > null: +false +false + +// 0 > 2.0: +false +true + +// 0 > -2.0: +true +false + +// 0 > NaN: +undefined +undefined + +// 0 > Infinity: +false +true + +// 0 > -Infinity: +true +false + +// 0 > "a": +undefined +undefined + +// 0 > "b": +undefined +undefined + +// 0 > "A": +undefined +undefined + +// "0" > "0": +false + +// "0" > this: +undefined +undefined + +// "0" > _global: +false +false + +// "0" > 0.000: +false +false + +// "0" > "0.000": +false +true + +// "0" > "True": +false +true + +// "0" > "False": +false +true + +// "0" > undefined: +false +false + +// "0" > null: +false +false + +// "0" > 2.0: +false +true + +// "0" > -2.0: +true +false + +// "0" > NaN: +undefined +undefined + +// "0" > Infinity: +false +true + +// "0" > -Infinity: +true +false + +// "0" > "a": +false +true + +// "0" > "b": +false +true + +// "0" > "A": +false +true + +// this > this: +undefined + +// this > _global: +undefined +undefined + +// this > 0.000: +undefined +undefined + +// this > "0.000": +undefined +undefined + +// this > "True": +undefined +undefined + +// this > "False": +undefined +undefined + +// this > undefined: +undefined +undefined + +// this > null: +undefined +undefined + +// this > 2.0: +undefined +undefined + +// this > -2.0: +undefined +undefined + +// this > NaN: +undefined +undefined + +// this > Infinity: +undefined +undefined + +// this > -Infinity: +undefined +undefined + +// this > "a": +undefined +undefined + +// this > "b": +undefined +undefined + +// this > "A": +undefined +undefined + +// _global > _global: +false + +// _global > 0.000: +false +false + +// _global > "0.000": +false +false + +// _global > "True": +undefined +undefined + +// _global > "False": +undefined +undefined + +// _global > undefined: +false +false + +// _global > null: +false +false + +// _global > 2.0: +false +true + +// _global > -2.0: +true +false + +// _global > NaN: +undefined +undefined + +// _global > Infinity: +false +true + +// _global > -Infinity: +true +false + +// _global > "a": +undefined +undefined + +// _global > "b": +undefined +undefined + +// _global > "A": +undefined +undefined + +// 0.000 > 0.000: +false + +// 0.000 > "0.000": +false +false + +// 0.000 > "True": +undefined +undefined + +// 0.000 > "False": +undefined +undefined + +// 0.000 > undefined: +false +false + +// 0.000 > null: +false +false + +// 0.000 > 2.0: +false +true + +// 0.000 > -2.0: +true +false + +// 0.000 > NaN: +undefined +undefined + +// 0.000 > Infinity: +false +true + +// 0.000 > -Infinity: +true +false + +// 0.000 > "a": +undefined +undefined + +// 0.000 > "b": +undefined +undefined + +// 0.000 > "A": +undefined +undefined + +// "0.000" > "0.000": +false + +// "0.000" > "True": +false +true + +// "0.000" > "False": +false +true + +// "0.000" > undefined: +false +false + +// "0.000" > null: +false +false + +// "0.000" > 2.0: +false +true + +// "0.000" > -2.0: +true +false + +// "0.000" > NaN: +undefined +undefined + +// "0.000" > Infinity: +false +true + +// "0.000" > -Infinity: +true +false + +// "0.000" > "a": +false +true + +// "0.000" > "b": +false +true + +// "0.000" > "A": +false +true + +// "True" > "True": +false + +// "True" > "False": +true +false + +// "True" > undefined: +undefined +undefined + +// "True" > null: +undefined +undefined + +// "True" > 2.0: +undefined +undefined + +// "True" > -2.0: +undefined +undefined + +// "True" > NaN: +undefined +undefined + +// "True" > Infinity: +undefined +undefined + +// "True" > -Infinity: +undefined +undefined + +// "True" > "a": +false +true + +// "True" > "b": +false +true + +// "True" > "A": +true +false + +// "False" > "False": +false + +// "False" > undefined: +undefined +undefined + +// "False" > null: +undefined +undefined + +// "False" > 2.0: +undefined +undefined + +// "False" > -2.0: +undefined +undefined + +// "False" > NaN: +undefined +undefined + +// "False" > Infinity: +undefined +undefined + +// "False" > -Infinity: +undefined +undefined + +// "False" > "a": +false +true + +// "False" > "b": +false +true + +// "False" > "A": +true +false + +// undefined > undefined: +false + +// undefined > null: +false +false + +// undefined > 2.0: +false +true + +// undefined > -2.0: +true +false + +// undefined > NaN: +undefined +undefined + +// undefined > Infinity: +false +true + +// undefined > -Infinity: +true +false + +// undefined > "a": +undefined +undefined + +// undefined > "b": +undefined +undefined + +// undefined > "A": +undefined +undefined + +// null > null: +false + +// null > 2.0: +false +true + +// null > -2.0: +true +false + +// null > NaN: +undefined +undefined + +// null > Infinity: +false +true + +// null > -Infinity: +true +false + +// null > "a": +undefined +undefined + +// null > "b": +undefined +undefined + +// null > "A": +undefined +undefined + +// 2.0 > 2.0: +false + +// 2.0 > -2.0: +true +false + +// 2.0 > NaN: +undefined +undefined + +// 2.0 > Infinity: +false +true + +// 2.0 > -Infinity: +true +false + +// 2.0 > "a": +undefined +undefined + +// 2.0 > "b": +undefined +undefined + +// 2.0 > "A": +undefined +undefined + +// -2.0 > -2.0: +false + +// -2.0 > NaN: +undefined +undefined + +// -2.0 > Infinity: +false +true + +// -2.0 > -Infinity: +true +false + +// -2.0 > "a": +undefined +undefined + +// -2.0 > "b": +undefined +undefined + +// -2.0 > "A": +undefined +undefined + +// NaN > NaN: +undefined + +// NaN > Infinity: +undefined +undefined + +// NaN > -Infinity: +undefined +undefined + +// NaN > "a": +undefined +undefined + +// NaN > "b": +undefined +undefined + +// NaN > "A": +undefined +undefined + +// Infinity > Infinity: +false + +// Infinity > -Infinity: +true +false + +// Infinity > "a": +undefined +undefined + +// Infinity > "b": +undefined +undefined + +// Infinity > "A": +undefined +undefined + +// -Infinity > -Infinity: +false + +// -Infinity > "a": +undefined +undefined + +// -Infinity > "b": +undefined +undefined + +// -Infinity > "A": +undefined +undefined + +// "a" > "a": +false + +// "a" > "b": +false +true + +// "a" > "A": +true +false + +// "b" > "b": +false + +// "b" > "A": +true +false + +// "A" > "A": +false + diff --git a/core/tests/swfs/avm1/greater_sw6/test.fla b/core/tests/swfs/avm1/greater_sw6/test.fla new file mode 100644 index 000000000..2a3abc5f3 Binary files /dev/null and b/core/tests/swfs/avm1/greater_sw6/test.fla differ diff --git a/core/tests/swfs/avm1/greater_sw6/test.swf b/core/tests/swfs/avm1/greater_sw6/test.swf new file mode 100644 index 000000000..2a90cf305 Binary files /dev/null and b/core/tests/swfs/avm1/greater_sw6/test.swf differ diff --git a/core/tests/swfs/avm1/greater_swf7/output.txt b/core/tests/swfs/avm1/greater_swf7/output.txt new file mode 100644 index 000000000..cd1d2bca8 --- /dev/null +++ b/core/tests/swfs/avm1/greater_swf7/output.txt @@ -0,0 +1,1176 @@ +// true > true: +false + +// true > false: +true +false + +// true > "true": +undefined +undefined + +// true > "false": +undefined +undefined + +// true > 1: +false +false + +// true > "1": +false +false + +// true > 0: +true +false + +// true > "0": +true +false + +// true > this: +undefined +undefined + +// true > _global: +undefined +undefined + +// true > 0.000: +true +false + +// true > "0.000": +true +false + +// true > "True": +undefined +undefined + +// true > "False": +undefined +undefined + +// true > undefined: +undefined +undefined + +// true > null: +undefined +undefined + +// true > 2.0: +false +true + +// true > -2.0: +true +false + +// true > NaN: +undefined +undefined + +// true > Infinity: +false +true + +// true > -Infinity: +true +false + +// true > "a": +undefined +undefined + +// true > "b": +undefined +undefined + +// true > "A": +undefined +undefined + +// false > false: +false + +// false > "true": +undefined +undefined + +// false > "false": +undefined +undefined + +// false > 1: +false +true + +// false > "1": +false +true + +// false > 0: +false +false + +// false > "0": +false +false + +// false > this: +undefined +undefined + +// false > _global: +undefined +undefined + +// false > 0.000: +false +false + +// false > "0.000": +false +false + +// false > "True": +undefined +undefined + +// false > "False": +undefined +undefined + +// false > undefined: +undefined +undefined + +// false > null: +undefined +undefined + +// false > 2.0: +false +true + +// false > -2.0: +true +false + +// false > NaN: +undefined +undefined + +// false > Infinity: +false +true + +// false > -Infinity: +true +false + +// false > "a": +undefined +undefined + +// false > "b": +undefined +undefined + +// false > "A": +undefined +undefined + +// "true" > "true": +false + +// "true" > "false": +true +false + +// "true" > 1: +undefined +undefined + +// "true" > "1": +true +false + +// "true" > 0: +undefined +undefined + +// "true" > "0": +true +false + +// "true" > this: +undefined +undefined + +// "true" > _global: +undefined +undefined + +// "true" > 0.000: +undefined +undefined + +// "true" > "0.000": +true +false + +// "true" > "True": +true +false + +// "true" > "False": +true +false + +// "true" > undefined: +undefined +undefined + +// "true" > null: +undefined +undefined + +// "true" > 2.0: +undefined +undefined + +// "true" > -2.0: +undefined +undefined + +// "true" > NaN: +undefined +undefined + +// "true" > Infinity: +undefined +undefined + +// "true" > -Infinity: +undefined +undefined + +// "true" > "a": +true +false + +// "true" > "b": +true +false + +// "true" > "A": +true +false + +// "false" > "false": +false + +// "false" > 1: +undefined +undefined + +// "false" > "1": +true +false + +// "false" > 0: +undefined +undefined + +// "false" > "0": +true +false + +// "false" > this: +undefined +undefined + +// "false" > _global: +undefined +undefined + +// "false" > 0.000: +undefined +undefined + +// "false" > "0.000": +true +false + +// "false" > "True": +true +false + +// "false" > "False": +true +false + +// "false" > undefined: +undefined +undefined + +// "false" > null: +undefined +undefined + +// "false" > 2.0: +undefined +undefined + +// "false" > -2.0: +undefined +undefined + +// "false" > NaN: +undefined +undefined + +// "false" > Infinity: +undefined +undefined + +// "false" > -Infinity: +undefined +undefined + +// "false" > "a": +true +false + +// "false" > "b": +true +false + +// "false" > "A": +true +false + +// 1 > 1: +false + +// 1 > "1": +false +false + +// 1 > 0: +true +false + +// 1 > "0": +true +false + +// 1 > this: +undefined +undefined + +// 1 > _global: +undefined +undefined + +// 1 > 0.000: +true +false + +// 1 > "0.000": +true +false + +// 1 > "True": +undefined +undefined + +// 1 > "False": +undefined +undefined + +// 1 > undefined: +undefined +undefined + +// 1 > null: +undefined +undefined + +// 1 > 2.0: +false +true + +// 1 > -2.0: +true +false + +// 1 > NaN: +undefined +undefined + +// 1 > Infinity: +false +true + +// 1 > -Infinity: +true +false + +// 1 > "a": +undefined +undefined + +// 1 > "b": +undefined +undefined + +// 1 > "A": +undefined +undefined + +// "1" > "1": +false + +// "1" > 0: +true +false + +// "1" > "0": +true +false + +// "1" > this: +undefined +undefined + +// "1" > _global: +undefined +undefined + +// "1" > 0.000: +true +false + +// "1" > "0.000": +true +false + +// "1" > "True": +false +true + +// "1" > "False": +false +true + +// "1" > undefined: +undefined +undefined + +// "1" > null: +undefined +undefined + +// "1" > 2.0: +false +true + +// "1" > -2.0: +true +false + +// "1" > NaN: +undefined +undefined + +// "1" > Infinity: +false +true + +// "1" > -Infinity: +true +false + +// "1" > "a": +false +true + +// "1" > "b": +false +true + +// "1" > "A": +false +true + +// 0 > 0: +false + +// 0 > "0": +false +false + +// 0 > this: +undefined +undefined + +// 0 > _global: +undefined +undefined + +// 0 > 0.000: +false +false + +// 0 > "0.000": +false +false + +// 0 > "True": +undefined +undefined + +// 0 > "False": +undefined +undefined + +// 0 > undefined: +undefined +undefined + +// 0 > null: +undefined +undefined + +// 0 > 2.0: +false +true + +// 0 > -2.0: +true +false + +// 0 > NaN: +undefined +undefined + +// 0 > Infinity: +false +true + +// 0 > -Infinity: +true +false + +// 0 > "a": +undefined +undefined + +// 0 > "b": +undefined +undefined + +// 0 > "A": +undefined +undefined + +// "0" > "0": +false + +// "0" > this: +undefined +undefined + +// "0" > _global: +undefined +undefined + +// "0" > 0.000: +false +false + +// "0" > "0.000": +false +true + +// "0" > "True": +false +true + +// "0" > "False": +false +true + +// "0" > undefined: +undefined +undefined + +// "0" > null: +undefined +undefined + +// "0" > 2.0: +false +true + +// "0" > -2.0: +true +false + +// "0" > NaN: +undefined +undefined + +// "0" > Infinity: +false +true + +// "0" > -Infinity: +true +false + +// "0" > "a": +false +true + +// "0" > "b": +false +true + +// "0" > "A": +false +true + +// this > this: +undefined + +// this > _global: +undefined +undefined + +// this > 0.000: +undefined +undefined + +// this > "0.000": +undefined +undefined + +// this > "True": +undefined +undefined + +// this > "False": +undefined +undefined + +// this > undefined: +undefined +undefined + +// this > null: +undefined +undefined + +// this > 2.0: +undefined +undefined + +// this > -2.0: +undefined +undefined + +// this > NaN: +undefined +undefined + +// this > Infinity: +undefined +undefined + +// this > -Infinity: +undefined +undefined + +// this > "a": +undefined +undefined + +// this > "b": +undefined +undefined + +// this > "A": +undefined +undefined + +// _global > _global: +undefined + +// _global > 0.000: +undefined +undefined + +// _global > "0.000": +undefined +undefined + +// _global > "True": +undefined +undefined + +// _global > "False": +undefined +undefined + +// _global > undefined: +undefined +undefined + +// _global > null: +undefined +undefined + +// _global > 2.0: +undefined +undefined + +// _global > -2.0: +undefined +undefined + +// _global > NaN: +undefined +undefined + +// _global > Infinity: +undefined +undefined + +// _global > -Infinity: +undefined +undefined + +// _global > "a": +undefined +undefined + +// _global > "b": +undefined +undefined + +// _global > "A": +undefined +undefined + +// 0.000 > 0.000: +false + +// 0.000 > "0.000": +false +false + +// 0.000 > "True": +undefined +undefined + +// 0.000 > "False": +undefined +undefined + +// 0.000 > undefined: +undefined +undefined + +// 0.000 > null: +undefined +undefined + +// 0.000 > 2.0: +false +true + +// 0.000 > -2.0: +true +false + +// 0.000 > NaN: +undefined +undefined + +// 0.000 > Infinity: +false +true + +// 0.000 > -Infinity: +true +false + +// 0.000 > "a": +undefined +undefined + +// 0.000 > "b": +undefined +undefined + +// 0.000 > "A": +undefined +undefined + +// "0.000" > "0.000": +false + +// "0.000" > "True": +false +true + +// "0.000" > "False": +false +true + +// "0.000" > undefined: +undefined +undefined + +// "0.000" > null: +undefined +undefined + +// "0.000" > 2.0: +false +true + +// "0.000" > -2.0: +true +false + +// "0.000" > NaN: +undefined +undefined + +// "0.000" > Infinity: +false +true + +// "0.000" > -Infinity: +true +false + +// "0.000" > "a": +false +true + +// "0.000" > "b": +false +true + +// "0.000" > "A": +false +true + +// "True" > "True": +false + +// "True" > "False": +true +false + +// "True" > undefined: +undefined +undefined + +// "True" > null: +undefined +undefined + +// "True" > 2.0: +undefined +undefined + +// "True" > -2.0: +undefined +undefined + +// "True" > NaN: +undefined +undefined + +// "True" > Infinity: +undefined +undefined + +// "True" > -Infinity: +undefined +undefined + +// "True" > "a": +false +true + +// "True" > "b": +false +true + +// "True" > "A": +true +false + +// "False" > "False": +false + +// "False" > undefined: +undefined +undefined + +// "False" > null: +undefined +undefined + +// "False" > 2.0: +undefined +undefined + +// "False" > -2.0: +undefined +undefined + +// "False" > NaN: +undefined +undefined + +// "False" > Infinity: +undefined +undefined + +// "False" > -Infinity: +undefined +undefined + +// "False" > "a": +false +true + +// "False" > "b": +false +true + +// "False" > "A": +true +false + +// undefined > undefined: +undefined + +// undefined > null: +undefined +undefined + +// undefined > 2.0: +undefined +undefined + +// undefined > -2.0: +undefined +undefined + +// undefined > NaN: +undefined +undefined + +// undefined > Infinity: +undefined +undefined + +// undefined > -Infinity: +undefined +undefined + +// undefined > "a": +undefined +undefined + +// undefined > "b": +undefined +undefined + +// undefined > "A": +undefined +undefined + +// null > null: +undefined + +// null > 2.0: +undefined +undefined + +// null > -2.0: +undefined +undefined + +// null > NaN: +undefined +undefined + +// null > Infinity: +undefined +undefined + +// null > -Infinity: +undefined +undefined + +// null > "a": +undefined +undefined + +// null > "b": +undefined +undefined + +// null > "A": +undefined +undefined + +// 2.0 > 2.0: +false + +// 2.0 > -2.0: +true +false + +// 2.0 > NaN: +undefined +undefined + +// 2.0 > Infinity: +false +true + +// 2.0 > -Infinity: +true +false + +// 2.0 > "a": +undefined +undefined + +// 2.0 > "b": +undefined +undefined + +// 2.0 > "A": +undefined +undefined + +// -2.0 > -2.0: +false + +// -2.0 > NaN: +undefined +undefined + +// -2.0 > Infinity: +false +true + +// -2.0 > -Infinity: +true +false + +// -2.0 > "a": +undefined +undefined + +// -2.0 > "b": +undefined +undefined + +// -2.0 > "A": +undefined +undefined + +// NaN > NaN: +undefined + +// NaN > Infinity: +undefined +undefined + +// NaN > -Infinity: +undefined +undefined + +// NaN > "a": +undefined +undefined + +// NaN > "b": +undefined +undefined + +// NaN > "A": +undefined +undefined + +// Infinity > Infinity: +false + +// Infinity > -Infinity: +true +false + +// Infinity > "a": +undefined +undefined + +// Infinity > "b": +undefined +undefined + +// Infinity > "A": +undefined +undefined + +// -Infinity > -Infinity: +false + +// -Infinity > "a": +undefined +undefined + +// -Infinity > "b": +undefined +undefined + +// -Infinity > "A": +undefined +undefined + +// "a" > "a": +false + +// "a" > "b": +false +true + +// "a" > "A": +true +false + +// "b" > "b": +false + +// "b" > "A": +true +false + +// "A" > "A": +false + diff --git a/core/tests/swfs/avm1/greater_swf7/test.fla b/core/tests/swfs/avm1/greater_swf7/test.fla new file mode 100644 index 000000000..9ce14a0ba Binary files /dev/null and b/core/tests/swfs/avm1/greater_swf7/test.fla differ diff --git a/core/tests/swfs/avm1/greater_swf7/test.swf b/core/tests/swfs/avm1/greater_swf7/test.swf new file mode 100644 index 000000000..669122730 Binary files /dev/null and b/core/tests/swfs/avm1/greater_swf7/test.swf differ diff --git a/core/tests/swfs/avm1/lessthan_swf7/output.txt b/core/tests/swfs/avm1/lessthan2_swf5/output.txt similarity index 80% rename from core/tests/swfs/avm1/lessthan_swf7/output.txt rename to core/tests/swfs/avm1/lessthan2_swf5/output.txt index 8145d0895..62abaf455 100644 --- a/core/tests/swfs/avm1/lessthan_swf7/output.txt +++ b/core/tests/swfs/avm1/lessthan2_swf5/output.txt @@ -34,8 +34,8 @@ undefined undefined // true < _global: -undefined -undefined +false +true // true < 0.000: false @@ -54,12 +54,12 @@ undefined undefined // true < undefined: -undefined -undefined +false +true // true < null: -undefined -undefined +false +true // true < 2.0: true @@ -81,6 +81,18 @@ false false true +// true < "a": +undefined +undefined + +// true < "b": +undefined +undefined + +// true < "A": +undefined +undefined + // false < false: false @@ -113,8 +125,8 @@ undefined undefined // false < _global: -undefined -undefined +false +false // false < 0.000: false @@ -133,12 +145,12 @@ undefined undefined // false < undefined: -undefined -undefined +false +false // false < null: -undefined -undefined +false +false // false < 2.0: true @@ -160,6 +172,18 @@ false false true +// false < "a": +undefined +undefined + +// false < "b": +undefined +undefined + +// false < "A": +undefined +undefined + // "true" < "true": false @@ -235,6 +259,18 @@ undefined undefined undefined +// "true" < "a": +false +true + +// "true" < "b": +false +true + +// "true" < "A": +false +true + // "false" < "false": false @@ -306,6 +342,18 @@ undefined undefined undefined +// "false" < "a": +false +true + +// "false" < "b": +false +true + +// "false" < "A": +false +true + // 1 < 1: false @@ -326,8 +374,8 @@ undefined undefined // 1 < _global: -undefined -undefined +false +true // 1 < 0.000: false @@ -346,12 +394,12 @@ undefined undefined // 1 < undefined: -undefined -undefined +false +true // 1 < null: -undefined -undefined +false +true // 1 < 2.0: true @@ -373,6 +421,18 @@ false false true +// 1 < "a": +undefined +undefined + +// 1 < "b": +undefined +undefined + +// 1 < "A": +undefined +undefined + // "1" < "1": false @@ -389,8 +449,8 @@ undefined undefined // "1" < _global: -undefined -undefined +false +true // "1" < 0.000: false @@ -409,12 +469,12 @@ true false // "1" < undefined: -undefined -undefined +false +true // "1" < null: -undefined -undefined +false +true // "1" < 2.0: true @@ -436,6 +496,18 @@ false false true +// "1" < "a": +true +false + +// "1" < "b": +true +false + +// "1" < "A": +true +false + // 0 < 0: false @@ -448,8 +520,8 @@ undefined undefined // 0 < _global: -undefined -undefined +false +false // 0 < 0.000: false @@ -468,12 +540,12 @@ undefined undefined // 0 < undefined: -undefined -undefined +false +false // 0 < null: -undefined -undefined +false +false // 0 < 2.0: true @@ -495,6 +567,18 @@ false false true +// 0 < "a": +undefined +undefined + +// 0 < "b": +undefined +undefined + +// 0 < "A": +undefined +undefined + // "0" < "0": false @@ -503,8 +587,8 @@ undefined undefined // "0" < _global: -undefined -undefined +false +false // "0" < 0.000: false @@ -523,12 +607,12 @@ true false // "0" < undefined: -undefined -undefined +false +false // "0" < null: -undefined -undefined +false +false // "0" < 2.0: true @@ -550,6 +634,18 @@ false false true +// "0" < "a": +true +false + +// "0" < "b": +true +false + +// "0" < "A": +true +false + // this < this: undefined @@ -601,16 +697,28 @@ undefined undefined undefined -// _global < _global: +// this < "a": undefined +undefined + +// this < "b": +undefined +undefined + +// this < "A": +undefined +undefined + +// _global < _global: +false // _global < 0.000: -undefined -undefined +false +false // _global < "0.000": -undefined -undefined +false +false // _global < "True": undefined @@ -621,30 +729,42 @@ undefined undefined // _global < undefined: -undefined -undefined +false +false // _global < null: -undefined -undefined +false +false // _global < 2.0: -undefined -undefined +true +false // _global < -2.0: -undefined -undefined +false +true // _global < NaN: undefined undefined // _global < Infinity: +true +false + +// _global < -Infinity: +false +true + +// _global < "a": undefined undefined -// _global < -Infinity: +// _global < "b": +undefined +undefined + +// _global < "A": undefined undefined @@ -664,12 +784,12 @@ undefined undefined // 0.000 < undefined: -undefined -undefined +false +false // 0.000 < null: -undefined -undefined +false +false // 0.000 < 2.0: true @@ -691,6 +811,18 @@ false false true +// 0.000 < "a": +undefined +undefined + +// 0.000 < "b": +undefined +undefined + +// 0.000 < "A": +undefined +undefined + // "0.000" < "0.000": false @@ -703,12 +835,12 @@ true false // "0.000" < undefined: -undefined -undefined +false +false // "0.000" < null: -undefined -undefined +false +false // "0.000" < 2.0: true @@ -730,6 +862,18 @@ false false true +// "0.000" < "a": +true +false + +// "0.000" < "b": +true +false + +// "0.000" < "A": +true +false + // "True" < "True": false @@ -765,6 +909,18 @@ undefined undefined undefined +// "True" < "a": +true +false + +// "True" < "b": +true +false + +// "True" < "A": +false +true + // "False" < "False": false @@ -796,53 +952,89 @@ undefined undefined undefined +// "False" < "a": +true +false + +// "False" < "b": +true +false + +// "False" < "A": +false +true + // undefined < undefined: -undefined +false // undefined < null: -undefined -undefined +false +false // undefined < 2.0: -undefined -undefined +true +false // undefined < -2.0: -undefined -undefined +false +true // undefined < NaN: undefined undefined // undefined < Infinity: +true +false + +// undefined < -Infinity: +false +true + +// undefined < "a": undefined undefined -// undefined < -Infinity: +// undefined < "b": +undefined +undefined + +// undefined < "A": undefined undefined // null < null: -undefined +false // null < 2.0: -undefined -undefined +true +false // null < -2.0: -undefined -undefined +false +true // null < NaN: undefined undefined // null < Infinity: +true +false + +// null < -Infinity: +false +true + +// null < "a": undefined undefined -// null < -Infinity: +// null < "b": +undefined +undefined + +// null < "A": undefined undefined @@ -865,6 +1057,18 @@ false false true +// 2.0 < "a": +undefined +undefined + +// 2.0 < "b": +undefined +undefined + +// 2.0 < "A": +undefined +undefined + // -2.0 < -2.0: false @@ -880,6 +1084,18 @@ false false true +// -2.0 < "a": +undefined +undefined + +// -2.0 < "b": +undefined +undefined + +// -2.0 < "A": +undefined +undefined + // NaN < NaN: undefined @@ -891,6 +1107,18 @@ undefined undefined undefined +// NaN < "a": +undefined +undefined + +// NaN < "b": +undefined +undefined + +// NaN < "A": +undefined +undefined + // Infinity < Infinity: false @@ -898,6 +1126,51 @@ false false true +// Infinity < "a": +undefined +undefined + +// Infinity < "b": +undefined +undefined + +// Infinity < "A": +undefined +undefined + // -Infinity < -Infinity: false +// -Infinity < "a": +undefined +undefined + +// -Infinity < "b": +undefined +undefined + +// -Infinity < "A": +undefined +undefined + +// "a" < "a": +false + +// "a" < "b": +true +false + +// "a" < "A": +false +true + +// "b" < "b": +false + +// "b" < "A": +false +true + +// "A" < "A": +false + diff --git a/core/tests/swfs/avm1/lessthan2_swf5/test.fla b/core/tests/swfs/avm1/lessthan2_swf5/test.fla new file mode 100644 index 000000000..27678f9c9 Binary files /dev/null and b/core/tests/swfs/avm1/lessthan2_swf5/test.fla differ diff --git a/core/tests/swfs/avm1/lessthan2_swf5/test.swf b/core/tests/swfs/avm1/lessthan2_swf5/test.swf new file mode 100644 index 000000000..53c06bf92 Binary files /dev/null and b/core/tests/swfs/avm1/lessthan2_swf5/test.swf differ diff --git a/core/tests/swfs/avm1/lessthan_swf6/output.txt b/core/tests/swfs/avm1/lessthan2_swf6/output.txt similarity index 77% rename from core/tests/swfs/avm1/lessthan_swf6/output.txt rename to core/tests/swfs/avm1/lessthan2_swf6/output.txt index 2c7d46ae5..62abaf455 100644 --- a/core/tests/swfs/avm1/lessthan_swf6/output.txt +++ b/core/tests/swfs/avm1/lessthan2_swf6/output.txt @@ -81,6 +81,18 @@ false false true +// true < "a": +undefined +undefined + +// true < "b": +undefined +undefined + +// true < "A": +undefined +undefined + // false < false: false @@ -160,6 +172,18 @@ false false true +// false < "a": +undefined +undefined + +// false < "b": +undefined +undefined + +// false < "A": +undefined +undefined + // "true" < "true": false @@ -235,6 +259,18 @@ undefined undefined undefined +// "true" < "a": +false +true + +// "true" < "b": +false +true + +// "true" < "A": +false +true + // "false" < "false": false @@ -306,6 +342,18 @@ undefined undefined undefined +// "false" < "a": +false +true + +// "false" < "b": +false +true + +// "false" < "A": +false +true + // 1 < 1: false @@ -373,6 +421,18 @@ false false true +// 1 < "a": +undefined +undefined + +// 1 < "b": +undefined +undefined + +// 1 < "A": +undefined +undefined + // "1" < "1": false @@ -436,6 +496,18 @@ false false true +// "1" < "a": +true +false + +// "1" < "b": +true +false + +// "1" < "A": +true +false + // 0 < 0: false @@ -495,6 +567,18 @@ false false true +// 0 < "a": +undefined +undefined + +// 0 < "b": +undefined +undefined + +// 0 < "A": +undefined +undefined + // "0" < "0": false @@ -550,6 +634,18 @@ false false true +// "0" < "a": +true +false + +// "0" < "b": +true +false + +// "0" < "A": +true +false + // this < this: undefined @@ -601,6 +697,18 @@ undefined undefined undefined +// this < "a": +undefined +undefined + +// this < "b": +undefined +undefined + +// this < "A": +undefined +undefined + // _global < _global: false @@ -648,6 +756,18 @@ false false true +// _global < "a": +undefined +undefined + +// _global < "b": +undefined +undefined + +// _global < "A": +undefined +undefined + // 0.000 < 0.000: false @@ -691,6 +811,18 @@ false false true +// 0.000 < "a": +undefined +undefined + +// 0.000 < "b": +undefined +undefined + +// 0.000 < "A": +undefined +undefined + // "0.000" < "0.000": false @@ -730,6 +862,18 @@ false false true +// "0.000" < "a": +true +false + +// "0.000" < "b": +true +false + +// "0.000" < "A": +true +false + // "True" < "True": false @@ -765,6 +909,18 @@ undefined undefined undefined +// "True" < "a": +true +false + +// "True" < "b": +true +false + +// "True" < "A": +false +true + // "False" < "False": false @@ -796,6 +952,18 @@ undefined undefined undefined +// "False" < "a": +true +false + +// "False" < "b": +true +false + +// "False" < "A": +false +true + // undefined < undefined: false @@ -823,6 +991,18 @@ false false true +// undefined < "a": +undefined +undefined + +// undefined < "b": +undefined +undefined + +// undefined < "A": +undefined +undefined + // null < null: false @@ -846,6 +1026,18 @@ false false true +// null < "a": +undefined +undefined + +// null < "b": +undefined +undefined + +// null < "A": +undefined +undefined + // 2.0 < 2.0: false @@ -865,6 +1057,18 @@ false false true +// 2.0 < "a": +undefined +undefined + +// 2.0 < "b": +undefined +undefined + +// 2.0 < "A": +undefined +undefined + // -2.0 < -2.0: false @@ -880,6 +1084,18 @@ false false true +// -2.0 < "a": +undefined +undefined + +// -2.0 < "b": +undefined +undefined + +// -2.0 < "A": +undefined +undefined + // NaN < NaN: undefined @@ -891,6 +1107,18 @@ undefined undefined undefined +// NaN < "a": +undefined +undefined + +// NaN < "b": +undefined +undefined + +// NaN < "A": +undefined +undefined + // Infinity < Infinity: false @@ -898,6 +1126,51 @@ false false true +// Infinity < "a": +undefined +undefined + +// Infinity < "b": +undefined +undefined + +// Infinity < "A": +undefined +undefined + // -Infinity < -Infinity: false +// -Infinity < "a": +undefined +undefined + +// -Infinity < "b": +undefined +undefined + +// -Infinity < "A": +undefined +undefined + +// "a" < "a": +false + +// "a" < "b": +true +false + +// "a" < "A": +false +true + +// "b" < "b": +false + +// "b" < "A": +false +true + +// "A" < "A": +false + diff --git a/core/tests/swfs/avm1/lessthan_swf6/test.fla b/core/tests/swfs/avm1/lessthan2_swf6/test.fla similarity index 63% rename from core/tests/swfs/avm1/lessthan_swf6/test.fla rename to core/tests/swfs/avm1/lessthan2_swf6/test.fla index 50bf69721..2576ea4f3 100644 Binary files a/core/tests/swfs/avm1/lessthan_swf6/test.fla and b/core/tests/swfs/avm1/lessthan2_swf6/test.fla differ diff --git a/core/tests/swfs/avm1/lessthan2_swf6/test.swf b/core/tests/swfs/avm1/lessthan2_swf6/test.swf new file mode 100644 index 000000000..8b9eb2d0a Binary files /dev/null and b/core/tests/swfs/avm1/lessthan2_swf6/test.swf differ diff --git a/core/tests/swfs/avm1/lessthan2_swf7/output.txt b/core/tests/swfs/avm1/lessthan2_swf7/output.txt new file mode 100644 index 000000000..1649d1242 --- /dev/null +++ b/core/tests/swfs/avm1/lessthan2_swf7/output.txt @@ -0,0 +1,1176 @@ +// true < true: +false + +// true < false: +false +true + +// true < "true": +undefined +undefined + +// true < "false": +undefined +undefined + +// true < 1: +false +false + +// true < "1": +false +false + +// true < 0: +false +true + +// true < "0": +false +true + +// true < this: +undefined +undefined + +// true < _global: +undefined +undefined + +// true < 0.000: +false +true + +// true < "0.000": +false +true + +// true < "True": +undefined +undefined + +// true < "False": +undefined +undefined + +// true < undefined: +undefined +undefined + +// true < null: +undefined +undefined + +// true < 2.0: +true +false + +// true < -2.0: +false +true + +// true < NaN: +undefined +undefined + +// true < Infinity: +true +false + +// true < -Infinity: +false +true + +// true < "a": +undefined +undefined + +// true < "b": +undefined +undefined + +// true < "A": +undefined +undefined + +// false < false: +false + +// false < "true": +undefined +undefined + +// false < "false": +undefined +undefined + +// false < 1: +true +false + +// false < "1": +true +false + +// false < 0: +false +false + +// false < "0": +false +false + +// false < this: +undefined +undefined + +// false < _global: +undefined +undefined + +// false < 0.000: +false +false + +// false < "0.000": +false +false + +// false < "True": +undefined +undefined + +// false < "False": +undefined +undefined + +// false < undefined: +undefined +undefined + +// false < null: +undefined +undefined + +// false < 2.0: +true +false + +// false < -2.0: +false +true + +// false < NaN: +undefined +undefined + +// false < Infinity: +true +false + +// false < -Infinity: +false +true + +// false < "a": +undefined +undefined + +// false < "b": +undefined +undefined + +// false < "A": +undefined +undefined + +// "true" < "true": +false + +// "true" < "false": +false +true + +// "true" < 1: +undefined +undefined + +// "true" < "1": +false +true + +// "true" < 0: +undefined +undefined + +// "true" < "0": +false +true + +// "true" < this: +undefined +undefined + +// "true" < _global: +undefined +undefined + +// "true" < 0.000: +undefined +undefined + +// "true" < "0.000": +false +true + +// "true" < "True": +false +true + +// "true" < "False": +false +true + +// "true" < undefined: +undefined +undefined + +// "true" < null: +undefined +undefined + +// "true" < 2.0: +undefined +undefined + +// "true" < -2.0: +undefined +undefined + +// "true" < NaN: +undefined +undefined + +// "true" < Infinity: +undefined +undefined + +// "true" < -Infinity: +undefined +undefined + +// "true" < "a": +false +true + +// "true" < "b": +false +true + +// "true" < "A": +false +true + +// "false" < "false": +false + +// "false" < 1: +undefined +undefined + +// "false" < "1": +false +true + +// "false" < 0: +undefined +undefined + +// "false" < "0": +false +true + +// "false" < this: +undefined +undefined + +// "false" < _global: +undefined +undefined + +// "false" < 0.000: +undefined +undefined + +// "false" < "0.000": +false +true + +// "false" < "True": +false +true + +// "false" < "False": +false +true + +// "false" < undefined: +undefined +undefined + +// "false" < null: +undefined +undefined + +// "false" < 2.0: +undefined +undefined + +// "false" < -2.0: +undefined +undefined + +// "false" < NaN: +undefined +undefined + +// "false" < Infinity: +undefined +undefined + +// "false" < -Infinity: +undefined +undefined + +// "false" < "a": +false +true + +// "false" < "b": +false +true + +// "false" < "A": +false +true + +// 1 < 1: +false + +// 1 < "1": +false +false + +// 1 < 0: +false +true + +// 1 < "0": +false +true + +// 1 < this: +undefined +undefined + +// 1 < _global: +undefined +undefined + +// 1 < 0.000: +false +true + +// 1 < "0.000": +false +true + +// 1 < "True": +undefined +undefined + +// 1 < "False": +undefined +undefined + +// 1 < undefined: +undefined +undefined + +// 1 < null: +undefined +undefined + +// 1 < 2.0: +true +false + +// 1 < -2.0: +false +true + +// 1 < NaN: +undefined +undefined + +// 1 < Infinity: +true +false + +// 1 < -Infinity: +false +true + +// 1 < "a": +undefined +undefined + +// 1 < "b": +undefined +undefined + +// 1 < "A": +undefined +undefined + +// "1" < "1": +false + +// "1" < 0: +false +true + +// "1" < "0": +false +true + +// "1" < this: +undefined +undefined + +// "1" < _global: +undefined +undefined + +// "1" < 0.000: +false +true + +// "1" < "0.000": +false +true + +// "1" < "True": +true +false + +// "1" < "False": +true +false + +// "1" < undefined: +undefined +undefined + +// "1" < null: +undefined +undefined + +// "1" < 2.0: +true +false + +// "1" < -2.0: +false +true + +// "1" < NaN: +undefined +undefined + +// "1" < Infinity: +true +false + +// "1" < -Infinity: +false +true + +// "1" < "a": +true +false + +// "1" < "b": +true +false + +// "1" < "A": +true +false + +// 0 < 0: +false + +// 0 < "0": +false +false + +// 0 < this: +undefined +undefined + +// 0 < _global: +undefined +undefined + +// 0 < 0.000: +false +false + +// 0 < "0.000": +false +false + +// 0 < "True": +undefined +undefined + +// 0 < "False": +undefined +undefined + +// 0 < undefined: +undefined +undefined + +// 0 < null: +undefined +undefined + +// 0 < 2.0: +true +false + +// 0 < -2.0: +false +true + +// 0 < NaN: +undefined +undefined + +// 0 < Infinity: +true +false + +// 0 < -Infinity: +false +true + +// 0 < "a": +undefined +undefined + +// 0 < "b": +undefined +undefined + +// 0 < "A": +undefined +undefined + +// "0" < "0": +false + +// "0" < this: +undefined +undefined + +// "0" < _global: +undefined +undefined + +// "0" < 0.000: +false +false + +// "0" < "0.000": +true +false + +// "0" < "True": +true +false + +// "0" < "False": +true +false + +// "0" < undefined: +undefined +undefined + +// "0" < null: +undefined +undefined + +// "0" < 2.0: +true +false + +// "0" < -2.0: +false +true + +// "0" < NaN: +undefined +undefined + +// "0" < Infinity: +true +false + +// "0" < -Infinity: +false +true + +// "0" < "a": +true +false + +// "0" < "b": +true +false + +// "0" < "A": +true +false + +// this < this: +undefined + +// this < _global: +undefined +undefined + +// this < 0.000: +undefined +undefined + +// this < "0.000": +undefined +undefined + +// this < "True": +undefined +undefined + +// this < "False": +undefined +undefined + +// this < undefined: +undefined +undefined + +// this < null: +undefined +undefined + +// this < 2.0: +undefined +undefined + +// this < -2.0: +undefined +undefined + +// this < NaN: +undefined +undefined + +// this < Infinity: +undefined +undefined + +// this < -Infinity: +undefined +undefined + +// this < "a": +undefined +undefined + +// this < "b": +undefined +undefined + +// this < "A": +undefined +undefined + +// _global < _global: +undefined + +// _global < 0.000: +undefined +undefined + +// _global < "0.000": +undefined +undefined + +// _global < "True": +undefined +undefined + +// _global < "False": +undefined +undefined + +// _global < undefined: +undefined +undefined + +// _global < null: +undefined +undefined + +// _global < 2.0: +undefined +undefined + +// _global < -2.0: +undefined +undefined + +// _global < NaN: +undefined +undefined + +// _global < Infinity: +undefined +undefined + +// _global < -Infinity: +undefined +undefined + +// _global < "a": +undefined +undefined + +// _global < "b": +undefined +undefined + +// _global < "A": +undefined +undefined + +// 0.000 < 0.000: +false + +// 0.000 < "0.000": +false +false + +// 0.000 < "True": +undefined +undefined + +// 0.000 < "False": +undefined +undefined + +// 0.000 < undefined: +undefined +undefined + +// 0.000 < null: +undefined +undefined + +// 0.000 < 2.0: +true +false + +// 0.000 < -2.0: +false +true + +// 0.000 < NaN: +undefined +undefined + +// 0.000 < Infinity: +true +false + +// 0.000 < -Infinity: +false +true + +// 0.000 < "a": +undefined +undefined + +// 0.000 < "b": +undefined +undefined + +// 0.000 < "A": +undefined +undefined + +// "0.000" < "0.000": +false + +// "0.000" < "True": +true +false + +// "0.000" < "False": +true +false + +// "0.000" < undefined: +undefined +undefined + +// "0.000" < null: +undefined +undefined + +// "0.000" < 2.0: +true +false + +// "0.000" < -2.0: +false +true + +// "0.000" < NaN: +undefined +undefined + +// "0.000" < Infinity: +true +false + +// "0.000" < -Infinity: +false +true + +// "0.000" < "a": +true +false + +// "0.000" < "b": +true +false + +// "0.000" < "A": +true +false + +// "True" < "True": +false + +// "True" < "False": +false +true + +// "True" < undefined: +undefined +undefined + +// "True" < null: +undefined +undefined + +// "True" < 2.0: +undefined +undefined + +// "True" < -2.0: +undefined +undefined + +// "True" < NaN: +undefined +undefined + +// "True" < Infinity: +undefined +undefined + +// "True" < -Infinity: +undefined +undefined + +// "True" < "a": +true +false + +// "True" < "b": +true +false + +// "True" < "A": +false +true + +// "False" < "False": +false + +// "False" < undefined: +undefined +undefined + +// "False" < null: +undefined +undefined + +// "False" < 2.0: +undefined +undefined + +// "False" < -2.0: +undefined +undefined + +// "False" < NaN: +undefined +undefined + +// "False" < Infinity: +undefined +undefined + +// "False" < -Infinity: +undefined +undefined + +// "False" < "a": +true +false + +// "False" < "b": +true +false + +// "False" < "A": +false +true + +// undefined < undefined: +undefined + +// undefined < null: +undefined +undefined + +// undefined < 2.0: +undefined +undefined + +// undefined < -2.0: +undefined +undefined + +// undefined < NaN: +undefined +undefined + +// undefined < Infinity: +undefined +undefined + +// undefined < -Infinity: +undefined +undefined + +// undefined < "a": +undefined +undefined + +// undefined < "b": +undefined +undefined + +// undefined < "A": +undefined +undefined + +// null < null: +undefined + +// null < 2.0: +undefined +undefined + +// null < -2.0: +undefined +undefined + +// null < NaN: +undefined +undefined + +// null < Infinity: +undefined +undefined + +// null < -Infinity: +undefined +undefined + +// null < "a": +undefined +undefined + +// null < "b": +undefined +undefined + +// null < "A": +undefined +undefined + +// 2.0 < 2.0: +false + +// 2.0 < -2.0: +false +true + +// 2.0 < NaN: +undefined +undefined + +// 2.0 < Infinity: +true +false + +// 2.0 < -Infinity: +false +true + +// 2.0 < "a": +undefined +undefined + +// 2.0 < "b": +undefined +undefined + +// 2.0 < "A": +undefined +undefined + +// -2.0 < -2.0: +false + +// -2.0 < NaN: +undefined +undefined + +// -2.0 < Infinity: +true +false + +// -2.0 < -Infinity: +false +true + +// -2.0 < "a": +undefined +undefined + +// -2.0 < "b": +undefined +undefined + +// -2.0 < "A": +undefined +undefined + +// NaN < NaN: +undefined + +// NaN < Infinity: +undefined +undefined + +// NaN < -Infinity: +undefined +undefined + +// NaN < "a": +undefined +undefined + +// NaN < "b": +undefined +undefined + +// NaN < "A": +undefined +undefined + +// Infinity < Infinity: +false + +// Infinity < -Infinity: +false +true + +// Infinity < "a": +undefined +undefined + +// Infinity < "b": +undefined +undefined + +// Infinity < "A": +undefined +undefined + +// -Infinity < -Infinity: +false + +// -Infinity < "a": +undefined +undefined + +// -Infinity < "b": +undefined +undefined + +// -Infinity < "A": +undefined +undefined + +// "a" < "a": +false + +// "a" < "b": +true +false + +// "a" < "A": +false +true + +// "b" < "b": +false + +// "b" < "A": +false +true + +// "A" < "A": +false + diff --git a/core/tests/swfs/avm1/lessthan2_swf7/test.fla b/core/tests/swfs/avm1/lessthan2_swf7/test.fla new file mode 100644 index 000000000..f24ef895b Binary files /dev/null and b/core/tests/swfs/avm1/lessthan2_swf7/test.fla differ diff --git a/core/tests/swfs/avm1/lessthan2_swf7/test.swf b/core/tests/swfs/avm1/lessthan2_swf7/test.swf new file mode 100644 index 000000000..c429a450f Binary files /dev/null and b/core/tests/swfs/avm1/lessthan2_swf7/test.swf differ diff --git a/core/tests/swfs/avm1/lessthan_swf4/output.txt b/core/tests/swfs/avm1/lessthan_swf4/output.txt new file mode 100644 index 000000000..0211ec55b --- /dev/null +++ b/core/tests/swfs/avm1/lessthan_swf4/output.txt @@ -0,0 +1,903 @@ +// true < true: +0 + +// true < false: +0 +1 + +// true < "true": +0 +1 + +// true < "false": +0 +1 + +// true < 1: +0 +0 + +// true < "1": +0 +0 + +// true < 0: +0 +1 + +// true < "0": +0 +1 + +// true < _global: +0 +1 + +// true < 0.000: +0 +1 + +// true < "0.000": +0 +1 + +// true < "True": +0 +1 + +// true < "False": +0 +1 + +// true < 2.0: +1 +0 + +// true < -2.0: +0 +1 + +// true < NaN: +0 +1 + +// true < Infinity: +0 +1 + +// true < -Infinity: +0 +1 + +// true < "a": +0 +1 + +// true < "b": +0 +1 + +// true < "A": +0 +1 + +// false < false: +0 + +// false < "true": +0 +0 + +// false < "false": +0 +0 + +// false < 1: +1 +0 + +// false < "1": +1 +0 + +// false < 0: +0 +0 + +// false < "0": +0 +0 + +// false < _global: +0 +0 + +// false < 0.000: +0 +0 + +// false < "0.000": +0 +0 + +// false < "True": +0 +0 + +// false < "False": +0 +0 + +// false < 2.0: +1 +0 + +// false < -2.0: +0 +1 + +// false < NaN: +0 +0 + +// false < Infinity: +0 +0 + +// false < -Infinity: +0 +0 + +// false < "a": +0 +0 + +// false < "b": +0 +0 + +// false < "A": +0 +0 + +// "true" < "true": +0 + +// "true" < "false": +0 +0 + +// "true" < 1: +1 +0 + +// "true" < "1": +1 +0 + +// "true" < 0: +0 +0 + +// "true" < "0": +0 +0 + +// "true" < _global: +0 +0 + +// "true" < 0.000: +0 +0 + +// "true" < "0.000": +0 +0 + +// "true" < "True": +0 +0 + +// "true" < "False": +0 +0 + +// "true" < 2.0: +1 +0 + +// "true" < -2.0: +0 +1 + +// "true" < NaN: +0 +0 + +// "true" < Infinity: +0 +0 + +// "true" < -Infinity: +0 +0 + +// "true" < "a": +0 +0 + +// "true" < "b": +0 +0 + +// "true" < "A": +0 +0 + +// "false" < "false": +0 + +// "false" < 1: +1 +0 + +// "false" < "1": +1 +0 + +// "false" < 0: +0 +0 + +// "false" < "0": +0 +0 + +// "false" < _global: +0 +0 + +// "false" < 0.000: +0 +0 + +// "false" < "0.000": +0 +0 + +// "false" < "True": +0 +0 + +// "false" < "False": +0 +0 + +// "false" < 2.0: +1 +0 + +// "false" < -2.0: +0 +1 + +// "false" < NaN: +0 +0 + +// "false" < Infinity: +0 +0 + +// "false" < -Infinity: +0 +0 + +// "false" < "a": +0 +0 + +// "false" < "b": +0 +0 + +// "false" < "A": +0 +0 + +// 1 < 1: +0 + +// 1 < "1": +0 +0 + +// 1 < 0: +0 +1 + +// 1 < "0": +0 +1 + +// 1 < _global: +0 +1 + +// 1 < 0.000: +0 +1 + +// 1 < "0.000": +0 +1 + +// 1 < "True": +0 +1 + +// 1 < "False": +0 +1 + +// 1 < 2.0: +1 +0 + +// 1 < -2.0: +0 +1 + +// 1 < NaN: +0 +1 + +// 1 < Infinity: +0 +1 + +// 1 < -Infinity: +0 +1 + +// 1 < "a": +0 +1 + +// 1 < "b": +0 +1 + +// 1 < "A": +0 +1 + +// "1" < "1": +0 + +// "1" < 0: +0 +1 + +// "1" < "0": +0 +1 + +// "1" < _global: +0 +1 + +// "1" < 0.000: +0 +1 + +// "1" < "0.000": +0 +1 + +// "1" < "True": +0 +1 + +// "1" < "False": +0 +1 + +// "1" < 2.0: +1 +0 + +// "1" < -2.0: +0 +1 + +// "1" < NaN: +0 +1 + +// "1" < Infinity: +0 +1 + +// "1" < -Infinity: +0 +1 + +// "1" < "a": +0 +1 + +// "1" < "b": +0 +1 + +// "1" < "A": +0 +1 + +// 0 < 0: +0 + +// 0 < "0": +0 +0 + +// 0 < _global: +0 +0 + +// 0 < 0.000: +0 +0 + +// 0 < "0.000": +0 +0 + +// 0 < "True": +0 +0 + +// 0 < "False": +0 +0 + +// 0 < 2.0: +1 +0 + +// 0 < -2.0: +0 +1 + +// 0 < NaN: +0 +0 + +// 0 < Infinity: +0 +0 + +// 0 < -Infinity: +0 +0 + +// 0 < "a": +0 +0 + +// 0 < "b": +0 +0 + +// 0 < "A": +0 +0 + +// "0" < "0": +0 + +// "0" < _global: +0 +0 + +// "0" < 0.000: +0 +0 + +// "0" < "0.000": +0 +0 + +// "0" < "True": +0 +0 + +// "0" < "False": +0 +0 + +// "0" < 2.0: +1 +0 + +// "0" < -2.0: +0 +1 + +// "0" < NaN: +0 +0 + +// "0" < Infinity: +0 +0 + +// "0" < -Infinity: +0 +0 + +// "0" < "a": +0 +0 + +// "0" < "b": +0 +0 + +// "0" < "A": +0 +0 + +// _global < _global: +0 + +// _global < 0.000: +0 +0 + +// _global < "0.000": +0 +0 + +// _global < "True": +0 +0 + +// _global < "False": +0 +0 + +// _global < 2.0: +1 +0 + +// _global < -2.0: +0 +1 + +// _global < NaN: +0 +0 + +// _global < Infinity: +0 +0 + +// _global < -Infinity: +0 +0 + +// _global < "a": +0 +0 + +// _global < "b": +0 +0 + +// _global < "A": +0 +0 + +// 0.000 < 0.000: +0 + +// 0.000 < "0.000": +0 +0 + +// 0.000 < "True": +0 +0 + +// 0.000 < "False": +0 +0 + +// 0.000 < 2.0: +1 +0 + +// 0.000 < -2.0: +0 +1 + +// 0.000 < NaN: +0 +0 + +// 0.000 < Infinity: +0 +0 + +// 0.000 < -Infinity: +0 +0 + +// 0.000 < "a": +0 +0 + +// 0.000 < "b": +0 +0 + +// 0.000 < "A": +0 +0 + +// "0.000" < "0.000": +0 + +// "0.000" < "True": +0 +0 + +// "0.000" < "False": +0 +0 + +// "0.000" < 2.0: +1 +0 + +// "0.000" < -2.0: +0 +1 + +// "0.000" < NaN: +0 +0 + +// "0.000" < Infinity: +0 +0 + +// "0.000" < -Infinity: +0 +0 + +// "0.000" < "a": +0 +0 + +// "0.000" < "b": +0 +0 + +// "0.000" < "A": +0 +0 + +// "True" < "True": +0 + +// "True" < "False": +0 +0 + +// "True" < 2.0: +1 +0 + +// "True" < -2.0: +0 +1 + +// "True" < NaN: +0 +0 + +// "True" < Infinity: +0 +0 + +// "True" < -Infinity: +0 +0 + +// "True" < "a": +0 +0 + +// "True" < "b": +0 +0 + +// "True" < "A": +0 +0 + +// "False" < "False": +0 + +// "False" < 2.0: +1 +0 + +// "False" < -2.0: +0 +1 + +// "False" < NaN: +0 +0 + +// "False" < Infinity: +0 +0 + +// "False" < -Infinity: +0 +0 + +// "False" < "a": +0 +0 + +// "False" < "b": +0 +0 + +// "False" < "A": +0 +0 + +// 2.0 < 2.0: +0 + +// 2.0 < -2.0: +0 +1 + +// 2.0 < NaN: +0 +1 + +// 2.0 < Infinity: +0 +1 + +// 2.0 < -Infinity: +0 +1 + +// 2.0 < "a": +0 +1 + +// 2.0 < "b": +0 +1 + +// 2.0 < "A": +0 +1 + +// -2.0 < -2.0: +0 + +// -2.0 < NaN: +1 +0 + +// -2.0 < Infinity: +1 +0 + +// -2.0 < -Infinity: +1 +0 + +// -2.0 < "a": +1 +0 + +// -2.0 < "b": +1 +0 + +// -2.0 < "A": +1 +0 + +// NaN < NaN: +0 + +// NaN < Infinity: +0 +0 + +// NaN < -Infinity: +0 +0 + +// NaN < "a": +0 +0 + +// NaN < "b": +0 +0 + +// NaN < "A": +0 +0 + +// Infinity < Infinity: +0 + +// Infinity < -Infinity: +0 +0 + +// Infinity < "a": +0 +0 + +// Infinity < "b": +0 +0 + +// Infinity < "A": +0 +0 + +// -Infinity < -Infinity: +0 + +// -Infinity < "a": +0 +0 + +// -Infinity < "b": +0 +0 + +// -Infinity < "A": +0 +0 + +// "a" < "a": +0 + +// "a" < "b": +0 +0 + +// "a" < "A": +0 +0 + +// "b" < "b": +0 + +// "b" < "A": +0 +0 + +// "A" < "A": +0 + diff --git a/core/tests/swfs/avm1/lessthan_swf7/test.fla b/core/tests/swfs/avm1/lessthan_swf4/test.fla similarity index 65% rename from core/tests/swfs/avm1/lessthan_swf7/test.fla rename to core/tests/swfs/avm1/lessthan_swf4/test.fla index 50bf69721..2eacf2a4a 100644 Binary files a/core/tests/swfs/avm1/lessthan_swf7/test.fla and b/core/tests/swfs/avm1/lessthan_swf4/test.fla differ diff --git a/core/tests/swfs/avm1/lessthan_swf4/test.swf b/core/tests/swfs/avm1/lessthan_swf4/test.swf new file mode 100644 index 000000000..53c06bf92 Binary files /dev/null and b/core/tests/swfs/avm1/lessthan_swf4/test.swf differ diff --git a/core/tests/swfs/avm1/lessthan_swf6/test.swf b/core/tests/swfs/avm1/lessthan_swf6/test.swf deleted file mode 100644 index 4b110668e..000000000 Binary files a/core/tests/swfs/avm1/lessthan_swf6/test.swf and /dev/null differ diff --git a/core/tests/swfs/avm1/lessthan_swf7/test.swf b/core/tests/swfs/avm1/lessthan_swf7/test.swf deleted file mode 100644 index 0876e61e8..000000000 Binary files a/core/tests/swfs/avm1/lessthan_swf7/test.swf and /dev/null differ diff --git a/core/tests/swfs/avm1/strictequals_swf6/output.txt b/core/tests/swfs/avm1/strictequals_swf6/output.txt new file mode 100644 index 000000000..9aae46817 --- /dev/null +++ b/core/tests/swfs/avm1/strictequals_swf6/output.txt @@ -0,0 +1,903 @@ +// true === true: +true + +// true === false: +false +false + +// true === "true": +false +false + +// true === "false": +false +false + +// true === 1: +false +false + +// true === "1": +false +false + +// true === 0: +false +false + +// true === "0": +false +false + +// true === this: +false +false + +// true === _global: +false +false + +// true === 0.000: +false +false + +// true === "0.000": +false +false + +// true === "True": +false +false + +// true === "False": +false +false + +// true === undefined: +false +false + +// true === null: +false +false + +// true === 2.0: +false +false + +// true === -2.0: +false +false + +// true === NaN: +false +false + +// true === Infinity: +false +false + +// true === -Infinity: +false +false + +// false === false: +true + +// false === "true": +false +false + +// false === "false": +false +false + +// false === 1: +false +false + +// false === "1": +false +false + +// false === 0: +false +false + +// false === "0": +false +false + +// false === this: +false +false + +// false === _global: +false +false + +// false === 0.000: +false +false + +// false === "0.000": +false +false + +// false === "True": +false +false + +// false === "False": +false +false + +// false === undefined: +false +false + +// false === null: +false +false + +// false === 2.0: +false +false + +// false === -2.0: +false +false + +// false === NaN: +false +false + +// false === Infinity: +false +false + +// false === -Infinity: +false +false + +// "true" === "true": +true + +// "true" === "false": +false +false + +// "true" === 1: +false +false + +// "true" === "1": +false +false + +// "true" === 0: +false +false + +// "true" === "0": +false +false + +// "true" === this: +false +false + +// "true" === _global: +false +false + +// "true" === 0.000: +false +false + +// "true" === "0.000": +false +false + +// "true" === "True": +false +false + +// "true" === "False": +false +false + +// "true" === undefined: +false +false + +// "true" === null: +false +false + +// "true" === 2.0: +false +false + +// "true" === -2.0: +false +false + +// "true" === NaN: +false +false + +// "true" === Infinity: +false +false + +// "true" === -Infinity: +false +false + +// "false" === "false": +true + +// "false" === 1: +false +false + +// "false" === "1": +false +false + +// "false" === 0: +false +false + +// "false" === "0": +false +false + +// "false" === this: +false +false + +// "false" === _global: +false +false + +// "false" === 0.000: +false +false + +// "false" === "0.000": +false +false + +// "false" === "True": +false +false + +// "false" === "False": +false +false + +// "false" === undefined: +false +false + +// "false" === null: +false +false + +// "false" === 2.0: +false +false + +// "false" === -2.0: +false +false + +// "false" === NaN: +false +false + +// "false" === Infinity: +false +false + +// "false" === -Infinity: +false +false + +// 1 === 1: +true + +// 1 === "1": +false +false + +// 1 === 0: +false +false + +// 1 === "0": +false +false + +// 1 === this: +false +false + +// 1 === _global: +false +false + +// 1 === 0.000: +false +false + +// 1 === "0.000": +false +false + +// 1 === "True": +false +false + +// 1 === "False": +false +false + +// 1 === undefined: +false +false + +// 1 === null: +false +false + +// 1 === 2.0: +false +false + +// 1 === -2.0: +false +false + +// 1 === NaN: +false +false + +// 1 === Infinity: +false +false + +// 1 === -Infinity: +false +false + +// "1" === "1": +true + +// "1" === 0: +false +false + +// "1" === "0": +false +false + +// "1" === this: +false +false + +// "1" === _global: +false +false + +// "1" === 0.000: +false +false + +// "1" === "0.000": +false +false + +// "1" === "True": +false +false + +// "1" === "False": +false +false + +// "1" === undefined: +false +false + +// "1" === null: +false +false + +// "1" === 2.0: +false +false + +// "1" === -2.0: +false +false + +// "1" === NaN: +false +false + +// "1" === Infinity: +false +false + +// "1" === -Infinity: +false +false + +// 0 === 0: +true + +// 0 === "0": +false +false + +// 0 === this: +false +false + +// 0 === _global: +false +false + +// 0 === 0.000: +true +true + +// 0 === "0.000": +false +false + +// 0 === "True": +false +false + +// 0 === "False": +false +false + +// 0 === undefined: +false +false + +// 0 === null: +false +false + +// 0 === 2.0: +false +false + +// 0 === -2.0: +false +false + +// 0 === NaN: +false +false + +// 0 === Infinity: +false +false + +// 0 === -Infinity: +false +false + +// "0" === "0": +true + +// "0" === this: +false +false + +// "0" === _global: +false +false + +// "0" === 0.000: +false +false + +// "0" === "0.000": +false +false + +// "0" === "True": +false +false + +// "0" === "False": +false +false + +// "0" === undefined: +false +false + +// "0" === null: +false +false + +// "0" === 2.0: +false +false + +// "0" === -2.0: +false +false + +// "0" === NaN: +false +false + +// "0" === Infinity: +false +false + +// "0" === -Infinity: +false +false + +// this === this: +true + +// this === _global: +false +false + +// this === 0.000: +false +false + +// this === "0.000": +false +false + +// this === "True": +false +false + +// this === "False": +false +false + +// this === undefined: +false +false + +// this === null: +false +false + +// this === 2.0: +false +false + +// this === -2.0: +false +false + +// this === NaN: +false +false + +// this === Infinity: +false +false + +// this === -Infinity: +false +false + +// _global === _global: +true + +// _global === 0.000: +false +false + +// _global === "0.000": +false +false + +// _global === "True": +false +false + +// _global === "False": +false +false + +// _global === undefined: +false +false + +// _global === null: +false +false + +// _global === 2.0: +false +false + +// _global === -2.0: +false +false + +// _global === NaN: +false +false + +// _global === Infinity: +false +false + +// _global === -Infinity: +false +false + +// 0.000 === 0.000: +true + +// 0.000 === "0.000": +false +false + +// 0.000 === "True": +false +false + +// 0.000 === "False": +false +false + +// 0.000 === undefined: +false +false + +// 0.000 === null: +false +false + +// 0.000 === 2.0: +false +false + +// 0.000 === -2.0: +false +false + +// 0.000 === NaN: +false +false + +// 0.000 === Infinity: +false +false + +// 0.000 === -Infinity: +false +false + +// "0.000" === "0.000": +true + +// "0.000" === "True": +false +false + +// "0.000" === "False": +false +false + +// "0.000" === undefined: +false +false + +// "0.000" === null: +false +false + +// "0.000" === 2.0: +false +false + +// "0.000" === -2.0: +false +false + +// "0.000" === NaN: +false +false + +// "0.000" === Infinity: +false +false + +// "0.000" === -Infinity: +false +false + +// "True" === "True": +true + +// "True" === "False": +false +false + +// "True" === undefined: +false +false + +// "True" === null: +false +false + +// "True" === 2.0: +false +false + +// "True" === -2.0: +false +false + +// "True" === NaN: +false +false + +// "True" === Infinity: +false +false + +// "True" === -Infinity: +false +false + +// "False" === "False": +true + +// "False" === undefined: +false +false + +// "False" === null: +false +false + +// "False" === 2.0: +false +false + +// "False" === -2.0: +false +false + +// "False" === NaN: +false +false + +// "False" === Infinity: +false +false + +// "False" === -Infinity: +false +false + +// undefined === undefined: +true + +// undefined === null: +false +false + +// undefined === 2.0: +false +false + +// undefined === -2.0: +false +false + +// undefined === NaN: +false +false + +// undefined === Infinity: +false +false + +// undefined === -Infinity: +false +false + +// null === null: +true + +// null === 2.0: +false +false + +// null === -2.0: +false +false + +// null === NaN: +false +false + +// null === Infinity: +false +false + +// null === -Infinity: +false +false + +// 2.0 === 2.0: +true + +// 2.0 === -2.0: +false +false + +// 2.0 === NaN: +false +false + +// 2.0 === Infinity: +false +false + +// 2.0 === -Infinity: +false +false + +// -2.0 === -2.0: +true + +// -2.0 === NaN: +false +false + +// -2.0 === Infinity: +false +false + +// -2.0 === -Infinity: +false +false + +// NaN === NaN: +false + +// NaN === Infinity: +false +false + +// NaN === -Infinity: +false +false + +// Infinity === Infinity: +true + +// Infinity === -Infinity: +false +false + +// -Infinity === -Infinity: +true + diff --git a/core/tests/swfs/avm1/strictequals_swf6/test.fla b/core/tests/swfs/avm1/strictequals_swf6/test.fla new file mode 100644 index 000000000..e92b9638c Binary files /dev/null and b/core/tests/swfs/avm1/strictequals_swf6/test.fla differ diff --git a/core/tests/swfs/avm1/strictequals_swf6/test.swf b/core/tests/swfs/avm1/strictequals_swf6/test.swf new file mode 100644 index 000000000..1574aa11b Binary files /dev/null and b/core/tests/swfs/avm1/strictequals_swf6/test.swf differ