blob: 3763b9d0c361cbbbc404a93724b83754f6c8f559 [file] [log] [blame]
// Check byte counts produced by takeCensus.
const g = newGlobal();
g.eval("setLazyParsingDisabled(true)");
const dbg = new Debugger(g);
g.evaluate("function one() {}", { fileName: "one.js" });
g.evaluate(`function two1() {}
function two2() {}`,
{ fileName: "two.js" });
g.evaluate(`function three1() {}
function three2() {}
function three3() {}`,
{ fileName: "three.js" });
const report = dbg.memory.takeCensus({
breakdown: {
by: "coarseType",
scripts: {
by: "filename",
then: { by: "count", count: true, bytes: false },
noFilename: {
by: "internalType",
then: { by: "count", count: true, bytes: false }
}
},
// Not really interested in these, but they're here for completeness.
objects: { by: "count", count: true, byte: false },
strings: { by: "count", count: true, byte: false },
other: { by: "count", count: true, byte: false },
}
});
print(JSON.stringify(report, null, 4));
assertEq(report.scripts["one.js"].count, 1);
assertEq(report.scripts["two.js"].count, 2);
assertEq(report.scripts["three.js"].count, 3);
const noFilename = report.scripts.noFilename;
assertEq(!!noFilename, true);
assertEq(typeof noFilename, "object");