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

Side by Side Diff: chrome/browser/translate/translate_prefs_unittest.cc

Issue 23522021: Translate: Bug fix: Remove the language sub code when merging to the blocked language list (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 3 months 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
OLDNEW
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 "chrome/browser/translate/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 "chrome/test/base/scoped_browser_locale.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 std::vector<std::string> blacklisted_languages; 15 std::vector<std::string> blacklisted_languages;
16 blacklisted_languages.push_back("en"); 16 blacklisted_languages.push_back("en");
17 blacklisted_languages.push_back("fr"); 17 blacklisted_languages.push_back("fr");
18 // Hebrew: synonym to 'he' 18 // Hebrew: synonym to 'he'
19 blacklisted_languages.push_back("iw"); 19 blacklisted_languages.push_back("iw");
20 // Haitian is not used as Accept-Language 20 // Haitian is not used as Accept-Language
21 blacklisted_languages.push_back("ht"); 21 blacklisted_languages.push_back("ht");
22 22
23 std::vector<std::string> accept_languages; 23 std::vector<std::string> accept_languages;
24 accept_languages.push_back("en"); 24 accept_languages.push_back("en");
25 // The subcode (IT) will be ignored when merging, except for Chinese.
26 accept_languages.push_back("it-IT");
25 accept_languages.push_back("ja"); 27 accept_languages.push_back("ja");
26 // Filippino: synonym to 'tl' 28 // Filippino: synonym to 'tl'
27 accept_languages.push_back("fil"); 29 accept_languages.push_back("fil");
28 // General Chinese is not used as Translate language, but not filtered 30 // General Chinese is not used as Translate language, but not filtered
29 // when merging. 31 // when merging.
30 accept_languages.push_back("zh"); 32 accept_languages.push_back("zh");
33 // Chinese with a sub code is acceptable for the blocked-language list.
34 accept_languages.push_back("zh-TW");
31 35
32 std::vector<std::string> blocked_languages; 36 std::vector<std::string> blocked_languages;
33 37
34 TranslatePrefs::CreateBlockedLanguages(&blocked_languages, 38 TranslatePrefs::CreateBlockedLanguages(&blocked_languages,
35 blacklisted_languages, 39 blacklisted_languages,
36 accept_languages); 40 accept_languages);
37 41
38 // The order of the elements cannot be determined. 42 // The order of the elements cannot be determined.
39 std::vector<std::string> expected; 43 std::vector<std::string> expected;
40 expected.push_back("en"); 44 expected.push_back("en");
41 expected.push_back("fr"); 45 expected.push_back("fr");
42 expected.push_back("iw"); 46 expected.push_back("iw");
43 expected.push_back("ht"); 47 expected.push_back("ht");
48 expected.push_back("it");
44 expected.push_back("ja"); 49 expected.push_back("ja");
45 expected.push_back("tl"); 50 expected.push_back("tl");
46 expected.push_back("zh"); 51 expected.push_back("zh");
52 expected.push_back("zh-TW");
47 53
48 EXPECT_EQ(expected.size(), blocked_languages.size()); 54 EXPECT_EQ(expected.size(), blocked_languages.size());
49 for (std::vector<std::string>::const_iterator it = expected.begin(); 55 for (std::vector<std::string>::const_iterator it = expected.begin();
50 it != expected.end(); ++it) { 56 it != expected.end(); ++it) {
51 EXPECT_NE(blocked_languages.end(), 57 EXPECT_NE(blocked_languages.end(),
52 std::find(blocked_languages.begin(), 58 std::find(blocked_languages.begin(),
53 blocked_languages.end(), 59 blocked_languages.end(),
54 *it)); 60 *it));
55 } 61 }
56 } 62 }
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
104 EXPECT_EQ(expected.size(), blocked_languages.size()); 110 EXPECT_EQ(expected.size(), blocked_languages.size());
105 for (std::vector<std::string>::const_iterator it = expected.begin(); 111 for (std::vector<std::string>::const_iterator it = expected.begin();
106 it != expected.end(); ++it) { 112 it != expected.end(); ++it) {
107 EXPECT_NE(blocked_languages.end(), 113 EXPECT_NE(blocked_languages.end(),
108 std::find(blocked_languages.begin(), 114 std::find(blocked_languages.begin(),
109 blocked_languages.end(), 115 blocked_languages.end(),
110 *it)); 116 *it));
111 } 117 }
112 } 118 }
113 } 119 }
OLDNEW
« chrome/browser/translate/translate_prefs.cc ('K') | « chrome/browser/translate/translate_prefs.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698