tor-browser

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

toNumber.js (1314B)


      1 load(libdir + "asserts.js");
      2 
      3 var sym = Symbol();
      4 
      5 function add2(x) {
      6    return x + 2;
      7 }
      8 for (var i = 0; i < 9; i++)
      9    assertThrowsInstanceOf(() => add2(sym), TypeError);
     10 
     11 function sqr(x) {
     12    return x * x;
     13 }
     14 for (var i = 0; i < 9; i++)
     15    assertThrowsInstanceOf(() => sqr(sym), TypeError);
     16 
     17 function bit_or(x) {
     18    return x | x;
     19 }
     20 for (var i = 0; i < 9; i++)
     21    assertThrowsInstanceOf(() => bit_or(sym), TypeError);
     22 
     23 function bit_not(x) {
     24    return ~x;
     25 }
     26 for (var i = 0; i < 9; i++)
     27    assertThrowsInstanceOf(() => bit_not(sym), TypeError);
     28 
     29 function plus(x) {
     30    return +x;
     31 }
     32 for (var i = 0; i < 9; i++)
     33    assertThrowsInstanceOf(() => plus(sym), TypeError);
     34 
     35 function f(a, b) {
     36    return a + b;
     37 }
     38 
     39 function testPoly() {
     40    assertEq(f(20, 30), 50);
     41    assertEq(f("one", "two"), "onetwo");
     42    assertThrowsInstanceOf(() => f(Symbol("one"), Symbol("two")), TypeError);
     43    assertThrowsInstanceOf(() => f(Symbol("14"), 14), TypeError);
     44    assertThrowsInstanceOf(() => f(Symbol("14"), 13.719), TypeError);
     45    assertThrowsInstanceOf(() => f(14, Symbol("14")), TypeError);
     46    assertThrowsInstanceOf(() => f(13.719, Symbol("14")), TypeError);
     47 }
     48 
     49 for (var i = 0; i < 9; i++)
     50    testPoly();
     51 
     52 for (var i = 0; i < 9; i++)
     53    assertThrowsInstanceOf(() => assertEq(f(Symbol("14"), "40"), NaN), TypeError);