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>