mirror of
https://github.com/servo/servo.git
synced 2025-08-24 06:45:33 +01:00
Update web-platform-tests to revision 9919d0f04266001686c09d47ff6e25c98b48d91f
This commit is contained in:
parent
026e550d35
commit
e7fcc8e274
453 changed files with 7751 additions and 2288 deletions
|
@ -0,0 +1,106 @@
|
|||
// META: script=resources/user-timing-helper.js
|
||||
|
||||
function cleanupPerformanceTimeline() {
|
||||
performance.clearMarks();
|
||||
performance.clearMeasures();
|
||||
}
|
||||
|
||||
async_test(function (t) {
|
||||
this.add_cleanup(cleanupPerformanceTimeline);
|
||||
let measureEntries = [];
|
||||
const timeStamp1 = 784.4;
|
||||
const timeStamp2 = 1234.5;
|
||||
const timeStamp3 = 66.6;
|
||||
const timeStamp4 = 5566;
|
||||
const expectedEntries =
|
||||
[{ entryType: "measure", name: "measure1", detail: null, startTime: 0 },
|
||||
{ entryType: "measure", name: "measure2", detail: null, startTime: 0 },
|
||||
{ entryType: "measure", name: "measure3", detail: null, startTime: 0 },
|
||||
{ entryType: "measure", name: "measure4", detail: null },
|
||||
{ entryType: "measure", name: "measure5", detail: null, startTime: 0 },
|
||||
{ entryType: "measure", name: "measure6", detail: null, startTime: timeStamp1 },
|
||||
{ entryType: "measure", name: "measure7", detail: null, startTime: timeStamp1, duration: timeStamp2 - timeStamp1 },
|
||||
{ entryType: "measure", name: "measure8", detail: null, startTime: 0 },
|
||||
{ entryType: "measure", name: "measure9", detail: null, startTime: 0 },
|
||||
{ entryType: "measure", name: "measure10", detail: null, startTime: timeStamp1 },
|
||||
{ entryType: "measure", name: "measure11", detail: null, startTime: timeStamp3 },
|
||||
{ entryType: "measure", name: "measure12", detail: null, startTime: 0 },
|
||||
{ entryType: "measure", name: "measure13", detail: null, startTime: 0 },
|
||||
{ entryType: "measure", name: "measure14", detail: null, startTime: timeStamp3, duration: timeStamp1 - timeStamp3 },
|
||||
{ entryType: "measure", name: "measure15", detail: null, startTime: timeStamp1, duration: timeStamp2 - timeStamp1 },
|
||||
{ entryType: "measure", name: "measure16", detail: null, startTime: timeStamp1 },
|
||||
{ entryType: "measure", name: "measure17", detail: { customInfo: 159 }, startTime: timeStamp3, duration: timeStamp2 - timeStamp3 },
|
||||
{ entryType: "measure", name: "measure18", detail: null, startTime: 0 },
|
||||
{ entryType: "measure", name: "measure19", detail: null, startTime: 0 },
|
||||
{ entryType: "measure", name: "measure20", detail: null, startTime: 0 },
|
||||
{ entryType: "measure", name: "measure21", detail: null, startTime: 0 }];
|
||||
const observer = new PerformanceObserver(
|
||||
t.step_func(function (entryList, obs) {
|
||||
measureEntries =
|
||||
measureEntries.concat(entryList.getEntries());
|
||||
if (measureEntries.length >= expectedEntries.length) {
|
||||
checkEntries(measureEntries, expectedEntries);
|
||||
observer.disconnect();
|
||||
t.done();
|
||||
}
|
||||
})
|
||||
);
|
||||
observer.observe({ entryTypes: ["measure"] });
|
||||
self.performance.mark("mark1", { detail: { randomInfo: 3 }, startTime: timeStamp1 });
|
||||
self.performance.mark("mark2", { startTime: timeStamp2 });
|
||||
|
||||
const returnedEntries = [];
|
||||
returnedEntries.push(self.performance.measure("measure1"));
|
||||
returnedEntries.push(self.performance.measure("measure2", undefined));
|
||||
returnedEntries.push(self.performance.measure("measure3", null));
|
||||
returnedEntries.push(self.performance.measure("measure4", 'mark1'));
|
||||
returnedEntries.push(
|
||||
self.performance.measure("measure5", null, 'mark1'));
|
||||
returnedEntries.push(
|
||||
self.performance.measure("measure6", 'mark1', undefined));
|
||||
returnedEntries.push(
|
||||
self.performance.measure("measure7", 'mark1', 'mark2'));
|
||||
returnedEntries.push(
|
||||
self.performance.measure("measure8", {}));
|
||||
returnedEntries.push(
|
||||
self.performance.measure("measure9", { start: undefined }));
|
||||
returnedEntries.push(
|
||||
self.performance.measure("measure10", { start: 'mark1' }));
|
||||
returnedEntries.push(
|
||||
self.performance.measure("measure11", { start: timeStamp3 }));
|
||||
returnedEntries.push(
|
||||
self.performance.measure("measure12", { end: undefined }));
|
||||
returnedEntries.push(
|
||||
self.performance.measure("measure13", { end: 'mark1' }));
|
||||
returnedEntries.push(
|
||||
self.performance.measure("measure14", { start: timeStamp3, end: 'mark1' }));
|
||||
returnedEntries.push(
|
||||
self.performance.measure("measure15", { start: timeStamp1, end: timeStamp2, detail: undefined }));
|
||||
returnedEntries.push(
|
||||
self.performance.measure("measure16", { start: 'mark1', end: undefined, detail: null }));
|
||||
returnedEntries.push(
|
||||
self.performance.measure("measure17", { start: timeStamp3, end: 'mark2', detail: { customInfo: 159 }}));
|
||||
// {}, null, undefined, invalid-dict passed to startOrOptions are interpreted as start time being 0.
|
||||
returnedEntries.push(self.performance.measure("measure18", {}, 'mark1'));
|
||||
returnedEntries.push(self.performance.measure("measure19", null, 'mark1'));
|
||||
returnedEntries.push(self.performance.measure("measure20", undefined, 'mark1'));
|
||||
returnedEntries.push(self.performance.measure("measure21", { invalidDict:1 }, 'mark1'));
|
||||
checkEntries(returnedEntries, expectedEntries);
|
||||
}, "measure entries' detail and start/end are customizable");
|
||||
|
||||
test(function() {
|
||||
this.add_cleanup(cleanupPerformanceTimeline);
|
||||
assert_throws(new TypeError(), function() {
|
||||
self.performance.measure("optionsAndNumberEnd", {'start': 2}, 12);
|
||||
}, "measure should throw a TypeError when passed an options object and an end time");
|
||||
assert_throws(new TypeError(), function() {
|
||||
self.performance.measure("optionsAndMarkEnd", {'start': 2}, 'mark1');
|
||||
}, "measure should throw a TypeError when passed an options object and an end mark");
|
||||
assert_throws(new TypeError(), function() {
|
||||
self.performance.measure("negativeStartInOptions", {'start': -1});
|
||||
}, "measure cannot have a negative time stamp.");
|
||||
assert_throws(new TypeError(), function() {
|
||||
self.performance.measure("negativeEndInOptions", {'end': -1});
|
||||
}, "measure cannot have a negative time stamp for end.");
|
||||
}, "measure should throw a TypeError when passed an invalid argument combination");
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue