browser_memory_simple_01.js (1913B)
1 /* Any copyright is dedicated to the Public Domain. 2 http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 "use strict"; 5 6 /** 7 * Tests taking snapshots and default states. 8 */ 9 10 const TEST_URL = 11 "http://example.com/browser/devtools/client/memory/test/browser/doc_steady_allocation.html"; 12 const { viewState } = require("resource://devtools/client/memory/constants.js"); 13 const { 14 changeView, 15 } = require("resource://devtools/client/memory/actions/view.js"); 16 17 this.test = makeMemoryTest(TEST_URL, async function ({ panel }) { 18 const { gStore, document } = panel.panelWin; 19 const { getState, dispatch } = gStore; 20 21 dispatch(changeView(viewState.CENSUS)); 22 23 let snapshotEls = document.querySelectorAll( 24 "#memory-tool-container .list li" 25 ); 26 is(getState().snapshots.length, 0, "Starts with no snapshots in store"); 27 is(snapshotEls.length, 0, "No snapshots rendered"); 28 29 await takeSnapshot(panel.panelWin); 30 snapshotEls = document.querySelectorAll("#memory-tool-container .list li"); 31 is(getState().snapshots.length, 1, "One snapshot was created in store"); 32 is(snapshotEls.length, 1, "One snapshot was rendered"); 33 ok( 34 snapshotEls[0].classList.contains("selected"), 35 "Only snapshot has `selected` class" 36 ); 37 38 await takeSnapshot(panel.panelWin); 39 snapshotEls = document.querySelectorAll("#memory-tool-container .list li"); 40 is(getState().snapshots.length, 2, "Two snapshots created in store"); 41 is(snapshotEls.length, 2, "Two snapshots rendered"); 42 ok( 43 !snapshotEls[0].classList.contains("selected"), 44 "First snapshot no longer has `selected` class" 45 ); 46 ok( 47 snapshotEls[1].classList.contains("selected"), 48 "Second snapshot has `selected` class" 49 ); 50 51 await waitUntilCensusState(gStore, s => s.census, [ 52 censusState.SAVED, 53 censusState.SAVED, 54 ]); 55 56 ok( 57 document.querySelector(".heap-tree-item-name"), 58 "Should have rendered some tree items" 59 ); 60 });