diff --git a/core/tests/regression_tests.rs b/core/tests/regression_tests.rs index 1bf056392..693368675 100644 --- a/core/tests/regression_tests.rs +++ b/core/tests/regression_tests.rs @@ -467,6 +467,7 @@ swf_tests_approx! { (stage_object_properties, "avm1/stage_object_properties", 6, epsilon = 0.051), (stage_object_properties_swf6, "avm1/stage_object_properties_swf6", 4, epsilon = 0.051), (movieclip_getbounds, "avm1/movieclip_getbounds", 1, epsilon = 0.051), + (parse_float, "avm1/parse_float", 1, max_relative = 5.0 * std::f64::EPSILON), (edittext_letter_spacing, "avm1/edittext_letter_spacing", 1, epsilon = 15.0), // TODO: Discrepancy in wrapping in letterSpacing = 0.1 test. (edittext_align, "avm1/edittext_align", 1, epsilon = 3.0), (edittext_margins, "avm1/edittext_margins", 1, epsilon = 5.0), // TODO: Discrepancy in wrapping. diff --git a/core/tests/swfs/avm1/parse_float/output.txt b/core/tests/swfs/avm1/parse_float/output.txt new file mode 100644 index 000000000..9f61f2e28 --- /dev/null +++ b/core/tests/swfs/avm1/parse_float/output.txt @@ -0,0 +1,44 @@ +// parseFloat("12345") +12345 +// parseFloat("012345.67890") +12345.6789 +// parseFloat(" 99999.99999 ") +99999.99999 +// parseFloat("-22222222222222222") +-2.22222222222222e+16 +// parseFloat(".0000000000000000000000005") +5e-25 +// parseFloat("0000.12345GIBBERISH") +0.12345 +// parseFloat("9e99999") +Infinity +// parseFloat("+100e-100") +1e-98 +// parseFloat("-123.234E+66") +-1.23234e+68 +// parseFloat(".2E20E1") +2e+19 +// parseFloat("1.2345.678") +1.2345678 +// parseFloat("1.2345.6e50") +1.23456 +// parseFloat("-034.1+e20") +-34.1 +// parseFloat("e10") +NaN +// parseFloat("BADBAD") +NaN +// parseFloat("-") +NaN +// parseFloat("0xff") +0 +// parseFloat("Infinity") +NaN +// parseFloat(true) +NaN +// parseFloat(1.2) +1.2 +// parseFloat(Infinity) +NaN +// parseFloat({toString}) +5 diff --git a/core/tests/swfs/avm1/parse_float/test.fla b/core/tests/swfs/avm1/parse_float/test.fla new file mode 100644 index 000000000..edadfe580 Binary files /dev/null and b/core/tests/swfs/avm1/parse_float/test.fla differ diff --git a/core/tests/swfs/avm1/parse_float/test.swf b/core/tests/swfs/avm1/parse_float/test.swf new file mode 100644 index 000000000..26cd207aa Binary files /dev/null and b/core/tests/swfs/avm1/parse_float/test.swf differ