mirror of
https://github.com/denoland/deno.git
synced 2024-11-29 16:30:56 -05:00
6be389ce29
Note: tests are not the only part of the codebase that uses `std`. Other parts, like `tools/`, do too. So, it could be argued that this is a little misleading. Either way, I'm doing this as discussed with @mmastrac.
34 lines
970 B
TypeScript
34 lines
970 B
TypeScript
// deno-lint-ignore-file no-window-prefix no-prototype-builtins
|
|
import { assert } from "../../../../tests/util/std/assert/mod.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");
|