mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 04:27:44 +00:00
LibJS: The global isNaN() should coerce to number before testing NaN
For stricter NaN checking, we'll have to implement Number.isNaN().
This commit is contained in:
parent
c60dc84a33
commit
6a5cd32205
2 changed files with 2 additions and 2 deletions
|
@ -21,7 +21,7 @@ GlobalObject::GlobalObject()
|
||||||
put_native_function("isNaN", [](Object*, Vector<Value> arguments) -> Value {
|
put_native_function("isNaN", [](Object*, Vector<Value> arguments) -> Value {
|
||||||
if (arguments.size() < 1)
|
if (arguments.size() < 1)
|
||||||
return js_undefined();
|
return js_undefined();
|
||||||
return Value(arguments[0].is_nan());
|
return Value(arguments[0].to_number().is_nan());
|
||||||
});
|
});
|
||||||
put("Math", heap().allocate<MathObject>());
|
put("Math", heap().allocate<MathObject>());
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@ try {
|
||||||
assert(nan + "" == "NaN");
|
assert(nan + "" == "NaN");
|
||||||
assert(isNaN(nan) === true);
|
assert(isNaN(nan) === true);
|
||||||
assert(isNaN(0) === false);
|
assert(isNaN(0) === false);
|
||||||
assert(isNaN(undefined) === false);
|
assert(isNaN(undefined) === true);
|
||||||
assert(isNaN(null) === false);
|
assert(isNaN(null) === false);
|
||||||
console.log("PASS");
|
console.log("PASS");
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue