Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* Any copyright is dedicated to the Public Domain.
"use strict";
// Test stack.js.
function run_test() {
const loader = new DevToolsLoader();
const require = loader.require;
const {
StackFrameCache,
} = require("resource://devtools/server/actors/utils/stack.js");
const cache = new StackFrameCache();
cache.initFrames();
const baseFrame = {
line: 23,
column: 77,
source: "nowhere",
functionDisplayName: "nobody",
parent: null,
asyncParent: null,
asyncCause: null,
};
cache.addFrame(baseFrame);
let event = cache.makeEvent();
Assert.equal(event[0], null);
Assert.equal(event[1].functionDisplayName, "nobody");
Assert.equal(event.length, 2);
cache.addFrame({
line: 24,
column: 78,
source: "nowhere",
functionDisplayName: "still nobody",
parent: null,
asyncParent: baseFrame,
asyncCause: "async",
});
event = cache.makeEvent();
Assert.equal(event[0].functionDisplayName, "still nobody");
Assert.equal(event[0].parent, 0);
Assert.equal(event[0].asyncParent, 1);
Assert.equal(event.length, 1);
}