123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <!--
- Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/
- -->
- <!--
- Bug 1084065 - Test that Debugger.prototype.onPromiseResolved doesn't get dupes.
- -->
- <html>
- <head>
- <title>Test for interaction with SpiderMonkey's Debugger.prototype.onNewPromise</title>
- <script type="application/javascript" src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="chrome://mochikit/content/tests/SimpleTest/test.css">
- </head>
- <body>
- <p id="display"></p>
- <div id="content" style="display: none">
- </div>
- <pre id="test">
- <script type="application/javascript">
- SimpleTest.waitForExplicitFinish();
- is(Object.prototype.toString.call(new Promise(function () {})),
- "[object Promise]",
- "We should have the native DOM promise implementation.");
- var Cu = Components.utils;
- Cu.import("resource://gre/modules/jsdebugger.jsm");
- var dbgGlobal = new Cu.Sandbox(document.nodePrincipal);
- addDebuggerToGlobal(dbgGlobal);
- var dbg = new dbgGlobal.Debugger(this);
- var seen = new Set();
- dbg.onPromiseSettled = function (wp) {
- is(seen.has(wp), false);
- seen.add(wp);
- };
- var promise = new Promise(function (fulfill, reject) {
- fulfill(1);
- fulfill(2);
- fulfill(3);
- });
- promise
- .then(function () {
- dbg.onPromiseSettled = undefined;
- })
- .then(null, function (e) {
- ok(false, "Got an unexpected error: " + e);
- })
- .then(SimpleTest.finish);
- </script>
- </pre>
- </body>
- </html>
|