From 4e2e9be6abed3225406b466099e397acc0f914d2 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Sat, 22 Feb 2020 17:32:39 -0500 Subject: Reclassify heapsnapshot and nsJSInspector as not part of devtools This resolves Issue #316 --- .../tests/unit/test_HeapAnalyses_takeCensus_05.js | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 dom/heapsnapshot/tests/unit/test_HeapAnalyses_takeCensus_05.js (limited to 'dom/heapsnapshot/tests/unit/test_HeapAnalyses_takeCensus_05.js') diff --git a/dom/heapsnapshot/tests/unit/test_HeapAnalyses_takeCensus_05.js b/dom/heapsnapshot/tests/unit/test_HeapAnalyses_takeCensus_05.js new file mode 100644 index 000000000..7e16d9f00 --- /dev/null +++ b/dom/heapsnapshot/tests/unit/test_HeapAnalyses_takeCensus_05.js @@ -0,0 +1,44 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +// Test that the HeapAnalyses{Client,Worker} can take censuses and return +// a CensusTreeNode. + +function run_test() { + run_next_test(); +} + +const BREAKDOWN = { + by: "internalType", + then: { by: "count", count: true, bytes: true } +}; + +add_task(function* () { + const client = new HeapAnalysesClient(); + + const snapshotFilePath = saveNewHeapSnapshot(); + yield client.readHeapSnapshot(snapshotFilePath); + ok(true, "Should have read the heap snapshot"); + + const { report } = yield client.takeCensus(snapshotFilePath, { + breakdown: BREAKDOWN + }); + + const { report: treeNode } = yield client.takeCensus(snapshotFilePath, { + breakdown: BREAKDOWN + }, { + asTreeNode: true + }); + + ok(treeNode.children.length > 0, "treeNode has children"); + ok(treeNode.children.every(type => { + return "name" in type && + "bytes" in type && + "count" in type; + }), "all of tree node's children have name, bytes, count"); + + compareCensusViewData(BREAKDOWN, report, treeNode, + "Returning census as a tree node represents same data as the report"); + + client.destroy(); +}); -- cgit v1.2.3