137 lines
2.7 KiB
JavaScript
137 lines
2.7 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
/**
|
|
* Tests CensusTreeNode with `coarseType` breakdown.
|
|
*/
|
|
|
|
const countBreakdown = { by: "count", count: true, bytes: true };
|
|
|
|
const BREAKDOWN = {
|
|
by: "coarseType",
|
|
objects: { by: "objectClass", then: countBreakdown },
|
|
strings: countBreakdown,
|
|
scripts: countBreakdown,
|
|
other: { by: "internalType", then: countBreakdown },
|
|
};
|
|
|
|
const REPORT = {
|
|
"objects": {
|
|
"Function": { bytes: 10, count: 1 },
|
|
"Array": { bytes: 20, count: 2 },
|
|
},
|
|
"strings": { bytes: 10, count: 1 },
|
|
"scripts": { bytes: 1, count: 1 },
|
|
"other": {
|
|
"js::Shape": { bytes: 30, count: 3 },
|
|
"js::Shape2": { bytes: 40, count: 4 }
|
|
},
|
|
};
|
|
|
|
const EXPECTED = {
|
|
name: null,
|
|
bytes: 0,
|
|
totalBytes: 111,
|
|
count: 0,
|
|
totalCount: 12,
|
|
children: [
|
|
{
|
|
name: "other",
|
|
count: 0,
|
|
totalCount: 7,
|
|
bytes: 0,
|
|
totalBytes: 70,
|
|
children: [
|
|
{
|
|
name: "js::Shape2",
|
|
bytes: 40,
|
|
totalBytes: 40,
|
|
count: 4,
|
|
totalCount: 4,
|
|
children: undefined,
|
|
id: 9,
|
|
parent: 7,
|
|
reportLeafIndex: 8,
|
|
},
|
|
{
|
|
name: "js::Shape",
|
|
bytes: 30,
|
|
totalBytes: 30,
|
|
count: 3,
|
|
totalCount: 3,
|
|
children: undefined,
|
|
id: 8,
|
|
parent: 7,
|
|
reportLeafIndex: 7,
|
|
},
|
|
],
|
|
id: 7,
|
|
parent: 1,
|
|
reportLeafIndex: undefined,
|
|
},
|
|
{
|
|
name: "objects",
|
|
count: 0,
|
|
totalCount: 3,
|
|
bytes: 0,
|
|
totalBytes: 30,
|
|
children: [
|
|
{
|
|
name: "Array",
|
|
bytes: 20,
|
|
totalBytes: 20,
|
|
count: 2,
|
|
totalCount: 2,
|
|
children: undefined,
|
|
id: 4,
|
|
parent: 2,
|
|
reportLeafIndex: 3,
|
|
},
|
|
{
|
|
name: "Function",
|
|
bytes: 10,
|
|
totalBytes: 10,
|
|
count: 1,
|
|
totalCount: 1,
|
|
children: undefined,
|
|
id: 3,
|
|
parent: 2,
|
|
reportLeafIndex: 2,
|
|
},
|
|
],
|
|
id: 2,
|
|
parent: 1,
|
|
reportLeafIndex: undefined,
|
|
},
|
|
{
|
|
name: "strings",
|
|
count: 1,
|
|
totalCount: 1,
|
|
bytes: 10,
|
|
totalBytes: 10,
|
|
children: undefined,
|
|
id: 6,
|
|
parent: 1,
|
|
reportLeafIndex: 5,
|
|
},
|
|
{
|
|
name: "scripts",
|
|
count: 1,
|
|
totalCount: 1,
|
|
bytes: 1,
|
|
totalBytes: 1,
|
|
children: undefined,
|
|
id: 5,
|
|
parent: 1,
|
|
reportLeafIndex: 4,
|
|
},
|
|
],
|
|
id: 1,
|
|
parent: undefined,
|
|
reportLeafIndex: undefined,
|
|
};
|
|
|
|
function run_test() {
|
|
compareCensusViewData(BREAKDOWN, REPORT, EXPECTED);
|
|
}
|