<!DOCTYPE html>
<html>
<body>
<script src="../../resources/js-test.js"></script>
<script>
description("Tests that window.event is set on the right global when an error event is fired.");

let dispatchedRecursiveEvent = false;

const otherWindow = document.body.appendChild(document.createElement("iframe")).contentWindow;
otherWindow.onerror = (e) => {
    passedEvent = e;
    shouldBeUndefined("otherWindow.event");
    shouldBe("passedEvent", "window.event");

    if (!dispatchedRecursiveEvent) {
        dispatchedRecursiveEvent = true;
        debug("Dispatching recursive error event");
        otherWindow.dispatchEvent(new Event("error"));

        passedEvent = e;
        shouldBeUndefined("otherWindow.event");
        shouldBe("passedEvent", "window.event");
    }
}
shouldBeUndefined("otherWindow.event");
shouldBeUndefined("window.event");
debug("Dispatching error event");
otherWindow.dispatchEvent(new Event("error"));
shouldBeUndefined("otherWindow.event");
shouldBeUndefined("window.event");
</script>
</body>
</html>
