mirror of
https://github.com/servo/servo.git
synced 2025-08-24 06:45:33 +01:00
Update web-platform-tests to revision 8a2ceb5f18911302b7a5c1cd2791f4ab50ad4326
This commit is contained in:
parent
462c272380
commit
1f531f66ea
5377 changed files with 174916 additions and 84369 deletions
|
@ -0,0 +1,30 @@
|
|||
"use strict"
|
||||
// https://w3c.github.io/hr-time/#time-origin
|
||||
|
||||
async_test(function(test) {
|
||||
// Cache global time before starting worker
|
||||
const globalTimeOrigin = performance.timeOrigin;
|
||||
const globalNowBeforeWorkerStart = performance.now();
|
||||
|
||||
// Start worker and retrieve time
|
||||
const workerScript = "postMessage({timeOrigin: performance.timeOrigin, now: performance.now()})";
|
||||
const blob = new Blob([workerScript]);
|
||||
let worker = new Worker(URL.createObjectURL(blob));
|
||||
|
||||
worker.addEventListener("message", test.step_func_done(function(event) {
|
||||
const workerTimeOrigin = event.data.timeOrigin;
|
||||
const workerNow = event.data.now;
|
||||
|
||||
assert_not_equals(workerTimeOrigin, 0, "worker timeOrigin must not be 0");
|
||||
assert_not_equals(performance.timeOrigin, 0, "Document timeOrigin must not be 0");
|
||||
|
||||
assert_equals(globalTimeOrigin, performance.timeOrigin, "timeOrigin should not be changed in same document mode");
|
||||
assert_less_than(globalTimeOrigin, workerTimeOrigin, "Document timeOrigin must be earlier than worker timeOrigin");
|
||||
|
||||
// Document and worker's now() start from their respective timeOrigins.
|
||||
const timeDiff = workerTimeOrigin - globalTimeOrigin; // convert worker's time to Document time.
|
||||
assert_less_than(globalTimeOrigin + globalNowBeforeWorkerStart, globalTimeOrigin + timeDiff + workerNow, "Document old now is earlier than worker now.");
|
||||
|
||||
// Comparing timing between Document and worker threads could be delicate as it relies on the thread implementation and could be subject to race conditions.
|
||||
}));
|
||||
}, 'timeOrigin and now() should be correctly ordered between window and worker');
|
Loading…
Add table
Add a link
Reference in a new issue