Serenity Operating System
1try {
2 assert(Number.length === 1);
3 assert(typeof Number() === "number");
4 assert(typeof new Number() === "object");
5 assert(Number() === 0);
6 assert(new Number().valueOf() === 0);
7 assert(Number("42") === 42);
8 assert(new Number("42").valueOf() === 42);
9 assert(Number(null) === 0);
10 assert(new Number(null).valueOf() === 0);
11 assert(Number(true) === 1);
12 assert(new Number(true).valueOf() === 1);
13 assert(isNaN(Number(undefined)));
14 assert(isNaN(new Number(undefined).valueOf()));
15 assert(isNaN(Number({})));
16 assert(isNaN(new Number({}).valueOf()));
17 assert(isNaN(Number({a: 1})));
18 assert(isNaN(new Number({a: 1}).valueOf()));
19 assert(isNaN(Number([1, 2, 3])));
20 assert(isNaN(new Number([1, 2, 3]).valueOf()));
21 assert(isNaN(Number("foo")));
22 assert(isNaN(new Number("foo").valueOf()));
23
24 console.log("PASS");
25} catch (e) {
26 console.log("FAIL: " + e.message);
27}