summaryrefslogtreecommitdiff
path: root/cli/tests/testdata/run/onload/main.ts
blob: 126627e34faaa6e6df908df900ab9bedce219684 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// deno-lint-ignore-file no-window-prefix no-prototype-builtins
import { assert } from "../../../../../test_util/std/testing/asserts.ts";
import "./imported.ts";

assert(window.hasOwnProperty("onload"));
assert(window.onload === null);

const eventHandler = (e: Event) => {
  assert(e.type === "beforeunload" ? e.cancelable : !e.cancelable);
  console.log(`got ${e.type} event in event handler (main)`);
};

window.addEventListener("load", eventHandler);

window.addEventListener("beforeunload", eventHandler);

window.addEventListener("unload", eventHandler);

window.onload = (e: Event) => {
  assert(!e.cancelable);
  console.log(`got ${e.type} event in onload function`);
};

window.onbeforeunload = (e: BeforeUnloadEvent) => {
  assert(e.cancelable);
  console.log(`got ${e.type} event in onbeforeunload function`);
};

window.onunload = (e: Event) => {
  assert(!e.cancelable);
  console.log(`got ${e.type} event in onunload function`);
};

console.log("log from main");