tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_spellcheck_selection.html (1405B)


      1 <!DOCTYPE html>
      2 <meta charset="utf-8">
      3 <title>Bug 1779846: Test enableSelectionChecking=true on nsIEditorSpellCheck.InitSpellChecker</title>
      4 <script src="/tests/SimpleTest/SimpleTest.js"></script>
      5 <link rel="stylesheet" href="/tests/SimpleTest/test.css" />
      6 
      7 <div contenteditable lang="en-US">missspelled</div>
      8 
      9 <script>
     10 add_task(async function() {
     11  await new Promise(resolve => SimpleTest.waitForFocus(resolve));
     12 
     13  let { maybeOnSpellCheck } = SpecialPowers.ChromeUtils.importESModule(
     14    "resource://testing-common/AsyncSpellCheckTestHelper.sys.mjs"
     15  );
     16 
     17  let editingHost = document.querySelector("div[contenteditable][lang=en-US]");
     18  editingHost.focus();
     19 
     20  await new Promise(resolve => maybeOnSpellCheck(editingHost, resolve));
     21 
     22  let editingSession = SpecialPowers.wrap(window).docShell.editingSession;
     23  let editor = editingSession.getEditorForWindow(window);
     24  let spellchecker = SpecialPowers.Cu.createSpellChecker();
     25  spellchecker.setFilterType(spellchecker.FILTERTYPE_NORMAL);
     26 
     27  /* Select "missspelled" in the <div>. */
     28  window.getSelection().selectAllChildren(editingHost);
     29 
     30  /* Pass true to InitSpellChecker to spellcheck the current selection of the editor.*/
     31  await new Promise(resolve => spellchecker.InitSpellChecker(editor, true, resolve));
     32 
     33  /* InitSpellChecker with enableSelectionChecking=true shouldn't throw any errors. */
     34  ok(spellchecker.canSpellCheck());
     35 });
     36 </script>