mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1170484 - Test. r=ehsan
This commit is contained in:
parent
73a4e13ebe
commit
a9ab0cd982
@ -7,3 +7,4 @@
|
||||
DIRS += ['idl', 'locales', 'hunspell', 'src']
|
||||
|
||||
MOCHITEST_CHROME_MANIFESTS += ['tests/chrome/chrome.ini']
|
||||
MOCHITEST_MANIFESTS += ['tests/mochitest/mochitest.ini']
|
||||
|
15
extensions/spellcheck/tests/mochitest/helper_bug1170484.js
Normal file
15
extensions/spellcheck/tests/mochitest/helper_bug1170484.js
Normal file
@ -0,0 +1,15 @@
|
||||
const Cu = Components.utils;
|
||||
const Ci = Components.interfaces;
|
||||
|
||||
Cu.import("resource://gre/modules/Services.jsm");
|
||||
|
||||
// Chrome scripts are run with synchronous messages, so make sure we're completely
|
||||
// decoupled from the content process before doing this work.
|
||||
Cu.dispatch(function() {
|
||||
let chromeWin = Services.ww.activeWindow.QueryInterface(Ci.nsIDOMChromeWindow);
|
||||
contextMenu = chromeWin.document.getElementById("contentAreaContextMenu");
|
||||
var suggestion = contextMenu.querySelector(".spell-suggestion");
|
||||
suggestion.doCommand();
|
||||
contextMenu.hidePopup();
|
||||
sendAsyncMessage("spellingCorrected");
|
||||
});
|
7
extensions/spellcheck/tests/mochitest/mochitest.ini
Normal file
7
extensions/spellcheck/tests/mochitest/mochitest.ini
Normal file
@ -0,0 +1,7 @@
|
||||
[DEFAULT]
|
||||
skip-if = buildapp == 'b2g' || os == 'android'
|
||||
|
||||
[test_bug1170484.html]
|
||||
|
||||
support-files =
|
||||
helper_bug1170484.js
|
56
extensions/spellcheck/tests/mochitest/test_bug1170484.html
Normal file
56
extensions/spellcheck/tests/mochitest/test_bug1170484.html
Normal file
@ -0,0 +1,56 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<!--
|
||||
https://bugzilla.mozilla.org/show_bug.cgi?id=1170484
|
||||
-->
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Test for Bug 1170484</title>
|
||||
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||
<script type="application/javascript" src="/tests/SimpleTest/EventUtils.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||
<script type="application/javascript">
|
||||
|
||||
/** Test for Bug 1170484 **/
|
||||
SimpleTest.waitForExplicitFinish();
|
||||
SpecialPowers.Cu.import("resource://gre/modules/AsyncSpellCheckTestHelper.jsm", window);
|
||||
|
||||
SimpleTest.waitForFocus(doTest, window);
|
||||
function doTest() {
|
||||
var mutations = 0;
|
||||
var observer = new MutationObserver(() => { mutations++; });
|
||||
observer.observe($('area'), { childList: true, characterData: true, characterDataOldValue: true, subtree: true });
|
||||
var inputEvents = 0;
|
||||
$('area').addEventListener('input', () => ++inputEvents);
|
||||
|
||||
// Clicking the contentEditable during onload doesn't seem to do anything.
|
||||
// Not sure why, but postponing through the event loop seems to be enough.
|
||||
SimpleTest.executeSoon(function() {
|
||||
synthesizeMouseAtCenter($('misspelled'), {}, window);
|
||||
onSpellCheck($('area'), function() {
|
||||
synthesizeMouseAtCenter($('misspelled'), {type: 'contextmenu'}, window);
|
||||
var mm = SpecialPowers.loadChromeScript(SimpleTest.getTestFileURL('helper_bug1170484.js'))
|
||||
info("Loaded chrome script");
|
||||
mm.addMessageListener('spellingCorrected', function() {
|
||||
is($('area').textContent, 'testing spellcheck', "Spelling corrected properly");
|
||||
is(mutations, 1, "Got correct number of mutations");
|
||||
is(inputEvents, 1, "Got correct number of input events");
|
||||
SimpleTest.finish();
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1170484">Mozilla Bug 1170484</a>
|
||||
<p id="display"></p>
|
||||
<div id="content" style="display: none">
|
||||
|
||||
</div>
|
||||
<pre id="test">
|
||||
<div id="area" contenteditable="true">testing <span id="misspelled">spellechek</span></div>
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user