tor-browser

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

prop-access-error-message.js (934B)


      1 // |jit-test| skip-if: getBuildConfiguration('pbl')
      2 // The decompiled expression used in the error messsage should not be confused
      3 // by unrelated value on the stack.
      4 
      5 var a = {};
      6 var b = {};
      7 var p = "c";
      8 
      9 function doPropAccess() {
     10  // Both "a.c" and "b.e" are undefined.
     11  // "a.c" should be used.
     12  a.c.d = b.e;
     13 }
     14 
     15 function testPropAccess() {
     16  var caught = false;
     17  try {
     18    doPropAccess();
     19  } catch (e) {
     20    assertEq(e.message.includes("a.c is undefined"), true);
     21    caught = true;
     22  }
     23  assertEq(caught, true);
     24 }
     25 
     26 function doElemAccess() {
     27  // Both "a[x]" and "b.e" are undefined.
     28  // "a[x]" should be used.
     29  var x = "c";
     30  a[x].d = b.e;
     31 }
     32 
     33 function testElemAccess() {
     34  var caught = false;
     35  try {
     36    doElemAccess();
     37  } catch (e) {
     38    assertEq(e.message.includes("a[x] is undefined"), true);
     39    caught = true;
     40  }
     41  assertEq(caught, true);
     42 }
     43 
     44 for (var i = 0; i < 10; i++) {
     45  testPropAccess();
     46  testElemAccess();
     47 }