test_bug484181.html (1947B)
1 <!DOCTYPE HTML> 2 <html> 3 <!-- 4 https://bugzilla.mozilla.org/show_bug.cgi?id=484181 5 --> 6 <head> 7 <title>Test for Bug 484181</title> 8 <script src="/tests/SimpleTest/SimpleTest.js"></script> 9 <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/> 10 <script src="/tests/SimpleTest/EventUtils.js"></script> 11 <script src="spellcheck.js"></script> 12 </head> 13 <body> 14 <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=484181">Mozilla Bug 484181</a> 15 <p id="display"></p> 16 <div id="content" style="display: none"> 17 18 </div> 19 <pre id="test"> 20 <script type="application/javascript"> 21 22 /** Test for Bug 484181 */ 23 24 SimpleTest.waitForExplicitFinish(); 25 addLoadEvent(runTest); 26 27 var gMisspeltWords; 28 29 function getEditor() { 30 var win = window; 31 var editingSession = SpecialPowers.wrap(win).docShell.editingSession; 32 return editingSession.getEditorForWindow(win); 33 } 34 35 function append(str) { 36 var edit = document.getElementById("edit"); 37 var editor = getEditor(); 38 var sel = editor.selection; 39 sel.selectAllChildren(edit); 40 sel.collapseToEnd(); 41 sendString(str); 42 } 43 44 function runTest() { 45 gMisspeltWords = ["haz", "cheezburger"]; 46 var edit = document.getElementById("edit"); 47 edit.focus(); 48 49 const { maybeOnSpellCheck } = SpecialPowers.ChromeUtils.importESModule( 50 "resource://testing-common/AsyncSpellCheckTestHelper.sys.mjs" 51 ); 52 maybeOnSpellCheck(edit, function() { 53 ok(isSpellingCheckOk(getEditor(), gMisspeltWords), 54 "All misspellings before editing are accounted for."); 55 56 append(" becaz I'm a lulcat!"); 57 maybeOnSpellCheck(edit, function() { 58 gMisspeltWords.push("becaz"); 59 gMisspeltWords.push("lulcat"); 60 ok(isSpellingCheckOk(getEditor(), gMisspeltWords), 61 "All misspellings after typing are accounted for."); 62 63 SimpleTest.finish(); 64 }); 65 }); 66 } 67 </script> 68 </pre> 69 70 <div><div></div><div id="edit" contenteditable="true">I can haz cheezburger</div></div> 71 72 </body> 73 </html>