OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/translate/core/browser/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 <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 int error_code = 0; | 233 int error_code = 0; |
234 std::string error_msg; | 234 std::string error_msg; |
235 int error_line = 0; | 235 int error_line = 0; |
236 int error_column = 0; | 236 int error_column = 0; |
237 std::unique_ptr<base::Value> profile(base::JSONReader::ReadAndReturnError( | 237 std::unique_ptr<base::Value> profile(base::JSONReader::ReadAndReturnError( |
238 json1, 0, &error_code, &error_msg, &error_line, &error_column)); | 238 json1, 0, &error_code, &error_msg, &error_line, &error_column)); |
239 ASSERT_EQ(0, error_code) << error_msg << " at " << error_line << ":" | 239 ASSERT_EQ(0, error_code) << error_msg << " at " << error_line << ":" |
240 << error_column << std::endl | 240 << error_column << std::endl |
241 << json1; | 241 << json1; |
242 | 242 |
243 prefs_->SetUserPref(TranslatePrefs::kPrefLanguageProfile, profile.release()); | 243 prefs_->SetUserPref(TranslatePrefs::kPrefLanguageProfile, std::move(profile)); |
244 | 244 |
245 TranslatePrefs::LanguageAndProbabilityList list; | 245 TranslatePrefs::LanguageAndProbabilityList list; |
246 EXPECT_EQ(0.8, translate_prefs_->GetReadingFromUserLanguageProfile(&list)); | 246 EXPECT_EQ(0.8, translate_prefs_->GetReadingFromUserLanguageProfile(&list)); |
247 EXPECT_EQ(2UL, list.size()); | 247 EXPECT_EQ(2UL, list.size()); |
248 // the order in the ULP is wrong, and our code will sort it and make the | 248 // the order in the ULP is wrong, and our code will sort it and make the |
249 // larger | 249 // larger |
250 // one first. | 250 // one first. |
251 EXPECT_EQ("fr", list[0].first); | 251 EXPECT_EQ("fr", list[0].first); |
252 EXPECT_EQ(0.6, list[0].second); | 252 EXPECT_EQ(0.6, list[0].second); |
253 EXPECT_EQ("en", list[1].first); // the "en-AU" should be normalize to "en" | 253 EXPECT_EQ("en", list[1].first); // the "en-AU" should be normalize to "en" |
(...skipping 27 matching lines...) Expand all Loading... |
281 "}"; | 281 "}"; |
282 | 282 |
283 profile.reset(base::JSONReader::ReadAndReturnError(json2, 0, &error_code, | 283 profile.reset(base::JSONReader::ReadAndReturnError(json2, 0, &error_code, |
284 &error_msg, &error_line, | 284 &error_msg, &error_line, |
285 &error_column) | 285 &error_column) |
286 .release()); | 286 .release()); |
287 ASSERT_EQ(0, error_code) << error_msg << " at " << error_line << ":" | 287 ASSERT_EQ(0, error_code) << error_msg << " at " << error_line << ":" |
288 << error_column << std::endl | 288 << error_column << std::endl |
289 << json2; | 289 << json2; |
290 | 290 |
291 prefs_->SetUserPref(TranslatePrefs::kPrefLanguageProfile, profile.release()); | 291 prefs_->SetUserPref(TranslatePrefs::kPrefLanguageProfile, std::move(profile)); |
292 | 292 |
293 list.clear(); | 293 list.clear(); |
294 EXPECT_EQ(0.3, translate_prefs_->GetReadingFromUserLanguageProfile(&list)); | 294 EXPECT_EQ(0.3, translate_prefs_->GetReadingFromUserLanguageProfile(&list)); |
295 EXPECT_EQ(2UL, list.size()); | 295 EXPECT_EQ(2UL, list.size()); |
296 EXPECT_EQ("zh-TW", list[0].first); | 296 EXPECT_EQ("zh-TW", list[0].first); |
297 EXPECT_EQ(0.4, list[0].second); | 297 EXPECT_EQ(0.4, list[0].second); |
298 EXPECT_EQ("pt", list[1].first); // the "pt-BR" should be normalize to "pt" | 298 EXPECT_EQ("pt", list[1].first); // the "pt-BR" should be normalize to "pt" |
299 EXPECT_EQ(0.1, list[1].second); | 299 EXPECT_EQ(0.1, list[1].second); |
300 | 300 |
301 // Case 3: Language Code normalization and reordering. | 301 // Case 3: Language Code normalization and reordering. |
(...skipping 16 matching lines...) Expand all Loading... |
318 " }\n" | 318 " }\n" |
319 "}"; | 319 "}"; |
320 profile.reset(base::JSONReader::ReadAndReturnError(json3, 0, &error_code, | 320 profile.reset(base::JSONReader::ReadAndReturnError(json3, 0, &error_code, |
321 &error_msg, &error_line, | 321 &error_msg, &error_line, |
322 &error_column) | 322 &error_column) |
323 .release()); | 323 .release()); |
324 ASSERT_EQ(0, error_code) << error_msg << " at " << error_line << ":" | 324 ASSERT_EQ(0, error_code) << error_msg << " at " << error_line << ":" |
325 << error_column << std::endl | 325 << error_column << std::endl |
326 << json3; | 326 << json3; |
327 | 327 |
328 prefs_->SetUserPref(TranslatePrefs::kPrefLanguageProfile, profile.release()); | 328 prefs_->SetUserPref(TranslatePrefs::kPrefLanguageProfile, std::move(profile)); |
329 | 329 |
330 list.clear(); | 330 list.clear(); |
331 EXPECT_EQ(0.8, translate_prefs_->GetReadingFromUserLanguageProfile(&list)); | 331 EXPECT_EQ(0.8, translate_prefs_->GetReadingFromUserLanguageProfile(&list)); |
332 EXPECT_EQ(2UL, list.size()); | 332 EXPECT_EQ(2UL, list.size()); |
333 EXPECT_EQ("en", list[0].first); // en-US and en-GB will be normalize into en | 333 EXPECT_EQ("en", list[0].first); // en-US and en-GB will be normalize into en |
334 EXPECT_EQ(0.6, | 334 EXPECT_EQ(0.6, |
335 list[0].second); // and their probability will add to gether be 0.6 | 335 list[0].second); // and their probability will add to gether be 0.6 |
336 EXPECT_EQ("fr", list[1].first); // fr will move down to the 2nd one | 336 EXPECT_EQ("fr", list[1].first); // fr will move down to the 2nd one |
337 EXPECT_EQ(0.4, list[1].second); | 337 EXPECT_EQ(0.4, list[1].second); |
338 } | 338 } |
339 | 339 |
340 } // namespace translate | 340 } // namespace translate |
OLD | NEW |