summaryrefslogtreecommitdiffstats
path: root/devtools/client/canvasdebugger/test/browser_canvas-frontend-stop-01.js
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/canvasdebugger/test/browser_canvas-frontend-stop-01.js')
-rw-r--r--devtools/client/canvasdebugger/test/browser_canvas-frontend-stop-01.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/devtools/client/canvasdebugger/test/browser_canvas-frontend-stop-01.js b/devtools/client/canvasdebugger/test/browser_canvas-frontend-stop-01.js
new file mode 100644
index 000000000..3a74e4b44
--- /dev/null
+++ b/devtools/client/canvasdebugger/test/browser_canvas-frontend-stop-01.js
@@ -0,0 +1,36 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+/**
+ * Tests that you can stop a recording that does not have a rAF cycle.
+ */
+
+function* ifTestingSupported() {
+ let { target, panel } = yield initCanvasDebuggerFrontend(NO_CANVAS_URL);
+ let { window, EVENTS, $, SnapshotsListView } = panel.panelWin;
+
+ yield reload(target);
+
+ let recordingStarted = once(window, EVENTS.SNAPSHOT_RECORDING_STARTED);
+ SnapshotsListView._onRecordButtonClick();
+
+ yield recordingStarted;
+
+ is($("#empty-notice").hidden, true, "Empty notice not shown");
+ is($("#waiting-notice").hidden, false, "Waiting notice shown");
+
+ let recordingFinished = once(window, EVENTS.SNAPSHOT_RECORDING_FINISHED);
+ let recordingCancelled = once(window, EVENTS.SNAPSHOT_RECORDING_CANCELLED);
+ SnapshotsListView._onRecordButtonClick();
+
+ yield promise.all([recordingFinished, recordingCancelled]);
+
+ ok(true, "Recording stopped and was considered failed.");
+
+ is(SnapshotsListView.itemCount, 0, "No snapshots in the list.");
+ is($("#empty-notice").hidden, false, "Empty notice shown");
+ is($("#waiting-notice").hidden, true, "Waiting notice not shown");
+
+ yield teardown(panel);
+ finish();
+}