| 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 {
|
| + 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");
|
| + prefs->SetString(prefs::kAcceptLanguages, "fr,en-US,en-AU");
|
| +
|
| + std::vector<std::string> languages;
|
| + int ret = SpellcheckService::GetSpellCheckLanguages(context, &languages);
|
| +
|
| + ASSERT_EQ(ret, 2);
|
| + ASSERT_EQ("fr", languages[0]);
|
| + ASSERT_EQ("en-US", languages[1]);
|
| + ASSERT_EQ("en-AU", languages[2]);
|
| +}
|
| +
|
| +IN_PROC_BROWSER_TEST_F(SpellcheckServiceBrowserTest, GetSpellCheckLanguages) {
|
| + BrowserContext* context = static_cast<BrowserContext*>(GetProfile());
|
| + PrefService* prefs = user_prefs::UserPrefs::Get(context);
|
| + prefs->SetString(prefs::kSpellCheckDictionary, "fr");
|
| + prefs->SetString(prefs::kAcceptLanguages, "fr,en-US,en-AU");
|
| +
|
| + std::vector<std::string> languages;
|
| + int ret = SpellcheckService::GetSpellCheckLanguages(context, &languages);
|
| +
|
| + ASSERT_EQ(ret, 1);
|
| + ASSERT_EQ("fr", languages[0]);
|
| +}
|
|
|