diff options
Diffstat (limited to 'dom/heapsnapshot/tests/unit/test_HeapAnalyses_takeCensus_05.js')
-rw-r--r-- | dom/heapsnapshot/tests/unit/test_HeapAnalyses_takeCensus_05.js | 44 |
1 files changed, 44 insertions, 0 deletions
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(); +}); |