From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- .../test/browser_perf-recordings-clear-02.js | 69 ++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 devtools/client/performance/test/browser_perf-recordings-clear-02.js (limited to 'devtools/client/performance/test/browser_perf-recordings-clear-02.js') diff --git a/devtools/client/performance/test/browser_perf-recordings-clear-02.js b/devtools/client/performance/test/browser_perf-recordings-clear-02.js new file mode 100644 index 000000000..d8196dbd1 --- /dev/null +++ b/devtools/client/performance/test/browser_perf-recordings-clear-02.js @@ -0,0 +1,69 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ +"use strict"; + +/** + * Tests that clearing recordings empties out the recordings list and stops + * a current recording if recording and can continue recording after. + */ + +const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls"); +const { initPanelInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils"); +const { startRecording, stopRecording } = require("devtools/client/performance/test/helpers/actions"); +const { times, once } = require("devtools/client/performance/test/helpers/event-utils"); +const { getRecordingsCount } = require("devtools/client/performance/test/helpers/recording-utils"); + +add_task(function* () { + let { panel } = yield initPanelInNewTab({ + tool: "performance", + url: SIMPLE_URL, + win: window + }); + + let { EVENTS, PerformanceController, PerformanceView } = panel.panelWin; + + yield startRecording(panel); + yield stopRecording(panel); + + is(getRecordingsCount(panel), 1, + "The recordings list should have one recording."); + isnot(PerformanceView.getState(), "empty", + "PerformanceView should not be in an empty state."); + isnot(PerformanceController.getCurrentRecording(), null, + "There should be a current recording."); + + yield startRecording(panel); + + is(getRecordingsCount(panel), 2, + "The recordings list should have two recordings."); + isnot(PerformanceView.getState(), "empty", + "PerformanceView should not be in an empty state."); + isnot(PerformanceController.getCurrentRecording(), null, + "There should be a current recording."); + + let recordingDeleted = times(PerformanceController, EVENTS.RECORDING_DELETED, 2); + let recordingStopped = once(PerformanceController, EVENTS.RECORDING_STATE_CHANGE, { + expectedArgs: { "1": "recording-stopped" } + }); + + PerformanceController.clearRecordings(); + + yield recordingDeleted; + yield recordingStopped; + + is(getRecordingsCount(panel), 0, + "The recordings list should be empty."); + is(PerformanceView.getState(), "empty", + "PerformanceView should be in an empty state."); + is(PerformanceController.getCurrentRecording(), null, + "There should be no current recording."); + + // Bug 1169146: Try another recording after clearing mid-recording. + yield startRecording(panel); + yield stopRecording(panel); + + is(getRecordingsCount(panel), 1, + "The recordings list should have one recording."); + + yield teardownToolboxAndRemoveTab(panel); +}); -- cgit v1.2.3