Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5965)

Unified Diff: chrome/browser/spellchecker/spellcheck_service_browsertest.cc

Issue 1156473007: Enables the user to select multiple languages for spellchecking (UI) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressed previous comments. Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/spellchecker/spellcheck_service_browsertest.cc
diff --git a/chrome/browser/spellchecker/spellcheck_service_browsertest.cc b/chrome/browser/spellchecker/spellcheck_service_browsertest.cc
index 7c6eed772fc9386dc9219534dee1912c70344bdc..d5a1759d0a7e81fb310609e29c71695a692dda77 100644
--- a/chrome/browser/spellchecker/spellcheck_service_browsertest.cc
+++ b/chrome/browser/spellchecker/spellcheck_service_browsertest.cc
@@ -2,15 +2,21 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/command_line.h"
#include "base/path_service.h"
+#include "base/prefs/pref_member.h"
+#include "base/prefs/pref_service.h"
#include "base/synchronization/waitable_event.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/spellchecker/spellcheck_factory.h"
#include "chrome/browser/spellchecker/spellcheck_service.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/common/chrome_paths.h"
+#include "chrome/common/chrome_switches.h"
+#include "chrome/common/pref_names.h"
#include "chrome/common/spellcheck_common.h"
#include "chrome/test/base/in_process_browser_test.h"
+#include "components/user_prefs/user_prefs.h"
#include "content/public/test/test_utils.h"
#include "url/gurl.h"
@@ -41,6 +47,14 @@ class SpellcheckServiceBrowserTest : public InProcessBrowserTest {
}
};
+class MultilingualSpellcheckServiceBrowserTest : public InProcessBrowserTest {
please use gerrit instead 2015/06/06 01:42:12 Put MultilingualSpellcheckServiceBrowserTest right
Julius 2015/06/12 20:10:15 Done.
+ public:
+ Profile* GetProfile() { return browser()->profile(); }
+ void SetUpCommandLine(base::CommandLine* command_line) override {
+ command_line->AppendSwitch(switches::kEnableMultilingualSpellChecker);
+ }
+};
+
// Tests that we can delete a corrupted BDICT file used by hunspell. We do not
// run this test on Mac because Mac does not use hunspell by default.
IN_PROC_BROWSER_TEST_F(SpellcheckServiceBrowserTest, DeleteCorruptedBDICT) {
@@ -89,3 +103,32 @@ IN_PROC_BROWSER_TEST_F(SpellcheckServiceBrowserTest, DeleteCorruptedBDICT) {
EXPECT_TRUE(base::DeleteFile(bdict_path, true));
}
}
+
+IN_PROC_BROWSER_TEST_F(MultilingualSpellcheckServiceBrowserTest,
+ GetSpellCheckLanguages) {
+ BrowserContext* context = static_cast<BrowserContext*>(GetProfile());
+ PrefService* prefs = user_prefs::UserPrefs::Get(context);
+ prefs->SetString(prefs::kSpellCheckDictionaries, "fr,en-US");
please use gerrit instead 2015/06/06 01:42:13 Also set kSpellCheckDictionary to something invali
Julius 2015/06/12 20:10:15 It shouldn't be invalid. I'll add a JS test to cli
+ prefs->SetString(prefs::kAcceptLanguages, "fr,en-US,en-AU");
please use gerrit instead 2015/06/06 01:42:12 Mix up the order of the languages to differ from |
Julius 2015/06/12 20:10:15 Done.
+
+ std::vector<std::string> languages;
+ int ret = SpellcheckService::GetSpellCheckLanguages(context, &languages);
please use gerrit instead 2015/06/06 01:42:13 size_t
Julius 2015/06/12 20:10:15 Done.
+
+ ASSERT_EQ(ret, 2);
please use gerrit instead 2015/06/06 01:42:13 EXPECT_EQ(2UL, ret); EXPECT because this will let
Julius 2015/06/12 20:10:15 Done.
+ ASSERT_EQ("fr", languages[0]);
+ ASSERT_EQ("en-US", languages[1]);
+ ASSERT_EQ("en-AU", languages[2]);
please use gerrit instead 2015/06/06 01:42:13 ASSERT_EQ(3UL, languages.size()); EXPECT_EQ("fr",
Julius 2015/06/12 20:10:15 Done.
+}
+
+IN_PROC_BROWSER_TEST_F(SpellcheckServiceBrowserTest, GetSpellCheckLanguages) {
please use gerrit instead 2015/06/06 01:42:13 Put IN_PROC_BROWSER_TEST_F(SpellcheckServiceBrowse
Julius 2015/06/12 20:10:15 Done.
+ BrowserContext* context = static_cast<BrowserContext*>(GetProfile());
+ PrefService* prefs = user_prefs::UserPrefs::Get(context);
+ prefs->SetString(prefs::kSpellCheckDictionary, "fr");
please use gerrit instead 2015/06/06 01:42:12 Also set kSpellCheckDictionaries to something inva
Julius 2015/06/12 20:10:14 It shouldn't be invalid. I'll add a JS test to cli
+ prefs->SetString(prefs::kAcceptLanguages, "fr,en-US,en-AU");
+
+ std::vector<std::string> languages;
+ int ret = SpellcheckService::GetSpellCheckLanguages(context, &languages);
please use gerrit instead 2015/06/06 01:42:12 size_t
Julius 2015/06/12 20:10:15 Done.
+
+ ASSERT_EQ(ret, 1);
please use gerrit instead 2015/06/06 01:42:12 EXPECT_EQ(1UL, ret);
Julius 2015/06/12 20:10:15 Done.
+ ASSERT_EQ("fr", languages[0]);
please use gerrit instead 2015/06/06 01:42:12 ASSERT_EQ(1UL, languages.size()); EXPECT_EQ("fr",
Julius 2015/06/12 20:10:15 Done.
+}

Powered by Google App Engine
This is Rietveld 408576698