1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"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);
}
|