| Index: chrome/common/metrics/metrics_util_unittest.cc
|
| diff --git a/chrome/common/metrics/metrics_util_unittest.cc b/chrome/common/metrics/metrics_util_unittest.cc
|
| index 7c21dfd49ec924855217b1c9f4fdbdd076eac4ba..110ce118d0a39fe19bb7bf86a84e867e743e2eb1 100644
|
| --- a/chrome/common/metrics/metrics_util_unittest.cc
|
| +++ b/chrome/common/metrics/metrics_util_unittest.cc
|
| @@ -27,4 +27,26 @@ TEST(MetricsUtilTest, HashName) {
|
| EXPECT_EQ(known_hashes[i].hash_value, HashName(known_hashes[i].name));
|
| }
|
|
|
| +TEST(MetricsUtilTest, ToLanguageCode) {
|
| + const int SPANISH = 25971;
|
| + const int JAPANESE = 27233;
|
| +
|
| + // Basic case.
|
| + EXPECT_EQ(JAPANESE, ToLanguageCode("ja"));
|
| +
|
| + // Case is ignored.
|
| + EXPECT_EQ(SPANISH, ToLanguageCode("Es"));
|
| +
|
| + // Coutry code is ignored.
|
| + EXPECT_EQ(JAPANESE, ToLanguageCode("ja-JP"));
|
| +
|
| + // Invalid locales are considered as unknown language.
|
| + EXPECT_EQ(0, ToLanguageCode(std::string()));
|
| + EXPECT_EQ(0, ToLanguageCode("1234"));
|
| +
|
| + // "xx" is not acceptable because it doesn't exist in ISO 639-1 table.
|
| + // However, LanguageUsageMetrics doesn't tell what code is valid.
|
| + EXPECT_EQ(30840, ToLanguageCode("xx"));
|
| +}
|
| +
|
| } // namespace metrics
|
|
|