diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /devtools/client/performance/test/browser_perf-recordings-clear-02.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'devtools/client/performance/test/browser_perf-recordings-clear-02.js')
-rw-r--r-- | devtools/client/performance/test/browser_perf-recordings-clear-02.js | 69 |
1 files changed, 69 insertions, 0 deletions
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); +}); |