summaryrefslogtreecommitdiffstats
path: root/dom/events/test/test_dom_before_after_keyboard_event.html
diff options
context:
space:
mode:
authorMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
committerMatt A. Tobin <mattatobin@localhost.localdomain>2018-02-02 04:16:08 -0500
commit5f8de423f190bbb79a62f804151bc24824fa32d8 (patch)
tree10027f336435511475e392454359edea8e25895d /dom/events/test/test_dom_before_after_keyboard_event.html
parent49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff)
downloadUXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz
UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip
Add m-esr52 at 52.6.0
Diffstat (limited to 'dom/events/test/test_dom_before_after_keyboard_event.html')
-rw-r--r--dom/events/test/test_dom_before_after_keyboard_event.html136
1 files changed, 136 insertions, 0 deletions
diff --git a/dom/events/test/test_dom_before_after_keyboard_event.html b/dom/events/test/test_dom_before_after_keyboard_event.html
new file mode 100644
index 000000000..533a7e73a
--- /dev/null
+++ b/dom/events/test/test_dom_before_after_keyboard_event.html
@@ -0,0 +1,136 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <title>Test for Bug 989198</title>
+ <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <script type="application/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
+ <script type="text/javascript" src="/tests/SimpleTest/NativeKeyCodes.js"></script>
+ <script type="text/javascript" src="bug989198_helper.js"></script>
+ <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
+</head>
+<body onload="runTests();">
+<a target="_blank"
+ href="https://bugzilla.mozilla.org/show_bug.cgi?id=989198">Mozilla Bug 989198</a>
+<p id="display"></p>
+<pre id="test">
+<script type="application/javascript">
+
+SimpleTest.waitForExplicitFinish();
+
+function cleanupTest()
+{
+ teardownHandlers(window, embedderHandler);
+ runTests();
+}
+
+function testEventOrderAndAttr()
+{
+ const kTests = [
+ {
+ description: "Testing the order of the events",
+ expectedEvents: [ [ kParent | kBeforeEvent | kKeyDownEvent,
+ kChild | kKeyDownEvent,
+ kParent | kAfterEvent | kKeyDownEvent ],
+ [ kParent | kBeforeEvent | kKeyUpEvent,
+ kChild | kKeyUpEvent,
+ kParent | kAfterEvent | kKeyUpEvent ] ],
+ resultEvents: [],
+ classifiedEvents: [ [], [] ],
+ doPreventDefaultAt: kUnknownEvent
+ },
+ {
+ description: "Testing the order of the events, calling preventDefault() at \"mozbrowserbeforekeydown\" event",
+ expectedEvents: [ [ kParent | kBeforeEvent | kKeyDownEvent,
+ kParent | kAfterEvent | kKeyDownEvent ],
+ [ kParent | kBeforeEvent | kKeyUpEvent,
+ kChild | kKeyUpEvent,
+ kParent | kAfterEvent | kKeyUpEvent ] ],
+ resultEvents: [],
+ classifiedEvents: [ [], [] ],
+ doPreventDefaultAt: kParent | kBeforeEvent | kKeyDownEvent
+ },
+ {
+ description: "Testing the order of the events, calling preventDefault() at \"mozbrowserbeforekeyup\" event",
+ expectedEvents: [ [ kParent | kBeforeEvent | kKeyDownEvent,
+ kChild | kKeyDownEvent,
+ kParent | kAfterEvent | kKeyDownEvent ],
+ [ kParent | kBeforeEvent | kKeyUpEvent,
+ kParent | kAfterEvent | kKeyUpEvent ] ],
+ resultEvents: [],
+ classifiedEvents: [ [], [] ],
+ doPreventDefaultAt: kParent | kBeforeEvent | kKeyUpEvent
+ },
+ {
+ description: "Testing the order of the events, calling preventDefault() at \"keydown\" event",
+ expectedEvents: [ [ kParent | kBeforeEvent | kKeyDownEvent,
+ kChild | kKeyDownEvent,
+ kParent | kAfterEvent | kKeyDownEvent ],
+ [ kParent | kBeforeEvent | kKeyUpEvent,
+ kChild | kKeyUpEvent,
+ kParent | kAfterEvent | kKeyUpEvent ] ],
+ resultEvents: [],
+ classifiedEvents: [ [], [] ],
+ doPreventDefaultAt: kChild | kKeyDownEvent
+ },
+ {
+ description: "Testing the order of the events, calling preventDefault() at \"keyup\" event",
+ expectedEvents: [ [ kParent | kBeforeEvent | kKeyDownEvent,
+ kChild | kKeyDownEvent,
+ kParent | kAfterEvent | kKeyDownEvent ],
+ [ kParent | kBeforeEvent | kKeyUpEvent,
+ kChild | kKeyUpEvent,
+ kParent | kAfterEvent | kKeyUpEvent ] ],
+ resultEvents: [],
+ classifiedEvents: [ [], [] ],
+ doPreventDefaultAt: kChild | kKeyUpEvent
+ }
+ ];
+
+ for (var k = 0; k < kTests.length; k++ ) {
+ gCurrentTest = kTests[k];
+ synthesizeKey('a', {}, document.getElementById("embedded").contentWindow);
+ classifyEvents(kTests[k]);
+ verifyResults(kTests[k]);
+ }
+
+ runTests();
+}
+
+var tests = [
+ function addPermissions() {
+ SpecialPowers.pushPermissions(
+ [{ type: "before-after-keyboard-event", allow: true, context: document },
+ { type: "browser", allow: true, context: document }],
+ runTests);
+ },
+ function addPreferences() {
+ SpecialPowers.pushPrefEnv(
+ { "set": [["dom.beforeAfterKeyboardEvent.enabled", true],
+ ["dom.mozBrowserFramesEnabled", true],
+ ["network.disable.ipc.security", true],
+ ["dom.ipc.tabs.disabled", false]] },
+ runTests);
+ },
+
+ // Tests for in-process iframe, i.e. <iframe mozbrowser>.
+ function () {
+ prepareTest(false);
+ },
+ testEventOrderAndAttr,
+ cleanupTest,
+];
+
+function runTests()
+{
+ if (!tests.length) {
+ SimpleTest.finish();
+ return;
+ }
+
+ var test = tests.shift();
+ test();
+}
+
+</script>
+</body>
+</html>