1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 17:35:08 +00:00

LibJS: Add Number()

This commit is contained in:
Linus Groh 2020-04-07 16:17:23 +01:00 committed by Andreas Kling
parent 40ac94995d
commit f631f6a2e6
5 changed files with 137 additions and 0 deletions

View file

@ -0,0 +1,27 @@
try {
assert(Number.length === 1);
assert(typeof Number() === "number");
assert(typeof new Number() === "object");
assert(Number() === 0);
assert(new Number().valueOf() === 0);
assert(Number("42") === 42);
assert(new Number("42").valueOf() === 42);
assert(Number(null) === 0);
assert(new Number(null).valueOf() === 0);
assert(Number(true) === 1);
assert(new Number(true).valueOf() === 1);
assert(isNaN(Number(undefined)));
assert(isNaN(new Number(undefined).valueOf()));
assert(isNaN(Number({})));
assert(isNaN(new Number({}).valueOf()));
assert(isNaN(Number({a: 1})));
assert(isNaN(new Number({a: 1}).valueOf()));
assert(isNaN(Number([1, 2, 3])));
assert(isNaN(new Number([1, 2, 3]).valueOf()));
assert(isNaN(Number("foo")));
assert(isNaN(new Number("foo").valueOf()));
console.log("PASS");
} catch (e) {
console.log("FAIL: " + e.message);
}