Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* Any copyright is dedicated to the Public Domain.
/* eslint-disable no-shadow, max-nested-callbacks */
"use strict";
/**
* Check that requesting a thread-lifetime actor twice for the same
* value returns the same actor.
*/
var gDebuggee;
var gClient;
var gThreadFront;
add_task(
threadFrontTest(
async ({ threadFront, debuggee, client }) => {
gThreadFront = threadFront;
gClient = client;
gDebuggee = debuggee;
test_thread_lifetime();
},
{ waitForFinish: true }
)
);
function test_thread_lifetime() {
gThreadFront.once("paused", async function (packet) {
const pauseGrip = packet.frame.arguments[0];
const response = await gClient.request({
to: pauseGrip.actor,
type: "threadGrip",
});
const threadGrip1 = response.from;
const response2 = await gClient.request({
to: pauseGrip.actor,
type: "threadGrip",
});
Assert.equal(threadGrip1, response2.from);
await gThreadFront.resume();
threadFrontTestFinished();
});
gDebuggee.eval(
"(" +
function () {
// These arguments are tested.
// eslint-disable-next-line no-unused-vars
function stopMe(arg1) {
debugger;
}
stopMe({ obj: true });
} +
")()"
);
}