test_on_new_promise.html 1.3 KB

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