OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/translate/translate_prefs.h" | 5 #include "components/translate/core/browser/translate_prefs.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #include "chrome/test/base/scoped_browser_locale.h" | 11 #include "components/translate/core/browser/translate_download_manager.h" |
12 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
13 | 13 |
14 TEST(TranslatePrefsTest, CreateBlockedLanguages) { | 14 TEST(TranslatePrefsTest, CreateBlockedLanguages) { |
| 15 TranslateDownloadManager::GetInstance()->set_application_locale("en"); |
15 std::vector<std::string> blacklisted_languages; | 16 std::vector<std::string> blacklisted_languages; |
16 blacklisted_languages.push_back("en"); | 17 blacklisted_languages.push_back("en"); |
17 blacklisted_languages.push_back("fr"); | 18 blacklisted_languages.push_back("fr"); |
18 // Hebrew: synonym to 'he' | 19 // Hebrew: synonym to 'he' |
19 blacklisted_languages.push_back("iw"); | 20 blacklisted_languages.push_back("iw"); |
20 // Haitian is not used as Accept-Language | 21 // Haitian is not used as Accept-Language |
21 blacklisted_languages.push_back("ht"); | 22 blacklisted_languages.push_back("ht"); |
22 | 23 |
23 std::vector<std::string> accept_languages; | 24 std::vector<std::string> accept_languages; |
24 accept_languages.push_back("en"); | 25 accept_languages.push_back("en"); |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
65 std::vector<std::string> blacklisted_languages; | 66 std::vector<std::string> blacklisted_languages; |
66 blacklisted_languages.push_back("fr"); | 67 blacklisted_languages.push_back("fr"); |
67 | 68 |
68 std::vector<std::string> accept_languages; | 69 std::vector<std::string> accept_languages; |
69 accept_languages.push_back("en"); | 70 accept_languages.push_back("en"); |
70 accept_languages.push_back("ja"); | 71 accept_languages.push_back("ja"); |
71 accept_languages.push_back("zh"); | 72 accept_languages.push_back("zh"); |
72 | 73 |
73 // Run in an English locale. | 74 // Run in an English locale. |
74 { | 75 { |
75 ScopedBrowserLocale scoped_browser_locale("en"); | 76 TranslateDownloadManager::GetInstance()->set_application_locale("en"); |
76 std::vector<std::string> blocked_languages; | 77 std::vector<std::string> blocked_languages; |
77 TranslatePrefs::CreateBlockedLanguages(&blocked_languages, | 78 TranslatePrefs::CreateBlockedLanguages(&blocked_languages, |
78 blacklisted_languages, | 79 blacklisted_languages, |
79 accept_languages); | 80 accept_languages); |
80 std::vector<std::string> expected; | 81 std::vector<std::string> expected; |
81 expected.push_back("en"); | 82 expected.push_back("en"); |
82 expected.push_back("fr"); | 83 expected.push_back("fr"); |
83 expected.push_back("ja"); | 84 expected.push_back("ja"); |
84 expected.push_back("zh"); | 85 expected.push_back("zh"); |
85 | 86 |
86 EXPECT_EQ(expected.size(), blocked_languages.size()); | 87 EXPECT_EQ(expected.size(), blocked_languages.size()); |
87 for (std::vector<std::string>::const_iterator it = expected.begin(); | 88 for (std::vector<std::string>::const_iterator it = expected.begin(); |
88 it != expected.end(); ++it) { | 89 it != expected.end(); ++it) { |
89 EXPECT_NE(blocked_languages.end(), | 90 EXPECT_NE(blocked_languages.end(), |
90 std::find(blocked_languages.begin(), | 91 std::find(blocked_languages.begin(), |
91 blocked_languages.end(), | 92 blocked_languages.end(), |
92 *it)); | 93 *it)); |
93 } | 94 } |
94 } | 95 } |
95 | 96 |
96 // Run in a Japanese locale. | 97 // Run in a Japanese locale. |
97 // English should not be included in the result even though Accept Languages | 98 // English should not be included in the result even though Accept Languages |
98 // has English because the UI is not English. | 99 // has English because the UI is not English. |
99 { | 100 { |
100 ScopedBrowserLocale scoped_browser_locale("ja"); | 101 TranslateDownloadManager::GetInstance()->set_application_locale("ja"); |
101 std::vector<std::string> blocked_languages; | 102 std::vector<std::string> blocked_languages; |
102 TranslatePrefs::CreateBlockedLanguages(&blocked_languages, | 103 TranslatePrefs::CreateBlockedLanguages(&blocked_languages, |
103 blacklisted_languages, | 104 blacklisted_languages, |
104 accept_languages); | 105 accept_languages); |
105 std::vector<std::string> expected; | 106 std::vector<std::string> expected; |
106 expected.push_back("fr"); | 107 expected.push_back("fr"); |
107 expected.push_back("ja"); | 108 expected.push_back("ja"); |
108 expected.push_back("zh"); | 109 expected.push_back("zh"); |
109 | 110 |
110 EXPECT_EQ(expected.size(), blocked_languages.size()); | 111 EXPECT_EQ(expected.size(), blocked_languages.size()); |
111 for (std::vector<std::string>::const_iterator it = expected.begin(); | 112 for (std::vector<std::string>::const_iterator it = expected.begin(); |
112 it != expected.end(); ++it) { | 113 it != expected.end(); ++it) { |
113 EXPECT_NE(blocked_languages.end(), | 114 EXPECT_NE(blocked_languages.end(), |
114 std::find(blocked_languages.begin(), | 115 std::find(blocked_languages.begin(), |
115 blocked_languages.end(), | 116 blocked_languages.end(), |
116 *it)); | 117 *it)); |
117 } | 118 } |
118 } | 119 } |
119 } | 120 } |
OLD | NEW |