summaryrefslogtreecommitdiffstats
path: root/devtools/client/memory/test/browser/browser_memory_percents_01.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/memory/test/browser/browser_memory_percents_01.js')
-rw-r--r--devtools/client/memory/test/browser/browser_memory_percents_01.js47
1 files changed, 47 insertions, 0 deletions
diff --git a/devtools/client/memory/test/browser/browser_memory_percents_01.js b/devtools/client/memory/test/browser/browser_memory_percents_01.js
new file mode 100644
index 000000000..c3ed37530
--- /dev/null
+++ b/devtools/client/memory/test/browser/browser_memory_percents_01.js
@@ -0,0 +1,47 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Sanity test that we calculate percentages in the tree.
+
+"use strict";
+
+const { takeSnapshotAndCensus } = require("devtools/client/memory/actions/snapshot");
+const { viewState } = require("devtools/client/memory/constants");
+const { changeView } = require("devtools/client/memory/actions/view");
+
+const TEST_URL = "http://example.com/browser/devtools/client/memory/test/browser/doc_steady_allocation.html";
+
+function checkCells(cells) {
+ ok(cells.length > 1, "Should have found some");
+ // Ignore the first header cell.
+ for (let cell of cells.slice(1)) {
+ const percent = cell.querySelector(".heap-tree-percent");
+ ok(percent, "should have a percent cell");
+ ok(percent.textContent.match(/^\d?\d%$/), "should be of the form nn% or n%");
+ }
+}
+
+this.test = makeMemoryTest(TEST_URL, function* ({ tab, panel }) {
+ const heapWorker = panel.panelWin.gHeapAnalysesClient;
+ const front = panel.panelWin.gFront;
+ const { getState, dispatch } = panel.panelWin.gStore;
+ const doc = panel.panelWin.document;
+
+ dispatch(changeView(viewState.CENSUS));
+
+ yield dispatch(takeSnapshotAndCensus(front, heapWorker));
+ is(getState().censusDisplay.breakdown.by, "coarseType",
+ "Should be using coarse type breakdown");
+
+ const bytesCells = [...doc.querySelectorAll(".heap-tree-item-bytes")];
+ checkCells(bytesCells);
+
+ const totalBytesCells = [...doc.querySelectorAll(".heap-tree-item-total-bytes")];
+ checkCells(totalBytesCells);
+
+ const countCells = [...doc.querySelectorAll(".heap-tree-item-count")];
+ checkCells(countCells);
+
+ const totalCountCells = [...doc.querySelectorAll(".heap-tree-item-total-count")];
+ checkCells(totalCountCells);
+});