Commit e79ffdf2 authored by Jon Napper's avatar Jon Napper Committed by Commit Bot

Added missing unit test for translate_service.cc

Added missing unit test for translate_service.cc

Bug: 727459
Change-Id: Iae3cdded7bb934fd59a7248cf342bce85c44ee69
Reviewed-on: https://chromium-review.googlesource.com/564871Reviewed-by: default avatarDavid Vallet <dvallet@chromium.org>
Commit-Queue: Jon Napper <napper@chromium.org>
Cr-Commit-Position: refs/heads/master@{#485507}
parent 7fc73e3b
......@@ -5,6 +5,9 @@
#include "chrome/browser/translate/translate_service.h"
#include "build/build_config.h"
#include "components/prefs/pref_registry_simple.h"
#include "components/prefs/testing_pref_service.h"
#include "components/translate/core/browser/translate_download_manager.h"
#include "content/public/common/url_constants.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
......@@ -14,6 +17,7 @@
#include "extensions/common/constants.h"
#endif
// Test the check that determines if a URL should be translated.
TEST(TranslateServiceTest, CheckTranslatableURL) {
GURL empty_url = GURL(std::string());
EXPECT_FALSE(TranslateService::IsTranslatableURL(empty_url));
......@@ -41,3 +45,40 @@ TEST(TranslateServiceTest, CheckTranslatableURL) {
GURL right_url = GURL("http://www.tamurayukari.com/");
EXPECT_TRUE(TranslateService::IsTranslatableURL(right_url));
}
// Test selection of translation target language.
TEST(TranslateServiceTest, GetTargetLanguage) {
TranslateService::InitializeForTesting();
translate::TranslateDownloadManager* const download_manager =
translate::TranslateDownloadManager::GetInstance();
download_manager->ResetForTesting();
#if defined(OS_CHROMEOS)
const char kLanguagePrefName[] = "settings.language.preferred_languages";
#else
const char kLanguagePrefName[] = "intl.accept_languages";
#endif
// Setup the accept / preferred languages preferences.
TestingPrefServiceSimple prefs;
prefs.registry()->RegisterStringPref(kLanguagePrefName, std::string());
prefs.SetString(kLanguagePrefName, "fr");
// Test valid application locale.
download_manager->set_application_locale("en");
EXPECT_EQ("en", TranslateService::GetTargetLanguage(&prefs));
download_manager->set_application_locale("es");
EXPECT_EQ("es", TranslateService::GetTargetLanguage(&prefs));
// No valid application locale, so fall back to accept language.
download_manager->set_application_locale("");
EXPECT_EQ("fr", TranslateService::GetTargetLanguage(&prefs));
// Ensure unsupported language is ignored.
prefs.SetString(kLanguagePrefName, "xx,fr");
EXPECT_EQ("fr", TranslateService::GetTargetLanguage(&prefs));
download_manager->ResetForTesting();
TranslateService::ShutdownForTesting();
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment