tor-browser

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

test_lenientThis.html (1300B)


      1 <!doctype html>
      2 <meta charset=utf-8>
      3 <title>[LenientThis]</title>
      4 <script src=/resources/testharness.js></script>
      5 <script src=/resources/testharnessreport.js></script>
      6 <div id=log></div>
      7 <script>
      8 /* global test, assert_equals */
      9 function noop1() { }
     10 function noop2() { }
     11 
     12 test(function() {
     13  var desc = Object.getOwnPropertyDescriptor(Document.prototype, "onreadystatechange");
     14 
     15  document.onreadystatechange = noop1;
     16  assert_equals(document.onreadystatechange, noop1, "document.onreadystatechange == noop1");
     17  assert_equals(desc.get.call({ }), undefined, "document.onreadystatechange getter.call({}) == undefined");
     18 }, "invoking Document.onreadystatechange's getter with an invalid this object returns undefined");
     19 
     20 test(function() {
     21  var desc = Object.getOwnPropertyDescriptor(Document.prototype, "onreadystatechange");
     22 
     23  document.onreadystatechange = noop1;
     24  assert_equals(document.onreadystatechange, noop1, "document.onreadystatechange == noop1");
     25  assert_equals(desc.set.call({ }, noop2), undefined, "document.onreadystatechange setter.call({}) == undefined");
     26  assert_equals(document.onreadystatechange, noop1, "document.onreadystatechange == noop1 (still)");
     27 }, "invoking Document.onreadystatechange's setter with an invalid this object does nothing and returns undefined");
     28 </script>