diff options
Diffstat (limited to 'devtools/client/canvasdebugger/test/browser_canvas-frontend-record-02.js')
-rw-r--r-- | devtools/client/canvasdebugger/test/browser_canvas-frontend-record-02.js | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/devtools/client/canvasdebugger/test/browser_canvas-frontend-record-02.js b/devtools/client/canvasdebugger/test/browser_canvas-frontend-record-02.js new file mode 100644 index 000000000..aee63a574 --- /dev/null +++ b/devtools/client/canvasdebugger/test/browser_canvas-frontend-record-02.js @@ -0,0 +1,73 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Tests whether the frontend displays a placeholder snapshot while recording. + */ + +function* ifTestingSupported() { + let { target, panel } = yield initCanvasDebuggerFrontend(SIMPLE_CANVAS_URL); + let { window, EVENTS, L10N, $, SnapshotsListView } = panel.panelWin; + + yield reload(target); + + let recordingStarted = once(window, EVENTS.SNAPSHOT_RECORDING_STARTED); + let recordingFinished = once(window, EVENTS.SNAPSHOT_RECORDING_FINISHED); + let recordingSelected = once(window, EVENTS.SNAPSHOT_RECORDING_SELECTED); + SnapshotsListView._onRecordButtonClick(); + + yield recordingStarted; + ok(true, "Started recording a snapshot of the animation loop."); + + let item = SnapshotsListView.getItemAtIndex(0); + + is($(".snapshot-item-title", item.target).getAttribute("value"), + L10N.getFormatStr("snapshotsList.itemLabel", 1), + "The placeholder item's title label is correct."); + + is($(".snapshot-item-calls", item.target).getAttribute("value"), + L10N.getStr("snapshotsList.loadingLabel"), + "The placeholder item's calls label is correct."); + + is($(".snapshot-item-save", item.target).getAttribute("value"), "", + "The placeholder item's save label should not have a value yet."); + + is($("#reload-notice").getAttribute("hidden"), "true", + "The reload notice should now be hidden."); + is($("#empty-notice").getAttribute("hidden"), "true", + "The empty notice should now be hidden."); + is($("#waiting-notice").hasAttribute("hidden"), false, + "The waiting notice should now be visible."); + + is($("#screenshot-container").getAttribute("hidden"), "true", + "The screenshot container should still be hidden."); + is($("#snapshot-filmstrip").getAttribute("hidden"), "true", + "The snapshot filmstrip should still be hidden."); + + is($("#debugging-pane-contents").getAttribute("hidden"), "true", + "The rest of the UI should still be hidden."); + + yield recordingFinished; + ok(true, "Finished recording a snapshot of the animation loop."); + + yield recordingSelected; + ok(true, "Finished selecting a snapshot of the animation loop."); + + is($("#reload-notice").getAttribute("hidden"), "true", + "The reload notice should now be hidden."); + is($("#empty-notice").getAttribute("hidden"), "true", + "The empty notice should now be hidden."); + is($("#waiting-notice").getAttribute("hidden"), "true", + "The waiting notice should now be hidden."); + + is($("#screenshot-container").hasAttribute("hidden"), false, + "The screenshot container should now be visible."); + is($("#snapshot-filmstrip").hasAttribute("hidden"), false, + "The snapshot filmstrip should now be visible."); + + is($("#debugging-pane-contents").hasAttribute("hidden"), false, + "The rest of the UI should now be visible."); + + yield teardown(panel); + finish(); +} |