mirror of
https://github.com/classilla/tenfourfox.git
synced 2024-07-15 03:29:01 +00:00
73 lines
2.3 KiB
JavaScript
73 lines
2.3 KiB
JavaScript
|
/* Any copyright is dedicated to the Public Domain.
|
||
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||
|
|
||
|
requestLongerTimeout(2);
|
||
|
|
||
|
/**
|
||
|
* Tests that events are fired from OverviewView from selection manipulation.
|
||
|
*/
|
||
|
function* spawnTest() {
|
||
|
let { panel } = yield initPerformance(SIMPLE_URL);
|
||
|
let { EVENTS, PerformanceController, OverviewView } = panel.panelWin;
|
||
|
let params, _;
|
||
|
|
||
|
yield startRecording(panel);
|
||
|
|
||
|
yield Promise.all([
|
||
|
once(OverviewView, EVENTS.FRAMERATE_GRAPH_RENDERED),
|
||
|
once(OverviewView, EVENTS.MARKERS_GRAPH_RENDERED),
|
||
|
once(OverviewView, EVENTS.OVERVIEW_RENDERED)
|
||
|
]);
|
||
|
|
||
|
yield stopRecording(panel);
|
||
|
|
||
|
let graph = OverviewView.graphs.get("timeline");
|
||
|
let MAX = graph.width;
|
||
|
let duration = PerformanceController.getCurrentRecording().getDuration();
|
||
|
let selection = null;
|
||
|
|
||
|
// Throw out events that select everything, as this will occur on the
|
||
|
// first click
|
||
|
OverviewView.on(EVENTS.OVERVIEW_RANGE_SELECTED, function handler (_, interval) {
|
||
|
if (interval.endTime !== duration) {
|
||
|
selection = interval;
|
||
|
OverviewView.off(handler);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
let results = onceSpread(OverviewView, EVENTS.OVERVIEW_RANGE_SELECTED);
|
||
|
// Select the first half of the graph
|
||
|
dragStart(graph, 0);
|
||
|
dragStop(graph, MAX / 2);
|
||
|
yield waitUntil(() => selection);
|
||
|
let { startTime, endTime } = selection;
|
||
|
|
||
|
let mapStart = () => 0;
|
||
|
let mapEnd = () => duration;
|
||
|
let actual = graph.getMappedSelection({ mapStart, mapEnd });
|
||
|
is(actual.min, 0, "graph selection starts at 0");
|
||
|
is(actual.max, duration/2, `graph selection ends at ${duration/2}`);
|
||
|
|
||
|
is(graph.hasSelection(), true,
|
||
|
"A selection exists on the graph.");
|
||
|
is(startTime, 0,
|
||
|
"OVERVIEW_RANGE_SELECTED fired with startTime value on click.");
|
||
|
is(endTime, duration / 2,
|
||
|
"OVERVIEW_RANGE_SELECTED fired with endTime value on click.");
|
||
|
|
||
|
// Listen to deselection
|
||
|
results = onceSpread(OverviewView, EVENTS.OVERVIEW_RANGE_SELECTED);
|
||
|
dropSelection(graph);
|
||
|
[_, params] = yield results;
|
||
|
|
||
|
is(graph.hasSelection(), false,
|
||
|
"A selection no longer on the graph.");
|
||
|
is(params.startTime, 0,
|
||
|
"OVERVIEW_RANGE_SELECTED fired with 0 as a startTime.");
|
||
|
is(params.endTime, duration,
|
||
|
"OVERVIEW_RANGE_SELECTED fired with max duration as endTime");
|
||
|
|
||
|
yield teardown(panel);
|
||
|
finish();
|
||
|
}
|