LibWeb: Add some async/animation test utilities

This commit is contained in:
Matthew Olsson 2024-03-29 16:54:12 +00:00 committed by Andreas Kling
commit e298e8af5a
Notes: sideshowbarker 2024-07-16 23:55:09 +09:00
13 changed files with 65 additions and 91 deletions

View file

@ -24,6 +24,18 @@ function printElement(e) {
println(element_string);
}
function animationFrame() {
const { promise, resolve } = Promise.withResolvers();
requestAnimationFrame(resolve);
return promise;
}
function timeout(ms) {
const { promise, resolve } = Promise.withResolvers();
setTimeout(resolve, ms);
return promise;
}
document.addEventListener("DOMContentLoaded", function () {
__outputElement = document.createElement("pre");
__outputElement.setAttribute("id", "out");
@ -47,3 +59,12 @@ function asyncTest(f) {
f(done);
});
}
function promiseTest(f) {
document.addEventListener("DOMContentLoaded", () => {
f().then(() => {
__preventMultipleTestFunctions();
internals.signalTextTestIsDone();
});
});
}