mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-10-22 02:25:05 +00:00
54 lines
1.7 KiB
JavaScript
54 lines
1.7 KiB
JavaScript
|
"use strict";
|
||
|
|
||
|
var SOURCE_URL = getFileUrl("setBreakpoint-on-line-with-no-offsets-at-end-of-script.js");
|
||
|
|
||
|
function run_test() {
|
||
|
return Task.spawn(function* () {
|
||
|
do_test_pending();
|
||
|
|
||
|
DebuggerServer.registerModule("xpcshell-test/testactors");
|
||
|
DebuggerServer.init(() => true);
|
||
|
|
||
|
let global = createTestGlobal("test");
|
||
|
DebuggerServer.addTestGlobal(global);
|
||
|
|
||
|
let client = new DebuggerClient(DebuggerServer.connectPipe());
|
||
|
yield connect(client);
|
||
|
|
||
|
let { tabs } = yield listTabs(client);
|
||
|
let tab = findTab(tabs, "test");
|
||
|
let [, tabClient] = yield attachTab(client, tab);
|
||
|
let [, threadClient] = yield attachThread(tabClient);
|
||
|
yield resume(threadClient);
|
||
|
|
||
|
let promise = waitForNewSource(threadClient, SOURCE_URL);
|
||
|
loadSubScript(SOURCE_URL, global);
|
||
|
let { source } = yield promise;
|
||
|
let sourceClient = threadClient.source(source);
|
||
|
|
||
|
let location = { line: 7 };
|
||
|
let [packet, breakpointClient] = yield setBreakpoint(sourceClient, location);
|
||
|
do_check_false(packet.isPending); // NOTE: Change this when bug 1148356 lands
|
||
|
do_check_true("actualLocation" in packet);
|
||
|
let actualLocation = packet.actualLocation;
|
||
|
do_check_eq(actualLocation.line, 10);
|
||
|
|
||
|
packet = yield executeOnNextTickAndWaitForPause(function () {
|
||
|
Cu.evalInSandbox("f()", global);
|
||
|
}, client);
|
||
|
do_check_eq(packet.type, "paused");
|
||
|
let why = packet.why;
|
||
|
do_check_eq(why.type, "breakpoint");
|
||
|
do_check_eq(why.actors.length, 1);
|
||
|
do_check_eq(why.actors[0], breakpointClient.actor);
|
||
|
let where = packet.frame.where;
|
||
|
do_check_eq(where.source.actor, source.actor);
|
||
|
do_check_eq(where.line, actualLocation.line);
|
||
|
|
||
|
yield resume(threadClient);
|
||
|
yield close(client);
|
||
|
|
||
|
do_test_finished();
|
||
|
});
|
||
|
}
|