1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-23 18:57:35 +00:00

LibJS: Throw TypeError when coercing symbol to number

This commit is contained in:
Linus Groh 2020-05-18 00:54:10 +01:00 committed by Andreas Kling
parent 476094922b
commit 4569e88bea
2 changed files with 8 additions and 9 deletions

View file

@ -231,8 +231,8 @@ Value Value::to_number(Interpreter& interpreter) const
return Value(parsed_double); return Value(parsed_double);
} }
case Type::Symbol: case Type::Symbol:
// FIXME: Get access to the interpreter and throw a TypeError interpreter.throw_exception<TypeError>("Can't convert symbol to number");
ASSERT_NOT_REACHED(); return {};
case Type::Object: case Type::Object:
auto primitive = m_value.as_object->to_primitive(Object::PreferredType::Number); auto primitive = m_value.as_object->to_primitive(Object::PreferredType::Number);
if (interpreter.exception()) if (interpreter.exception())

View file

@ -14,13 +14,12 @@ try {
message: "Can't convert symbol to string", message: "Can't convert symbol to string",
}); });
// FIXME: Uncomment when this doesn't assert assertThrowsError(() => {
// assertThrowsError(() => { s1 + 1;
// s1 + 1; }, {
// }, { error: TypeError,
// error: TypeError, message: "Can't convert symbol to number",
// message: "Can't convert symbol to number", });
// });
console.log("PASS"); console.log("PASS");
} catch (e) { } catch (e) {