summaryrefslogtreecommitdiffstats
path: root/devtools/shared/heapsnapshot/tests/unit/test_getReportLeaves_01.js
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2020-02-22 17:32:39 -0500
committerwolfbeast <mcwerewolf@wolfbeast.com>2020-04-14 12:50:57 +0200
commit36fc5f674ef1a02d1498484c563a7108f4de44ed (patch)
tree120483cd8fc0decd189d5118941a9b23d6156ad5 /devtools/shared/heapsnapshot/tests/unit/test_getReportLeaves_01.js
parent7b30664f59e65cadb7d5eb2e42591e90a32871f8 (diff)
downloadUXP-36fc5f674ef1a02d1498484c563a7108f4de44ed.tar
UXP-36fc5f674ef1a02d1498484c563a7108f4de44ed.tar.gz
UXP-36fc5f674ef1a02d1498484c563a7108f4de44ed.tar.lz
UXP-36fc5f674ef1a02d1498484c563a7108f4de44ed.tar.xz
UXP-36fc5f674ef1a02d1498484c563a7108f4de44ed.zip
Reclassify heapsnapshot and nsJSInspector as not part of devtools
This resolves Issue #316
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);
-}