diff -r 000000000000 -r 6474c204b198 browser/devtools/canvasdebugger/test/browser_canvas-frontend-reload-02.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/browser/devtools/canvasdebugger/test/browser_canvas-frontend-reload-02.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,70 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +/** + * Tests that the frontend UI is properly reconfigured after reloading. + */ + +function ifTestingSupported() { + let [target, debuggee, panel] = yield initCanavsDebuggerFrontend(SIMPLE_CANVAS_URL); + let { window, $, $all, EVENTS, SnapshotsListView, CallsListView } = panel.panelWin; + + is(SnapshotsListView.itemCount, 0, + "There should be no snapshots initially displayed in the UI."); + is(CallsListView.itemCount, 0, + "There should be no function calls initially displayed in the UI."); + + is($("#screenshot-container").hidden, true, + "The screenshot should not be initially displayed in the UI."); + is($("#snapshot-filmstrip").hidden, true, + "There should be no thumbnails initially displayed in the UI (1)."); + is($all(".filmstrip-thumbnail").length, 0, + "There should be no thumbnails initially displayed in the UI (2)."); + + yield reload(target); + + let recordingFinished = once(window, EVENTS.SNAPSHOT_RECORDING_FINISHED); + let callListPopulated = once(window, EVENTS.CALL_LIST_POPULATED); + let thumbnailsDisplayed = once(window, EVENTS.THUMBNAILS_DISPLAYED); + let screenshotDisplayed = once(window, EVENTS.CALL_SCREENSHOT_DISPLAYED); + SnapshotsListView._onRecordButtonClick(); + yield promise.all([ + recordingFinished, + callListPopulated, + thumbnailsDisplayed, + screenshotDisplayed + ]); + + is(SnapshotsListView.itemCount, 1, + "There should be one snapshot displayed in the UI."); + is(CallsListView.itemCount, 8, + "All the function calls should now be displayed in the UI."); + + is($("#screenshot-container").hidden, false, + "The screenshot should now be displayed in the UI."); + is($("#snapshot-filmstrip").hidden, false, + "All the thumbnails should now be displayed in the UI (1)."); + is($all(".filmstrip-thumbnail").length, 4, + "All the thumbnails should now be displayed in the UI (2)."); + + let reset = once(window, EVENTS.UI_RESET); + let navigated = reload(target); + + yield reset; + ok(true, "The UI was reset after the refresh button was clicked."); + + is(SnapshotsListView.itemCount, 0, + "There should be no snapshots displayed in the UI after navigating."); + is(CallsListView.itemCount, 0, + "There should be no function calls displayed in the UI after navigating."); + is($("#snapshot-filmstrip").hidden, true, + "There should be no thumbnails displayed in the UI after navigating."); + is($("#screenshot-container").hidden, true, + "The screenshot should not be displayed in the UI after navigating."); + + yield navigated; + ok(true, "The target finished reloading."); + + yield teardown(panel); + finish(); +}