OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/language_usage_metrics.h" | 5 #include "chrome/browser/language_usage_metrics.h" |
6 | 6 |
7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
8 | 8 |
9 TEST(LanguageUsageMetricsTest, ParseAcceptLanguages) { | 9 TEST(LanguageUsageMetricsTest, ParseAcceptLanguages) { |
10 std::set<int> language_set; | 10 std::set<int> language_set; |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
72 LanguageUsageMetrics::ParseAcceptLanguages(",es", &language_set); | 72 LanguageUsageMetrics::ParseAcceptLanguages(",es", &language_set); |
73 EXPECT_EQ(1U, language_set.size()); | 73 EXPECT_EQ(1U, language_set.size()); |
74 EXPECT_EQ(SPANISH, *language_set.begin()); | 74 EXPECT_EQ(SPANISH, *language_set.begin()); |
75 | 75 |
76 // Combination of invalid and valid. | 76 // Combination of invalid and valid. |
77 LanguageUsageMetrics::ParseAcceptLanguages("1234,en", &language_set); | 77 LanguageUsageMetrics::ParseAcceptLanguages("1234,en", &language_set); |
78 EXPECT_EQ(1U, language_set.size()); | 78 EXPECT_EQ(1U, language_set.size()); |
79 it = language_set.begin(); | 79 it = language_set.begin(); |
80 EXPECT_EQ(ENGLISH, *it); | 80 EXPECT_EQ(ENGLISH, *it); |
81 } | 81 } |
82 | |
83 TEST(LanguageUsageMetricsTest, ToLanguageCode) { | |
84 const int SPANISH = 25971; | |
85 const int JAPANESE = 27233; | |
86 | |
87 // Basic case. | |
88 EXPECT_EQ(JAPANESE, LanguageUsageMetrics::ToLanguageCode("ja")); | |
89 | |
90 // Case is ignored. | |
91 EXPECT_EQ(SPANISH, LanguageUsageMetrics::ToLanguageCode("Es")); | |
92 | |
93 // Coutry code is ignored. | |
94 EXPECT_EQ(JAPANESE, LanguageUsageMetrics::ToLanguageCode("ja-JP")); | |
95 | |
96 // Invalid locales are considered as unknown language. | |
97 EXPECT_EQ(0, LanguageUsageMetrics::ToLanguageCode(std::string())); | |
98 EXPECT_EQ(0, LanguageUsageMetrics::ToLanguageCode("1234")); | |
99 | |
100 // "xx" is not acceptable because it doesn't exist in ISO 639-1 table. | |
101 // However, LanguageUsageMetrics doesn't tell what code is valid. | |
102 EXPECT_EQ(30840, LanguageUsageMetrics::ToLanguageCode("xx")); | |
103 } | |
OLD | NEW |