diff options
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.js | 47 |
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); +}); |