64 lines
2.2 KiB
HTML
64 lines
2.2 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<body>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
<script>
|
|
description("Tests calling initEvent() on an event while it is being dispatched and after.");
|
|
|
|
function eventHandler(ev) {
|
|
event = ev;
|
|
debug("");
|
|
debug("* In event handler");
|
|
shouldBeEqualToString("event.type", "foo");
|
|
shouldBeTrue("event.bubbles");
|
|
shouldBeFalse("event.cancelable");
|
|
shouldBe("event.target", "document.body");
|
|
shouldBe("event.currentTarget", "document.body");
|
|
shouldBe("event.eventPhase", "Event.AT_TARGET");
|
|
|
|
debug("");
|
|
// It should not be possible to re-initialize an event being dispatched.
|
|
shouldNotThrow('event.initEvent("bar", false, true)');
|
|
shouldBeEqualToString("event.type", "foo");
|
|
shouldBeTrue("event.bubbles");
|
|
shouldBeFalse("event.cancelable");
|
|
shouldBe("event.target", "document.body");
|
|
shouldBe("event.currentTarget", "document.body");
|
|
shouldBe("event.eventPhase", "Event.AT_TARGET");
|
|
}
|
|
|
|
var testEvent = document.createEvent("Event");
|
|
shouldNotThrow('testEvent.initEvent("foo", true, false)');
|
|
shouldBeEqualToString("testEvent.type", "foo");
|
|
shouldBeTrue("testEvent.bubbles");
|
|
shouldBeFalse("testEvent.cancelable");
|
|
shouldBeNull("testEvent.target");
|
|
shouldBeNull("testEvent.currentTarget");
|
|
shouldBe("testEvent.eventPhase", "Event.NONE");
|
|
|
|
document.body.addEventListener("foo", eventHandler);
|
|
shouldNotThrow('document.body.dispatchEvent(testEvent)');
|
|
|
|
debug("");
|
|
debug("* After event has been dispatched");
|
|
shouldBeEqualToString("testEvent.type", "foo");
|
|
shouldBeTrue("testEvent.bubbles");
|
|
shouldBeFalse("testEvent.cancelable");
|
|
shouldBe("testEvent.target", "document.body");
|
|
shouldBeNull("testEvent.currentTarget");
|
|
shouldBe("testEvent.eventPhase", "Event.NONE");
|
|
|
|
// It should now be possible to re-initialize the event.
|
|
debug("");
|
|
shouldNotThrow('testEvent.initEvent("bar", false, true)');
|
|
shouldBeEqualToString("testEvent.type", "bar");
|
|
shouldBeFalse("testEvent.bubbles");
|
|
shouldBeTrue("testEvent.cancelable");
|
|
shouldBeNull("testEvent.target");
|
|
shouldBeNull("testEvent.currentTarget");
|
|
shouldBe("testEvent.eventPhase", "Event.NONE");
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|