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

Side by Side Diff: components/translate/core/browser/translate_manager_unittest.cc

Issue 1523113002: [Translate] Add unit tests for TranslateManager (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Reset TranslateDownloadManager before/after testing. Created 5 years 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 unified diff | Download patch
« no previous file with comments | « components/translate/core/browser/translate_language_list_unittest.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "components/translate/core/browser/translate_manager.h"
6
7 #include "components/translate/core/browser/translate_download_manager.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 namespace translate {
11
12 // Target language comes from application locale if the locale's language
13 // is supported.
14 TEST(TranslateManagerTest, GetTargetLanguageDefaultsToAppLocale) {
15 std::vector<std::string> accept_language_list;
16
17 // Ensure we're not requesting a server-side translate language list.
18 TranslateLanguageList::DisableUpdate();
19
20 // Ensure the locale is set to a supported language.
21 ASSERT_TRUE(TranslateDownloadManager::IsSupportedLanguage("en"));
22 TranslateDownloadManager* manager = TranslateDownloadManager::GetInstance();
23 manager->ResetForTesting();
24 manager->set_application_locale("en");
25 EXPECT_EQ("en", TranslateManager::GetTargetLanguage(accept_language_list));
26
27 // Try a second supported language.
28 ASSERT_TRUE(TranslateDownloadManager::IsSupportedLanguage("de"));
29 manager->set_application_locale("de");
30 EXPECT_EQ("de", TranslateManager::GetTargetLanguage(accept_language_list));
31 }
32
33 // If the application locale's language is not supported, the target language
34 // falls back to the first supported language in |accept_languages_list|. If
35 // none of the languages in |accept_language_list| is supported, the target
36 // language is empty.
37 TEST(TranslateManagerTest, GetTargetLanguageAcceptLangFallback) {
38 std::vector<std::string> accept_language_list;
39
40 // Ensure we're not requesting a server-side translate language list.
41 TranslateLanguageList::DisableUpdate();
42
43 // Ensure locale is set to a not-supported language.
44 ASSERT_FALSE(TranslateDownloadManager::IsSupportedLanguage("xy"));
45 TranslateDownloadManager* manager = TranslateDownloadManager::GetInstance();
46 manager->ResetForTesting();
47 manager->set_application_locale("xy");
48
49 // Default return is empty string.
50 EXPECT_EQ("", TranslateManager::GetTargetLanguage(accept_language_list));
51
52 // Unsupported languages still result in the empty string.
53 ASSERT_FALSE(TranslateDownloadManager::IsSupportedLanguage("xy"));
54 accept_language_list.push_back("xy");
55 EXPECT_EQ("", TranslateManager::GetTargetLanguage(accept_language_list));
56
57 // First supported language is the fallback language.
58 ASSERT_TRUE(TranslateDownloadManager::IsSupportedLanguage("en"));
59 accept_language_list.push_back("en");
60 EXPECT_EQ("en", TranslateManager::GetTargetLanguage(accept_language_list));
61 }
62
63 } // namespace translate
OLDNEW
« no previous file with comments | « components/translate/core/browser/translate_language_list_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698