tor-browser

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

onerroreventhandler-frame.html (1693B)


      1 <body></body>
      2 <script>
      3 function check1(args, callee) {
      4  parent.t.step(function() {
      5    parent.assert_equals(callee.length, 5);
      6    parent.assert_equals(args.length, 5);
      7    parent.assert_equals(args[0], reference_error.message);
      8    parent.assert_equals(args[1], reference_error.filename);
      9    parent.assert_equals(args[2], reference_error.lineno);
     10    parent.assert_equals(args[3], reference_error.colno);
     11    parent.assert_equals(args[4], reference_error.error);
     12    parent.t.done();
     13  });
     14 }
     15 
     16 var reference_error = new ErrorEvent("error", {
     17  filename: "error_file.js",
     18  lineno: 333,
     19  colno: 999,
     20  message: "there was an error",
     21  error: {nondefault: 'some unusual object'},
     22 });
     23 
     24 parent.t.step(function() {
     25  document.body.outerHTML = "<body onerror='check1(arguments, arguments.callee)'></body>"
     26  window.dispatchEvent(reference_error);
     27 });
     28 
     29 function check2(args, callee) {
     30  parent.t2.step(function() {
     31    parent.assert_equals(callee.length, 5);
     32    parent.assert_equals(args.length, 1);
     33    parent.assert_false(args[0] instanceof ErrorEvent);
     34    parent.t2.done()
     35  });
     36 }
     37 
     38 parent.t2.step(function() {
     39  document.body.outerHTML = "<body onerror='check2(arguments, arguments.callee)'></body>"
     40  window.dispatchEvent(new Event("error"));
     41 });
     42 
     43 function check3(args, callee) {
     44  parent.t3.step(function() {
     45    parent.assert_equals(args.length, 1);
     46    parent.assert_equals(callee.length, 1);
     47  });
     48 }
     49 
     50 parent.t3.step(function() {
     51  document.body.outerHTML = "<body><span onerror='check3(arguments, arguments.callee)'></span></body>"
     52  document.body.firstChild.dispatchEvent(reference_error);
     53  document.body.firstChild.dispatchEvent(new Event("error"));
     54  parent.t3.done();
     55 });
     56 </script>