summaryrefslogtreecommitdiff
path: root/tests/specs/run/beforeunload_event
diff options
context:
space:
mode:
Diffstat (limited to 'tests/specs/run/beforeunload_event')
-rw-r--r--tests/specs/run/beforeunload_event/__test__.jsonc4
-rw-r--r--tests/specs/run/beforeunload_event/before_unload.js21
-rw-r--r--tests/specs/run/beforeunload_event/before_unload.js.out8
3 files changed, 33 insertions, 0 deletions
diff --git a/tests/specs/run/beforeunload_event/__test__.jsonc b/tests/specs/run/beforeunload_event/__test__.jsonc
new file mode 100644
index 000000000..01c7e7007
--- /dev/null
+++ b/tests/specs/run/beforeunload_event/__test__.jsonc
@@ -0,0 +1,4 @@
+{
+ "args": "run before_unload.js",
+ "output": "before_unload.js.out"
+}
diff --git a/tests/specs/run/beforeunload_event/before_unload.js b/tests/specs/run/beforeunload_event/before_unload.js
new file mode 100644
index 000000000..2572e512b
--- /dev/null
+++ b/tests/specs/run/beforeunload_event/before_unload.js
@@ -0,0 +1,21 @@
+let count = 0;
+
+console.log("0");
+
+globalThis.addEventListener("beforeunload", (e) => {
+ console.log("GOT EVENT");
+ if (count === 0 || count === 1) {
+ e.preventDefault();
+ setTimeout(() => {
+ console.log("3");
+ }, 100);
+ }
+
+ count++;
+});
+
+console.log("1");
+
+setTimeout(() => {
+ console.log("2");
+}, 100);
diff --git a/tests/specs/run/beforeunload_event/before_unload.js.out b/tests/specs/run/beforeunload_event/before_unload.js.out
new file mode 100644
index 000000000..f1f2ab49a
--- /dev/null
+++ b/tests/specs/run/beforeunload_event/before_unload.js.out
@@ -0,0 +1,8 @@
+0
+1
+2
+GOT EVENT
+3
+GOT EVENT
+3
+GOT EVENT