| 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 |