From f51e61e88cd878f6018488f48c07ddf883905d75 Mon Sep 17 00:00:00 2001 From: Sebastian Hengst Date: Fri, 28 Oct 2016 00:38:25 +0200 Subject: [PATCH] Backed out changeset 5f63100d5531 (bug 1269209) MozReview-Commit-ID: Jl5DGq5SSIb --- editor/composer/test/chrome.ini | 1 + editor/composer/test/mochitest.ini | 1 - editor/composer/test/test_bug1200533.html | 85 +++++++++++------------ 3 files changed, 41 insertions(+), 46 deletions(-) diff --git a/editor/composer/test/chrome.ini b/editor/composer/test/chrome.ini index 7533170dd339..35bd58fc60f1 100644 --- a/editor/composer/test/chrome.ini +++ b/editor/composer/test/chrome.ini @@ -2,6 +2,7 @@ skip-if = buildapp == 'b2g' || os == 'android' [test_bug434998.xul] +[test_bug1200533.html] [test_bug1205983.html] [test_bug1209414.html] [test_bug1219928.html] diff --git a/editor/composer/test/mochitest.ini b/editor/composer/test/mochitest.ini index 6e2afbbde582..e2c1e8d8e094 100644 --- a/editor/composer/test/mochitest.ini +++ b/editor/composer/test/mochitest.ini @@ -24,5 +24,4 @@ skip-if = toolkit == 'android' [test_bug697981.html] [test_bug717433.html] [test_bug738440.html] -[test_bug1200533.html] [test_bug1204147.html] diff --git a/editor/composer/test/test_bug1200533.html b/editor/composer/test/test_bug1200533.html index 310b8d7cf50b..f1bd77b1f1f6 100644 --- a/editor/composer/test/test_bug1200533.html +++ b/editor/composer/test/test_bug1200533.html @@ -5,8 +5,8 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1200533 --> Test for Bug 1200533 - - + + Mozilla Bug 1200533 @@ -48,61 +48,51 @@ var tests = [ ]; var loadCount = 0; -var script; +var en_GB; +var en_AU; +var en_DE; +var hunspell; var loadListener = function(evt) { + Components.utils.import("resource://gre/modules/AsyncSpellCheckTestHelper.jsm"); + Components.utils.import("resource://gre/modules/Services.jsm"); + if (loadCount == 0) { - script = SpecialPowers.loadChromeScript(function() { - var dir = Components.classes["@mozilla.org/file/directory_service;1"] - .getService(Components.interfaces.nsIProperties) - .get("CurWorkD", Components.interfaces.nsIFile); - dir.append("tests"); - dir.append("editor"); - dir.append("composer"); - dir.append("test"); + var dir = Components.classes["@mozilla.org/file/directory_service;1"] + .getService(Components.interfaces.nsIProperties) + .get("CurWorkD", Components.interfaces.nsIFile); + dir.append("tests"); + dir.append("editor"); + dir.append("composer"); + dir.append("test"); - var hunspell = Components.classes["@mozilla.org/spellchecker/engine;1"] - .getService(Components.interfaces.mozISpellCheckingEngine); + hunspell = Components.classes["@mozilla.org/spellchecker/engine;1"] + .getService(Components.interfaces.mozISpellCheckingEngine); - // Install en-GB, en-AU and de-DE dictionaries. - var en_GB = dir.clone(); - var en_AU = dir.clone(); - var de_DE = dir.clone(); - en_GB.append("en-GB"); - en_AU.append("en-AU"); - de_DE.append("de-DE"); - hunspell.addDirectory(en_GB); - hunspell.addDirectory(en_AU); - hunspell.addDirectory(de_DE); - - addMessageListener("check-existence", - () => [en_GB.exists(), en_AU.exists(), - de_DE.exists()]); - addMessageListener("destroy", () => { - hunspell.removeDirectory(en_GB); - hunspell.removeDirectory(en_AU); - hunspell.removeDirectory(de_DE); - }); - }); - var existenceChecks = script.sendSyncMessage("check-existence")[0][0]; - is(existenceChecks[0], true, "true expected (en-GB directory should exist)"); - is(existenceChecks[1], true, "true expected (en-AU directory should exist)"); - is(existenceChecks[2], true, "true expected (de-DE directory should exist)"); + // Install en-GB, en-AU and de-DE dictionaries. + en_GB = dir.clone(); + en_AU = dir.clone(); + de_DE = dir.clone(); + en_GB.append("en-GB"); + en_AU.append("en-AU"); + de_DE.append("de-DE"); + is(en_GB.exists(), true, "true expected (en-GB directory should exist)"); + is(en_AU.exists(), true, "true expected (en-AU directory should exist)"); + is(de_DE.exists(), true, "true expected (de-DE directory should exist)"); + hunspell.addDirectory(en_GB); + hunspell.addDirectory(en_AU); + hunspell.addDirectory(de_DE); } - SpecialPowers.pushPrefEnv({set: [["spellchecker.dictionary", tests[loadCount][1]]]}, - function() { continueTest(evt) }); -} + Services.prefs.setCharPref("spellchecker.dictionary", tests[loadCount][1]); -function continueTest(evt) { var doc = evt.target.contentDocument; var elem = doc.getElementById(tests[loadCount][0]); - var editor = SpecialPowers.wrap(elem).QueryInterface(SpecialPowers.Ci.nsIDOMNSEditableElement).editor; + var editor = elem.QueryInterface(Components.interfaces.nsIDOMNSEditableElement).editor; editor.setSpellcheckUserOverride(true); var inlineSpellChecker = editor.getInlineSpellChecker(true); - SpecialPowers.Cu.import("resource://gre/modules/AsyncSpellCheckTestHelper.jsm") - .onSpellCheck(elem, function () { + onSpellCheck(elem, function () { var spellchecker = inlineSpellChecker.spellChecker; try { var dict = spellchecker.GetCurrentDictionary(); @@ -121,7 +111,12 @@ function continueTest(evt) { content.src = 'http://mochi.test:8888/tests/editor/composer/test/bug1200533_subframe.html?firstload=false'; } else { // Remove the fake dictionaries again, since it's otherwise picked up by later tests. - script.sendSyncMessage("destroy"); + hunspell.removeDirectory(en_GB); + hunspell.removeDirectory(en_AU); + hunspell.removeDirectory(de_DE); + + // Reset the preference, so the last value we set doesn't collide with the next test. + Services.prefs.setCharPref("spellchecker.dictionary", ""); SimpleTest.finish(); }