diff options
Diffstat (limited to 'widget/tests/test_plugin_input_event.html')
-rw-r--r-- | widget/tests/test_plugin_input_event.html | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/widget/tests/test_plugin_input_event.html b/widget/tests/test_plugin_input_event.html new file mode 100644 index 000000000..6ed2a14c4 --- /dev/null +++ b/widget/tests/test_plugin_input_event.html @@ -0,0 +1,74 @@ +<!DOCTYPE HTML> +<html> +<head> + <title>Test for plugin input event</title> + <script type="text/javascript" + src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> + <script type="text/javascript" + src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script> + <script type="text/javascript" + src="chrome://mochikit/content/tests/SimpleTest/NativeKeyCodes.js"></script> + <script type="text/javascript" src="utils.js"></script> + <link rel="stylesheet" type="text/css" + href="chrome://mochikit/content/tests/SimpleTest/test.css" /> +</head> +<body> +<script type="application/javascript"> +setTestPluginEnabledState(SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED); +</script> + +<p id="display"> + <embed id="plugin" type="application/x-test" wmode="opaque"> +</p> +<div id="content" style="display: none"> + +</div> +<pre id="test"> +</pre> + +<script type="application/javascript"> +SimpleTest.waitForExplicitFinish(); + +var gPlugin = document.getElementById("plugin"); + +var gUtils = window. + QueryInterface(Components.interfaces.nsIInterfaceRequestor). + getInterface(Components.interfaces.nsIDOMWindowUtils); + +function* doTest() { + gPlugin.focus(); + + is(gUtils.IMEStatus, gUtils.IME_STATUS_PLUGIN, + "Plugin failed to get focus"); + + is(gPlugin.getLastKeyText(), "", "Must be empty before first key test"); + + yield synthesizeNativeKey(KEYBOARD_LAYOUT_EN_US, WIN_VK_A, {}, "a", "a", continueTest); + is(gPlugin.getLastKeyText(), "a", "Invalid character was inputted"); + + yield synthesizeNativeKey(KEYBOARD_LAYOUT_GERMAN, WIN_VK_OEM_PLUS, {}, "+", "+", continueTest); + is(gPlugin.getLastKeyText(), "+", "Invalid character was inputted"); + + yield synthesizeNativeKey(KEYBOARD_LAYOUT_GERMAN, WIN_VK_OEM_PLUS, {altGrKey:1}, "~", "+", continueTest); + is(gPlugin.getLastKeyText(), "~", "Invalid character was inputted"); +} + +var gTestContinuation = null; + +function continueTest() { + if (!gTestContinuation) { + gTestContinuation = doTest(continueTest); + } + var ret = gTestContinuation.next(); + if (ret.done) { + SimpleTest.finish(); + } else { + is(ret.value, true, "Key synthesized successfully"); + } +} + +SimpleTest.waitForFocus(continueTest); + +</script> +</body> +</html> |