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-button-states.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-button-states.js')
-rw-r--r-- | devtools/client/performance/test/browser_perf-button-states.js | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/devtools/client/performance/test/browser_perf-button-states.js b/devtools/client/performance/test/browser_perf-button-states.js new file mode 100644 index 000000000..7f7ca1b2a --- /dev/null +++ b/devtools/client/performance/test/browser_perf-button-states.js @@ -0,0 +1,76 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ +"use strict"; + +/** + * Tests that the recording button states are set as expected. + */ + +const { SIMPLE_URL } = require("devtools/client/performance/test/helpers/urls"); +const { initPerformanceInNewTab, teardownToolboxAndRemoveTab } = require("devtools/client/performance/test/helpers/panel-utils"); +const { once } = require("devtools/client/performance/test/helpers/event-utils"); + +add_task(function* () { + let { panel } = yield initPerformanceInNewTab({ + url: SIMPLE_URL, + win: window + }); + + let { $, $$, EVENTS, PerformanceController, PerformanceView } = panel.panelWin; + + let recordButton = $("#main-record-button"); + + checkRecordButtonsStates(false, false); + + let uiStartClick = once(PerformanceView, EVENTS.UI_START_RECORDING); + let recordingStarted = once(PerformanceController, EVENTS.RECORDING_STATE_CHANGE, { + expectedArgs: { "1": "recording-started" } + }); + let backendStartReady = once(PerformanceController, + EVENTS.BACKEND_READY_AFTER_RECORDING_START); + let uiStateRecording = once(PerformanceView, EVENTS.UI_STATE_CHANGED, { + expectedArgs: { "1": "recording" } + }); + + click(recordButton); + yield uiStartClick; + + checkRecordButtonsStates(true, true); + + yield recordingStarted; + + checkRecordButtonsStates(true, false); + + yield backendStartReady; + yield uiStateRecording; + + let uiStopClick = once(PerformanceView, EVENTS.UI_STOP_RECORDING); + let recordingStopped = once(PerformanceController, EVENTS.RECORDING_STATE_CHANGE, { + expectedArgs: { "1": "recording-stopped" } + }); + let backendStopReady = once(PerformanceController, + EVENTS.BACKEND_READY_AFTER_RECORDING_STOP); + let uiStateRecorded = once(PerformanceView, EVENTS.UI_STATE_CHANGED, { + expectedArgs: { "1": "recorded" } + }); + + click(recordButton); + yield uiStopClick; + yield recordingStopped; + + checkRecordButtonsStates(false, false); + + yield backendStopReady; + yield uiStateRecorded; + + yield teardownToolboxAndRemoveTab(panel); + + function checkRecordButtonsStates(checked, locked) { + for (let button of $$(".record-button")) { + is(button.classList.contains("checked"), checked, + "The record button checked state should be " + checked); + is(button.disabled, locked, + "The record button locked state should be " + locked); + } + } +}); |