Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* Any copyright is dedicated to the Public Domain.
"use strict";
// Test basic functionality of `CensusUtils.getCensusIndividuals`.
function run_test() {
const stack1 = saveStack(1);
const stack2 = saveStack(1);
const stack3 = saveStack(1);
const COUNT = { by: "count", count: true, bytes: true };
const INTERNAL_TYPE = { by: "internalType", then: COUNT };
const BREAKDOWN = {
by: "allocationStack",
then: INTERNAL_TYPE,
noStack: INTERNAL_TYPE,
};
const MOCK_SNAPSHOT = {
takeCensus: ({ breakdown }) => {
assertStructurallyEquivalent(
breakdown,
CensusUtils.countToBucketBreakdown(BREAKDOWN)
);
// DFS Index
// prettier-ignore
return new Map([ // 0
[stack1, { // 1
JSObject: [101, 102, 103], // 2
JSString: [111, 112, 113], // 3
}],
[stack2, { // 4
JSObject: [201, 202, 203], // 5
JSString: [211, 212, 213], // 6
}],
[stack3, { // 7
JSObject: [301, 302, 303], // 8
JSString: [311, 312, 313], // 9
}],
["noStack", { // 10
JSObject: [401, 402, 403], // 11
JSString: [411, 412, 413], // 12
}],
]);
},
};
const INDICES = new Set([3, 5, 9]);
const EXPECTED = new Set([111, 112, 113, 201, 202, 203, 311, 312, 313]);
const actual = new Set(
CensusUtils.getCensusIndividuals(INDICES, BREAKDOWN, MOCK_SNAPSHOT)
);
assertStructurallyEquivalent(EXPECTED, actual);
}