tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

parseInt-parseFloat.js (1668B)


      1 function toLatin1(s) {
      2    assertEq(isLatin1(s), true);
      3    return s;
      4 }
      5 function testParseInt() {
      6    // Latin1
      7    assertEq(parseInt(toLatin1("12345abc")), 12345);
      8    assertEq(parseInt(toLatin1("0x5")), 0x5);
      9    assertEq(parseInt(toLatin1("-123")), -123);
     10    assertEq(parseInt(toLatin1("xyz")), NaN);
     11    assertEq(parseInt(toLatin1("1234GHI"), 17), 94298);
     12    assertEq(parseInt(toLatin1("9007199254749999")), 9007199254750000);
     13    assertEq(parseInt(toLatin1("  9007199254749998"), 16), 10378291982571444000);
     14 
     15    // TwoByte
     16    assertEq(parseInt("12345abc\u1200"), 12345);
     17    assertEq(parseInt("0x5\u1200"), 0x5);
     18    assertEq(parseInt("  -123\u1200"), -123);
     19    assertEq(parseInt("\u1200"), NaN);
     20    assertEq(parseInt("1234GHI\u1200", 17), 94298);
     21    assertEq(parseInt("9007199254749999\u1200"), 9007199254750000);
     22    assertEq(parseInt("  9007199254749998\u1200", 16), 10378291982571444000);
     23 }
     24 testParseInt();
     25 
     26 function testParseFloat() {
     27    // Latin1
     28    assertEq(parseFloat(toLatin1("3.1415")), 3.1415);
     29    assertEq(parseFloat(toLatin1("  -1234")), -1234);
     30    assertEq(parseFloat(toLatin1("\u00AA")), NaN);
     31    assertEq(parseFloat(toLatin1("Infinityabc")), Infinity);
     32    assertEq(parseFloat(toLatin1("-Infinity")), -Infinity);
     33    assertEq(parseFloat(toLatin1("\t\t\t+Infinity")), Infinity);
     34 
     35    // TwoByte
     36    assertEq(parseFloat("3.1415\u0FFF"), 3.1415);
     37    assertEq(parseFloat("  -1234\u0FFF"), -1234);
     38    assertEq(parseFloat("\u00AA\u0FFF"), NaN);
     39    assertEq(parseFloat("Infinityabc\u0FFF"), Infinity);
     40    assertEq(parseFloat("-Infinity\u0FFF"), -Infinity);
     41    assertEq(parseFloat("\t\t\t+Infinity\u0FFF"), Infinity);
     42 }
     43 testParseFloat();