tor-browser

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

test_on_new_promise.html (1395B)


      1 <!--
      2  Any copyright is dedicated to the Public Domain.
      3  http://creativecommons.org/publicdomain/zero/1.0/
      4 -->
      5 
      6 <!--
      7 Bug 1083210 - Sanity test for interaction between DOM promises and
      8 Debugger.prototype.onNewPromise.
      9 -->
     10 
     11 <html>
     12 <head>
     13  <title>Test for interaction with SpiderMonkey's Debugger.prototype.onNewPromise</title>
     14  <script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
     15  <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css">
     16 </head>
     17 <body>
     18 <p id="display"></p>
     19 <div id="content" style="display: none">
     20 
     21 </div>
     22 <pre id="test">
     23  <script type="application/javascript">
     24  is(Object.prototype.toString.call(new Promise(function() {})),
     25     "[object Promise]",
     26     "We should have the native DOM promise implementation.");
     27 
     28  const {addDebuggerToGlobal} = ChromeUtils.importESModule("resource://gre/modules/jsdebugger.sys.mjs");
     29  var dbgGlobal = new Cu.Sandbox(document.nodePrincipal,
     30                                 {freshCompartment: true});
     31  addDebuggerToGlobal(dbgGlobal);
     32  var dbg = new dbgGlobal.Debugger(this);
     33 
     34  var wrappedPromise;
     35  dbg.onNewPromise = function(wp) { wrappedPromise = wp; };
     36 
     37  var promise = new Promise(function() {});
     38  // eslint-disable-next-line no-debugger
     39  debugger;
     40  ok(wrappedPromise);
     41  is(wrappedPromise.unsafeDereference(), promise);
     42  </script>
     43 </pre>
     44 </body>
     45 </html>