guard-string-to-number-or-int32.js (599B)
1 function stringToNumber() { 2 function f(s) { 3 return ~~s; 4 } 5 6 var q = 0; 7 for (var i = 0; i < 200; ++i) { 8 q += f("1"); 9 q += f("0x2"); 10 q += f("0b11"); 11 q += f("0o4"); 12 13 // Invalid inputs: ~~Nan == 0 14 q += f("z"); 15 q += f("0x2.3"); 16 q += f("0x1.fp4"); 17 } 18 assertEq(q, (1 + 2 + 3 + 4) * 200); 19 } 20 stringToNumber(); 21 22 function stringToInt32() { 23 function f(s) { 24 return s - 0; 25 } 26 27 var q = 0; 28 for (var i = 0; i < 200; ++i) { 29 q += f("1"); 30 q += f("0x2"); 31 q += f("0b11"); 32 q += f("0o4"); 33 } 34 assertEq(q, (1 + 2 + 3 + 4) * 200); 35 } 36 stringToInt32();