1
0
Fork 0
mirror of https://github.com/LadybirdBrowser/ladybird.git synced 2025-06-09 09:34:57 +09:00

LibJS: Trim whitespace from string before coercing to number

This commit is contained in:
Linus Groh 2020-05-13 00:28:42 +01:00 committed by Andreas Kling
parent f39c7c2978
commit de42ddfd93
Notes: sideshowbarker 2024-07-19 06:41:03 +09:00
2 changed files with 4 additions and 2 deletions

View file

@ -165,8 +165,7 @@ Value Value::to_number() const
case Type::Number:
return Value(m_value.as_double);
case Type::String: {
// FIXME: Trim whitespace beforehand
auto& string = as_string().string();
auto string = as_string().string().trim_whitespace();
if (string.is_empty())
return Value(0);
if (string == "Infinity" || string == "+Infinity")

View file

@ -35,6 +35,9 @@ try {
assert(-"Infinity" === -Infinity);
assert(-"+Infinity" === -Infinity);
assert(-"-Infinity" === Infinity);
assert(+" \r \t \n " === 0);
assert(+" \n \t Infinity \r " === Infinity);
assert(+"\r \n1.23 \t\t\t \n" === 1.23);
assert(isNaN(+undefined));
assert(isNaN(-undefined));