Serenity Operating System
at hosted 27 lines 936 B view raw
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}