1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <!DOCTYPE html>
- <html>
- <!--
- https://bugzilla.mozilla.org/show_bug.cgi?id=1219928
- -->
- <head>
- <title>Test for Bug 1219928</title>
- <script src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" href="/tests/SimpleTest/test.css" />
- </head>
- <body>
- <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1219928">Mozilla Bug 1219928</a>
- <p id="display"></p>
- <div contenteditable id="en-US" lang="en-US">
- <p>And here a missspelled word</p>
- <style>
- <!-- and here another onnee in a style comment -->
- </style>
- </div>
- <pre id="test">
- <script class="testbody" type="text/javascript">
- /** Test for Bug 1219928 **/
- /* Very simple test to check that <style> blocks are skipped in the spell check */
- var spellchecker;
- SimpleTest.waitForExplicitFinish();
- SimpleTest.waitForFocus(function() {
- SpecialPowers.Cu.import("resource://gre/modules/AsyncSpellCheckTestHelper.jsm",
- window);
- var elem = document.getElementById('en-US');
- elem.focus();
- onSpellCheck(elem, function () {
- var Ci = SpecialPowers.Ci;
- var editingSession = SpecialPowers.wrap(window)
- .QueryInterface(Ci.nsIInterfaceRequestor)
- .getInterface(Ci.nsIWebNavigation)
- .QueryInterface(Ci.nsIInterfaceRequestor)
- .getInterface(Ci.nsIEditingSession);
- var editor = editingSession.getEditorForWindow(window);
- var selcon = editor.selectionController;
- var sel = selcon.getSelection(selcon.SELECTION_SPELLCHECK);
- is(sel.toString(), "missspelled", "one misspelled word expected: missspelled");
- spellchecker = SpecialPowers.Cc['@mozilla.org/editor/editorspellchecker;1']
- .createInstance(Ci.nsIEditorSpellCheck);
- var filterContractId = "@mozilla.org/editor/txtsrvfilter;1";
- spellchecker.setFilter(SpecialPowers.Cc[filterContractId]
- .createInstance(Ci.nsITextServicesFilter));
- spellchecker.InitSpellChecker(editor, false, spellCheckStarted);
- });
- });
- function spellCheckStarted() {
- var misspelledWord = spellchecker.GetNextMisspelledWord();
- is(misspelledWord, "missspelled", "first misspelled word expected: missspelled");
- // Without the fix, the next misspelled word was 'onnee', so we check that we don't get it.
- misspelledWord = spellchecker.GetNextMisspelledWord();
- isnot(misspelledWord, "onnee", "second misspelled word should not be: onnee");
- spellchecker = "";
- SimpleTest.finish();
- }
- </script>
- </pre>
- </body>
- </html>
|