number-toString.js (716B)
1 function int32() { 2 var n = 42; 3 for (var i = 0; i < 100; i++) { 4 assertEq(n.toString(), "42"); 5 } 6 } 7 8 function double() { 9 var n = 3.14; 10 for (var i = 0; i < 100; i++) { 11 assertEq(n.toString(), "3.14"); 12 } 13 } 14 15 function number() { 16 var n = 1; 17 for (var i = 0; i < 100; i++) { 18 assertEq(n.toString(), i > 50 ? "3.14" : "1"); 19 if (i == 50) { 20 n = 3.14; 21 } 22 } 23 } 24 25 function obj() { 26 var o = new Number(42); 27 for (var i = 0; i < 100; i++) { 28 assertEq(o.toString(), "42"); 29 } 30 } 31 32 function overwritten() { 33 Number.prototype.toString = () => "haha"; 34 var n = 42; 35 for (var i = 0; i < 100; i++) { 36 assertEq(n.toString(), "haha"); 37 } 38 } 39 40 int32(); 41 double(); 42 number(); 43 obj(); 44 overwritten();