blob: c2ed8a4787c2e878d81439bd1b45048f39e05793 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin" type="text/css"?>
<?xml-stylesheet href="chrome://mochikit/content/tests/SimpleTest/test.css" type="text/css"?>
<!--
XUL Widget Test for textbox with Add and Undo Add to Dictionary
-->
<window title="Textbox Add and Undo Add to Dictionary Test" width="500" height="600"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml">
<script src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>
<script src="chrome://mochikit/content/tests/SimpleTest/EventUtils.js"></script>
<hbox>
<moz-input-box id="t1" oncontextmenu="runContextMenuTest()" spellcheck="true">
<html:input class="textbox-input" value="Hellop" spellcheck="true"/>
</moz-input-box>
</hbox>
<!-- test results are displayed in the html:body -->
<body xmlns="http://www.w3.org/1999/xhtml" style="height: 300px; overflow: auto;"/>
<!-- test code goes here -->
<script type="application/javascript"><![CDATA[
SimpleTest.waitForExplicitFinish();
var inputBox;
var testNum;
function bringUpContextMenu(element)
{
synthesizeMouseAtCenter(element, { type: "contextmenu", button: 2});
}
function leftClickElement(element)
{
synthesizeMouseAtCenter(element, { button: 0 });
}
var onSpellCheck;
function startTests()
{
inputBox = document.getElementById("t1");
inputBox._input.focus();
testNum = 0;
({onSpellCheck} = ChromeUtils.importESModule(
"resource://testing-common/AsyncSpellCheckTestHelper.sys.mjs"));
onSpellCheck(inputBox._input, function () {
bringUpContextMenu(inputBox);
});
}
function runContextMenuTest()
{
SimpleTest.executeSoon(function() {
var contextMenu = inputBox.menupopup;
switch(testNum)
{
case 0: // "Add to Dictionary" button
var addToDict = inputBox.getMenuItem("spell-add-to-dictionary");
ok(!addToDict.hidden, "Is Add to Dictionary visible?");
var separator = inputBox.getMenuItem("spell-suggestions-separator");
ok(!separator.hidden, "Is separator visible?");
addToDict.doCommand();
contextMenu.hidePopup();
testNum++;
onSpellCheck(inputBox._input, function () {
bringUpContextMenu(inputBox);
});
break;
case 1: // "Undo Add to Dictionary" button
var undoAddDict = inputBox.getMenuItem("spell-undo-add-to-dictionary");
ok(!undoAddDict.hidden, "Is Undo Add to Dictioanry visible?");
separator = inputBox.getMenuItem("spell-suggestions-separator");
ok(!separator.hidden, "Is separator hidden?");
undoAddDict.doCommand();
contextMenu.hidePopup();
onSpellCheck(inputBox._input, function () {
SimpleTest.finish();
});
break;
}
});
}
SimpleTest.waitForFocus(startTests);
]]></script>
</window>
|