diff options
Diffstat (limited to 'toolkit/devtools/canvasdebugger/test/browser_canvas-frontend-record-01.js')
-rw-r--r-- | toolkit/devtools/canvasdebugger/test/browser_canvas-frontend-record-01.js | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/toolkit/devtools/canvasdebugger/test/browser_canvas-frontend-record-01.js b/toolkit/devtools/canvasdebugger/test/browser_canvas-frontend-record-01.js new file mode 100644 index 000000000..cb17ae594 --- /dev/null +++ b/toolkit/devtools/canvasdebugger/test/browser_canvas-frontend-record-01.js @@ -0,0 +1,62 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Tests whether the frontend behaves correctly while reording a snapshot. + */ + +function ifTestingSupported() { + let { target, panel } = yield initCanvasDebuggerFrontend(SIMPLE_CANVAS_URL); + let { window, EVENTS, $, SnapshotsListView } = panel.panelWin; + + yield reload(target); + + is($("#record-snapshot").hasAttribute("checked"), false, + "The 'record snapshot' button should initially be unchecked."); + is($("#record-snapshot").hasAttribute("disabled"), false, + "The 'record snapshot' button should initially be enabled."); + is($("#record-snapshot").hasAttribute("hidden"), false, + "The 'record snapshot' button should now be visible."); + + is(SnapshotsListView.itemCount, 0, + "There should be no items available in the snapshots list view."); + is(SnapshotsListView.selectedIndex, -1, + "There should be no selected item in the snapshots list view."); + + let recordingStarted = once(window, EVENTS.SNAPSHOT_RECORDING_STARTED); + let recordingFinished = once(window, EVENTS.SNAPSHOT_RECORDING_FINISHED); + SnapshotsListView._onRecordButtonClick(); + + yield recordingStarted; + ok(true, "Started recording a snapshot of the animation loop."); + + is($("#record-snapshot").getAttribute("checked"), "true", + "The 'record snapshot' button should now be checked."); + is($("#record-snapshot").getAttribute("disabled"), "true", + "The 'record snapshot' button should now be disabled."); + is($("#record-snapshot").hasAttribute("hidden"), false, + "The 'record snapshot' button should still be visible."); + + is(SnapshotsListView.itemCount, 1, + "There should be one item available in the snapshots list view now."); + is(SnapshotsListView.selectedIndex, -1, + "There should be no selected item in the snapshots list view yet."); + + yield recordingFinished; + ok(true, "Finished recording a snapshot of the animation loop."); + + is($("#record-snapshot").hasAttribute("checked"), false, + "The 'record snapshot' button should now be unchecked."); + is($("#record-snapshot").hasAttribute("disabled"), false, + "The 'record snapshot' button should now be re-enabled."); + is($("#record-snapshot").hasAttribute("hidden"), false, + "The 'record snapshot' button should still be visible."); + + is(SnapshotsListView.itemCount, 1, + "There should still be only one item available in the snapshots list view."); + is(SnapshotsListView.selectedIndex, 0, + "There should be one selected item in the snapshots list view now."); + + yield teardown(panel); + finish(); +} |