| <!DOCTYPE html> |
| <html> |
| <body> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script> |
| description("Tests the behavior of dispatchEvent() on a Window"); |
| jsTestIsAsync = true; |
| |
| onload = function(e) { |
| testEvent = e; |
| |
| debug("* Received load event"); |
| shouldBeEqualToString("testEvent.type", "load"); |
| shouldBeFalse("testEvent.bubbles"); |
| shouldBeFalse("testEvent.cancelable"); |
| shouldBeFalse("testEvent.composed"); |
| shouldBeTrue("testEvent.isTrusted"); |
| shouldBe("testEvent.eventPhase", "Event.AT_TARGET"); |
| shouldBe("testEvent.target", "window.document"); |
| shouldBe("testEvent.currentTarget", "window"); |
| shouldBeFalse("testEvent.cancelBubble"); |
| |
| // Should fail because the event is being dispatched. |
| evalAndLog("testEvent.initEvent('foo', true, true)"); |
| |
| shouldBeEqualToString("testEvent.type", "load"); |
| shouldBeFalse("testEvent.bubbles"); |
| shouldBeFalse("testEvent.cancelable"); |
| shouldBeTrue("testEvent.isTrusted"); |
| |
| evalAndLog("testEvent.stopPropagation()"); |
| shouldBeTrue("testEvent.cancelBubble"); |
| |
| setTimeout(function() { |
| debug("* Event is no longer being dispatched"); |
| shouldBeEqualToString("testEvent.type", "load"); |
| shouldBeFalse("testEvent.bubbles"); |
| shouldBeFalse("testEvent.cancelable"); |
| shouldBeFalse("testEvent.composed"); |
| shouldBeTrue("testEvent.isTrusted"); |
| shouldBe("testEvent.eventPhase", "Event.NONE"); |
| shouldBe("testEvent.target", "window.document"); |
| shouldBeNull("testEvent.currentTarget"); |
| shouldBeFalse("testEvent.cancelBubble"); |
| |
| evalAndLog("testEvent.initEvent('bar', true, true)"); |
| shouldBeEqualToString("testEvent.type", "bar"); |
| shouldBeTrue("testEvent.bubbles"); |
| shouldBeTrue("testEvent.cancelable"); |
| shouldBeFalse("testEvent.composed"); |
| shouldBeFalse("testEvent.isTrusted"); |
| shouldBe("testEvent.eventPhase", "Event.NONE"); |
| shouldBeNull("testEvent.target"); |
| shouldBeNull("testEvent.currentTarget"); |
| |
| finishJSTest(); |
| }, 0); |
| } |
| </script> |
| <script src="../../resources/js-test-post.js"></script> |
| </html> |