Bug 1073124 part 3. Make PromiseDebugging [Exposed=System]. r=bholley

This commit is contained in:
Boris Zbarsky 2014-10-17 11:30:19 -04:00
parent 40ea5978c5
commit 12a33d99a2
3 changed files with 22 additions and 1 deletions

View File

@ -0,0 +1,20 @@
function run_test()
{
// Hack around Promise.jsm being stuck on my global
do_check_false(PromiseDebugging === undefined);
var res;
var p = new Promise(function(resolve, reject) { res = resolve });
var state = PromiseDebugging.getState(p);
do_check_eq(state.state, "pending");
do_test_pending();
p.then(function() {
var state = PromiseDebugging.getState(p);
do_check_eq(state.state, "fulfilled");
do_check_eq(state.value, 5);
do_test_finished();
});
res(5);
}

View File

@ -18,3 +18,4 @@ skip-if = os == "mac" || os == "android"
skip-if = os == "android"
[test_geolocation_reset_accuracy_wrap.js]
skip-if = os == "mac" || os == "android"
[test_PromiseDebugging.js]

View File

@ -14,7 +14,7 @@ dictionary PromiseDebuggingStateHolder {
};
enum PromiseDebuggingState { "pending", "fulfilled", "rejected" };
[ChromeOnly]
[ChromeOnly, Exposed=(Window,System)]
interface PromiseDebugging {
static PromiseDebuggingStateHolder getState(Promise<any> p);
};