1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-15 08:34:59 +00:00
serenity/Tests/LibWeb/Text/data/navigation-navigate-iframe.html
Timothy Flynn e030193e5f Tests/LibWeb: Move LibWeb test frames to their own directory
We currently have a handful of iframe tests whose sources are in the
"input" directory. This means they get run as their own tests, when they
are really just helper files. We've had to add empty test expectation
files for these "tests", and invoke a dummy test() method just to keep
the test runner happy.

Instead, move them to their own directory so the test runner does not
see them at all.
2024-02-19 22:11:59 -05:00

78 lines
2.8 KiB
HTML

<script>
function filename(path) {
url = new URL(path)
return url.pathname.split('/').pop() + url.hash
}
(async () => {
try {
parent.postMessage(`Initial history length is ${navigation.entries().length}`, "*");
navigation.oncurrententrychange = (e) => {
parent.postMessage(`${e.type} for change to ${filename(navigation.currentEntry.url)} of type ${e.navigationType} from ${filename(e.from.url)}`, "*");
}
navigation.onnavigate = (e) => {
parent.postMessage(`NavigateEvent for ${e.navigationType} ${filename(e.destination.url)} (Same document? ${e.destination.sameDocument}) with info: ${e.info}`, "*")
}
// Navigate to fragment
let a = navigation.navigate("navigation-navigate-iframe.html#1", { info: 42, history: "push" });
await a.committed.then((f) => {
parent.postMessage(`Committed to navigation to ${filename(f.url)}`, "*");
},
(e) => {
parent.postMessage("ERROR:" + e, "*", "*");
})
await a.finished.then((f) => {
parent.postMessage(`Finished navigation to ${filename(f.url)}`, "*");
},
(e) => {
parent.postMessage("ERROR:" + e, "*");
})
parent.postMessage(`History length after navigate is ${navigation.entries().length}`, "*");
// FIXME: Enable these tests 😅
// Navigate backwards
// let b = navigation.back()
// await b.committed.then((f) => {
// parent.postMessage(`Committed to back navigation to ${filename(f.url)}`, "*");
// },
// (e) => {
// parent.postMessage("ERROR:" + e, "*", "*");
// })
// await b.finished.then((f) => {
// parent.postMessage(`Finished back navigation to ${filename(f.url)}`, "*");
// },
// (e) => {
// parent.postMessage("ERROR:" + e, "*");
// })
// parent.postMessage(`History length after back is ${navigation.entries().length}`, "*");
// Navigate forwards
// let c = navigation.forward()
// await c.committed.then((f) => {
// parent.postMessage(`Committed to forward navigation to ${filename(f.url)}`, "*");
// },
// (e) => {
// parent.postMessage("ERROR:" + e, "*", "*");
// })
// await c.finished.then((f) => {
// parent.postMessage(`Finished forward navigation to ${filename(f.url)}`, "*");
// },
// (e) => {
// parent.postMessage("ERROR:" + e, "*");
// })
// parent.postMessage(`History length after forward is ${navigation.entries().length}`, "*");
} catch (e) {
parent.postMessage("ERROR:" + e, "*");
}
parent.postMessage("DONE", "*");
})();
</script>