mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
51 lines
1.6 KiB
JavaScript
51 lines
1.6 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
function test() {
|
|
let testDir = gTestPath.substr(0, gTestPath.lastIndexOf("/"));
|
|
Services.scriptloader.loadSubScript(testDir + "/perfhelpers.js", this);
|
|
runTests();
|
|
}
|
|
|
|
function timeTab(aUrl) {
|
|
return Task.spawn(function() {
|
|
let stopwatch = new StopWatch(true);
|
|
let tab = Browser.addTab(aUrl, true);
|
|
yield tab.pageShowPromise;
|
|
stopwatch.stop();
|
|
Browser.closeTab(tab, { forceClose: true })
|
|
yield waitForMs(500);
|
|
throw new Task.Result(stopwatch.time());
|
|
});
|
|
}
|
|
|
|
gTests.push({
|
|
desc: "tab open",
|
|
run: function run() {
|
|
yield addTab("about:blank");
|
|
yield hideContextUI();
|
|
yield waitForMs(5000);
|
|
|
|
let openDataSet = new Array();
|
|
for (let idx = 0; idx < 20; idx++) {
|
|
let time = yield timeTab("about:blank");
|
|
openDataSet.push(time);
|
|
}
|
|
|
|
// Give the browser a little time to clean up its tabs. 2 because
|
|
// we open a tab above as a base to get rid of the start screen.
|
|
yield waitForCondition(() => Browser.tabs.length == 2);
|
|
|
|
PerfTest.declareTest("FBD7A532-D63A-44B5-9744-5CB07CFD131A",
|
|
"tab open", "browser", "ux",
|
|
"Open twenty tabs in succession, closing each before the next is opened. " +
|
|
"Gives the browser time to settle in between. Lets the ui react however it " +
|
|
"is designed to. Strips outliers.");
|
|
let result = PerfTest.computeAverage(openDataSet, { stripOutliers: true });
|
|
PerfTest.declareNumericalResult(result, "msec");
|
|
}
|
|
});
|
|
|