mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-21 18:00:16 +00:00
LibWeb: Port some manually async tests to use asyncTest
These tests were mostly async tests written in a manual way. This ports them to use the standard asyncTest() infrastructure. This is mostly just to reduce calls to internals.signalTextTestIsDone, which will have a required parameter in an upcoming test.
This commit is contained in:
parent
d5ba665f89
commit
96082d6ae1
Notes:
github-actions[bot]
2024-10-03 11:08:43 +00:00
Author: https://github.com/trflynn89
Commit: 96082d6ae1
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/1603
Reviewed-by: https://github.com/awesomekling ✅
Reviewed-by: https://github.com/circl-lastname
Reviewed-by: https://github.com/kalenikaliaksandr ✅
5 changed files with 64 additions and 54 deletions
|
@ -1,16 +1,18 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<script src="../include.js"></script>
|
<script src="../include.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
asyncTest(done => {
|
||||||
let reloaded = false;
|
let reloaded = false;
|
||||||
window.addEventListener('message', event => {
|
|
||||||
|
window.addEventListener("message", event => {
|
||||||
switch (event.data.action) {
|
switch (event.data.action) {
|
||||||
case "loaded":
|
case "loaded":
|
||||||
println("iframe is loaded");
|
println("iframe is loaded");
|
||||||
if (!reloaded) {
|
if (!reloaded) {
|
||||||
event.source.postMessage({ action: 'reload' });
|
event.source.postMessage({ action: "reload" });
|
||||||
reloaded = true;
|
reloaded = true;
|
||||||
} else {
|
} else {
|
||||||
internals.signalTextTestIsDone();
|
done();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "acknowledge-asked-to-reload":
|
case "acknowledge-asked-to-reload":
|
||||||
|
@ -21,9 +23,8 @@
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
document.addEventListener("DOMContentLoaded", () => {
|
const iframe = document.createElement("iframe");
|
||||||
const iframe = document.createElement('iframe');
|
iframe.src = "../../data/iframe-reload.html";
|
||||||
iframe.src = "../../data/iframe-reload.html"
|
|
||||||
document.body.appendChild(iframe);
|
document.body.appendChild(iframe);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -2,15 +2,17 @@
|
||||||
<script src="../include.js"></script>
|
<script src="../include.js"></script>
|
||||||
<script>
|
<script>
|
||||||
let reloaded = false;
|
let reloaded = false;
|
||||||
window.addEventListener('message', event => {
|
|
||||||
|
asyncTest(done => {
|
||||||
|
window.addEventListener("message", event => {
|
||||||
switch (event.data.action) {
|
switch (event.data.action) {
|
||||||
case "loaded":
|
case "loaded":
|
||||||
println("iframe is loaded");
|
println("iframe is loaded");
|
||||||
if (!reloaded) {
|
if (!reloaded) {
|
||||||
event.source.postMessage({ action: 'reload' });
|
event.source.postMessage({ action: "reload" });
|
||||||
reloaded = true;
|
reloaded = true;
|
||||||
} else {
|
} else {
|
||||||
internals.signalTextTestIsDone();
|
done();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "acknowledge-asked-to-reload":
|
case "acknowledge-asked-to-reload":
|
||||||
|
@ -33,8 +35,7 @@
|
||||||
});
|
});
|
||||||
`;
|
`;
|
||||||
|
|
||||||
document.addEventListener("DOMContentLoaded", () => {
|
const iframe = document.createElement("iframe");
|
||||||
const iframe = document.createElement('iframe');
|
|
||||||
iframe.srcdoc = "<script>" + iframeScript + "<\/script>";
|
iframe.srcdoc = "<script>" + iframeScript + "<\/script>";
|
||||||
document.body.appendChild(iframe);
|
document.body.appendChild(iframe);
|
||||||
});
|
});
|
||||||
|
|
|
@ -2,11 +2,13 @@
|
||||||
<div id="foo">
|
<div id="foo">
|
||||||
<iframe></iframe>
|
<iframe></iframe>
|
||||||
<script>
|
<script>
|
||||||
|
asyncTest(done => {
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
foo.remove();
|
foo.remove();
|
||||||
// Pass (didn't crash)
|
// Pass (didn't crash)
|
||||||
internals.signalTextTestIsDone();
|
done();
|
||||||
}, 0);
|
}, 0);
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
</div>
|
</div>
|
||||||
<iframe></iframe>
|
<iframe></iframe>
|
||||||
|
|
|
@ -1,5 +1,11 @@
|
||||||
<body><script>
|
<body>
|
||||||
|
<script>
|
||||||
window.scrollTo(200, 200);
|
window.scrollTo(200, 200);
|
||||||
if (window.internals !== undefined)
|
</script>
|
||||||
window.internals.signalTextTestIsDone();
|
<script src="include.js"></script>
|
||||||
</script>PASS (didn't crash)
|
<script>
|
||||||
|
test(() => {
|
||||||
|
println("PASS (didn't crash)");
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue