39 lines
1.1 KiB
JavaScript
39 lines
1.1 KiB
JavaScript
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
/* See https://bugzilla.mozilla.org/show_bug.cgi?id=1298597 */
|
|
|
|
function run_test()
|
|
{
|
|
var sb = Cu.Sandbox("http://www.blah.com");
|
|
var resolveFun;
|
|
var p1 = new sb.Promise((res, rej) => {resolveFun = res});
|
|
var rejectFun;
|
|
var p2 = new sb.Promise((res, rej) => {rejectFun = rej});
|
|
Cu.nukeSandbox(sb);
|
|
Assert.ok(Cu.isDeadWrapper(sb), "sb should be dead");
|
|
Assert.ok(Cu.isDeadWrapper(p1), "p1 should be dead");
|
|
Assert.ok(Cu.isDeadWrapper(p2), "p2 should be dead");
|
|
|
|
var exception;
|
|
|
|
try{
|
|
resolveFun(1);
|
|
Assert.ok(false);
|
|
} catch (e) {
|
|
exception = e;
|
|
}
|
|
Assert.ok(exception.toString().includes("can't access dead object"),
|
|
"Resolving dead wrapped promise should throw");
|
|
|
|
exception = undefined;
|
|
try{
|
|
rejectFun(1);
|
|
Assert.ok(false);
|
|
} catch (e) {
|
|
exception = e;
|
|
}
|
|
Assert.ok(exception.toString().includes("can't access dead object"),
|
|
"Rejecting dead wrapped promise should throw");
|
|
}
|