summaryrefslogtreecommitdiffstats
path: root/devtools/shared/heapsnapshot/tests/unit/test_getReportLeaves_01.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/shared/heapsnapshot/tests/unit/test_getReportLeaves_01.js')
-rw-r--r--devtools/shared/heapsnapshot/tests/unit/test_getReportLeaves_01.js114
1 files changed, 0 insertions, 114 deletions
diff --git a/devtools/shared/heapsnapshot/tests/unit/test_getReportLeaves_01.js b/devtools/shared/heapsnapshot/tests/unit/test_getReportLeaves_01.js
deleted file mode 100644
index 4c4298b6a..000000000
--- a/devtools/shared/heapsnapshot/tests/unit/test_getReportLeaves_01.js
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ */
-"use strict";
-
-// Test basic functionality of `CensusUtils.getReportLeaves`.
-
-function run_test() {
- const BREAKDOWN = {
- by: "coarseType",
- objects: {
- by: "objectClass",
- then: { by: "count", count: true, bytes: true },
- other: { by: "count", count: true, bytes: true },
- },
- strings: { by: "count", count: true, bytes: true },
- scripts: {
- by: "filename",
- then: {
- by: "internalType",
- then: { by: "count", count: true, bytes: true },
- },
- noFilename: {
- by: "internalType",
- then: { by: "count", count: true, bytes: true },
- },
- },
- other: {
- by: "internalType",
- then: { by: "count", count: true, bytes: true },
- },
- };
-
- const REPORT = {
- objects: {
- Array: { count: 6, bytes: 60 },
- Function: { count: 1, bytes: 10 },
- Object: { count: 1, bytes: 10 },
- RegExp: { count: 1, bytes: 10 },
- other: { count: 0, bytes: 0 },
- },
- strings: { count: 1, bytes: 10 },
- scripts: {
- "foo.js": {
- JSScript: { count: 1, bytes: 10 },
- "js::jit::IonScript": { count: 1, bytes: 10 },
- },
- noFilename: {
- JSScript: { count: 1, bytes: 10 },
- "js::jit::IonScript": { count: 1, bytes: 10 },
- },
- },
- other: {
- "js::Shape": { count: 7, bytes: 70 },
- "js::BaseShape": { count: 1, bytes: 10 },
- },
- };
-
- const root = censusReportToCensusTreeNode(BREAKDOWN, REPORT);
- dumpn("CensusTreeNode tree = " + JSON.stringify(root, null, 4));
-
- (function assertEveryNodeCanFindItsLeaf(node) {
- if (node.reportLeafIndex) {
- const [ leaf ] = CensusUtils.getReportLeaves(new Set([node.reportLeafIndex]),
- BREAKDOWN,
- REPORT);
- ok(leaf, "Should be able to find leaf for a node with a reportLeafIndex = " + node.reportLeafIndex);
- }
-
- if (node.children) {
- for (let child of node.children) {
- assertEveryNodeCanFindItsLeaf(child);
- }
- }
- }(root));
-
- // Test finding multiple leaves at a time.
-
- function find(name, node) {
- if (node.name === name) {
- return node;
- }
-
- if (node.children) {
- for (let child of node.children) {
- const found = find(name, child);
- if (found) {
- return found;
- }
- }
- }
- }
-
- const arrayNode = find("Array", root);
- ok(arrayNode);
- equal(typeof arrayNode.reportLeafIndex, "number");
-
- const shapeNode = find("js::Shape", root);
- ok(shapeNode);
- equal(typeof shapeNode.reportLeafIndex, "number");
-
- const indices = new Set([arrayNode.reportLeafIndex, shapeNode.reportLeafIndex]);
- const leaves = CensusUtils.getReportLeaves(indices, BREAKDOWN, REPORT);
- equal(leaves.length, 2);
-
- // `getReportLeaves` does not guarantee order of the results, so handle both
- // cases.
- ok(leaves.some(l => l === REPORT.objects.Array));
- ok(leaves.some(l => l === REPORT.other["js::Shape"]));
-
- // Test that bad indices do not yield results.
-
- const none = CensusUtils.getReportLeaves(new Set([999999999999]), BREAKDOWN, REPORT);
- equal(none.length, 0);
-}