diff -r 000000000000 -r 6474c204b198 browser/devtools/canvasdebugger/test/browser_canvas-frontend-record-02.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/devtools/canvasdebugger/test/browser_canvas-frontend-record-02.js Wed Dec 31 06:09:35 2014 +0100 @@ -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, debuggee, panel] = yield initCanavsDebuggerFrontend(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($("#import-notice").hasAttribute("hidden"), false, + "The import 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($("#import-notice").getAttribute("hidden"), "true", + "The import 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(); +}