|
1 <!DOCTYPE HTML> |
|
2 <html> |
|
3 <head> |
|
4 <title>Test for plugin input event</title> |
|
5 <script type="text/javascript" |
|
6 src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script> |
|
7 <script type="text/javascript" |
|
8 src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script> |
|
9 <script type="text/javascript" |
|
10 src="chrome://mochikit/content/tests/SimpleTest/NativeKeyCodes.js"></script> |
|
11 <link rel="stylesheet" type="text/css" |
|
12 href="chrome://mochikit/content/tests/SimpleTest/test.css" /> |
|
13 </head> |
|
14 <body> |
|
15 <script type="application/javascript"> |
|
16 var pluginHost = SpecialPowers.Cc["@mozilla.org/plugin/host;1"] |
|
17 .getService(SpecialPowers.Ci.nsIPluginHost); |
|
18 var pluginTags = pluginHost.getPluginTags(); |
|
19 for (var tag of pluginTags) { |
|
20 if (tag.name == "Test Plug-in") { |
|
21 tag.enabledState = SpecialPowers.Ci.nsIPluginTag.STATE_ENABLED;; |
|
22 } |
|
23 } |
|
24 </script> |
|
25 |
|
26 <p id="display"> |
|
27 <embed id="plugin" type="application/x-test" wmode="opaque"> |
|
28 </p> |
|
29 <div id="content" style="display: none"> |
|
30 |
|
31 </div> |
|
32 <pre id="test"> |
|
33 </pre> |
|
34 |
|
35 <script type="application/javascript"> |
|
36 SimpleTest.waitForExplicitFinish(); |
|
37 |
|
38 var gPlugin = document.getElementById("plugin"); |
|
39 |
|
40 var gUtils = window. |
|
41 QueryInterface(Components.interfaces.nsIInterfaceRequestor). |
|
42 getInterface(Components.interfaces.nsIDOMWindowUtils); |
|
43 |
|
44 function doTest() { |
|
45 gPlugin.focus(); |
|
46 |
|
47 is(gUtils.IMEStatus, gUtils.IME_STATUS_PLUGIN, |
|
48 "Plugin failed to get focus"); |
|
49 |
|
50 is(gPlugin.getLastKeyText(), "", "Must be empty before first key test"); |
|
51 |
|
52 synthesizeNativeKey(KEYBOARD_LAYOUT_EN_US, WIN_VK_A, {}, "a", "a"); |
|
53 is(gPlugin.getLastKeyText(), "a", "Invalid character was inputted"); |
|
54 |
|
55 synthesizeNativeKey(KEYBOARD_LAYOUT_GERMAN, WIN_VK_OEM_PLUS, {}, "+", "+"); |
|
56 is(gPlugin.getLastKeyText(), "+", "Invalid character was inputted"); |
|
57 |
|
58 synthesizeNativeKey(KEYBOARD_LAYOUT_GERMAN, WIN_VK_OEM_PLUS, {altGrKey:1}, "~", "+"); |
|
59 is(gPlugin.getLastKeyText(), "~", "Invalid character was inputted"); |
|
60 |
|
61 SimpleTest.finish(); |
|
62 } |
|
63 |
|
64 SimpleTest.waitForFocus(doTest); |
|
65 |
|
66 </script> |
|
67 </body> |
|
68 </html> |