mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-10 10:18:38 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
|
|
@ -0,0 +1,93 @@
|
|||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
/**
|
||||
* Tests if selecting snapshots in the frontend displays the appropriate data
|
||||
* respective to their recorded animation frame.
|
||||
*/
|
||||
|
||||
function* ifTestingSupported() {
|
||||
let { target, panel } = yield initCanvasDebuggerFrontend(SIMPLE_CANVAS_URL);
|
||||
let { window, $, EVENTS, SnapshotsListView, CallsListView } = panel.panelWin;
|
||||
|
||||
yield reload(target);
|
||||
|
||||
yield recordAndWaitForFirstSnapshot();
|
||||
info("First snapshot recorded.");
|
||||
|
||||
is(SnapshotsListView.selectedIndex, 0,
|
||||
"A snapshot should be automatically selected after first recording.");
|
||||
is(CallsListView.selectedIndex, -1,
|
||||
"There should be no call item automatically selected in the snapshot.");
|
||||
|
||||
yield recordAndWaitForAnotherSnapshot();
|
||||
info("Second snapshot recorded.");
|
||||
|
||||
is(SnapshotsListView.selectedIndex, 0,
|
||||
"A snapshot should not be automatically selected after another recording.");
|
||||
is(CallsListView.selectedIndex, -1,
|
||||
"There should still be no call item automatically selected in the snapshot.");
|
||||
|
||||
let secondSnapshotTarget = SnapshotsListView.getItemAtIndex(1).target;
|
||||
let snapshotSelected = waitForSnapshotSelection();
|
||||
EventUtils.sendMouseEvent({ type: "mousedown" }, secondSnapshotTarget, window);
|
||||
|
||||
yield snapshotSelected;
|
||||
info("Second snapshot selected.");
|
||||
|
||||
is(SnapshotsListView.selectedIndex, 1,
|
||||
"The second snapshot should now be selected.");
|
||||
is(CallsListView.selectedIndex, -1,
|
||||
"There should still be no call item automatically selected in the snapshot.");
|
||||
|
||||
let firstDrawCallContents = $(".call-item-contents", CallsListView.getItemAtIndex(2).target);
|
||||
let screenshotDisplayed = once(window, EVENTS.CALL_SCREENSHOT_DISPLAYED);
|
||||
EventUtils.sendMouseEvent({ type: "mousedown" }, firstDrawCallContents, window);
|
||||
|
||||
yield screenshotDisplayed;
|
||||
info("First draw call in the second snapshot selected.");
|
||||
|
||||
is(SnapshotsListView.selectedIndex, 1,
|
||||
"The second snapshot should still be selected.");
|
||||
is(CallsListView.selectedIndex, 2,
|
||||
"The first draw call should now be selected in the snapshot.");
|
||||
|
||||
let firstSnapshotTarget = SnapshotsListView.getItemAtIndex(0).target;
|
||||
snapshotSelected = waitForSnapshotSelection();
|
||||
EventUtils.sendMouseEvent({ type: "mousedown" }, firstSnapshotTarget, window);
|
||||
|
||||
yield snapshotSelected;
|
||||
info("First snapshot re-selected.");
|
||||
|
||||
is(SnapshotsListView.selectedIndex, 0,
|
||||
"The first snapshot should now be re-selected.");
|
||||
is(CallsListView.selectedIndex, -1,
|
||||
"There should still be no call item automatically selected in the snapshot.");
|
||||
|
||||
function recordAndWaitForFirstSnapshot() {
|
||||
let recordingFinished = once(window, EVENTS.SNAPSHOT_RECORDING_FINISHED);
|
||||
let snapshotSelected = waitForSnapshotSelection();
|
||||
SnapshotsListView._onRecordButtonClick();
|
||||
return promise.all([recordingFinished, snapshotSelected]);
|
||||
}
|
||||
|
||||
function recordAndWaitForAnotherSnapshot() {
|
||||
let recordingFinished = once(window, EVENTS.SNAPSHOT_RECORDING_FINISHED);
|
||||
SnapshotsListView._onRecordButtonClick();
|
||||
return recordingFinished;
|
||||
}
|
||||
|
||||
function waitForSnapshotSelection() {
|
||||
let callListPopulated = once(window, EVENTS.CALL_LIST_POPULATED);
|
||||
let thumbnailsDisplayed = once(window, EVENTS.THUMBNAILS_DISPLAYED);
|
||||
let screenshotDisplayed = once(window, EVENTS.CALL_SCREENSHOT_DISPLAYED);
|
||||
return promise.all([
|
||||
callListPopulated,
|
||||
thumbnailsDisplayed,
|
||||
screenshotDisplayed
|
||||
]);
|
||||
}
|
||||
|
||||
yield teardown(panel);
|
||||
finish();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue