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

Side by Side Diff: chrome/common/metrics/metrics_util_unittest.cc

Issue 15311006: Added and replaced some UMAs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 7 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/common/metrics/metrics_util.h" 5 #include "chrome/common/metrics/metrics_util.h"
6 #include "testing/gtest/include/gtest/gtest.h" 6 #include "testing/gtest/include/gtest/gtest.h"
7 7
8 namespace metrics { 8 namespace metrics {
9 9
10 TEST(MetricsUtilTest, HashName) { 10 TEST(MetricsUtilTest, HashName) {
11 // Checks that hashing is stable on all platforms. 11 // Checks that hashing is stable on all platforms.
12 struct { 12 struct {
13 const char* name; 13 const char* name;
14 uint32 hash_value; 14 uint32 hash_value;
15 } known_hashes[] = { 15 } known_hashes[] = {
16 {"a", 937752454u}, 16 {"a", 937752454u},
17 {"1", 723085877u}, 17 {"1", 723085877u},
18 {"Trial Name", 2713117220u}, 18 {"Trial Name", 2713117220u},
19 {"Group Name", 3201815843u}, 19 {"Group Name", 3201815843u},
20 {"My Favorite Experiment", 3722155194u}, 20 {"My Favorite Experiment", 3722155194u},
21 {"My Awesome Group Name", 4109503236u}, 21 {"My Awesome Group Name", 4109503236u},
22 {"abcdefghijklmonpqrstuvwxyz", 787728696u}, 22 {"abcdefghijklmonpqrstuvwxyz", 787728696u},
23 {"0123456789ABCDEF", 348858318U} 23 {"0123456789ABCDEF", 348858318U}
24 }; 24 };
25 25
26 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(known_hashes); ++i) 26 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(known_hashes); ++i)
27 EXPECT_EQ(known_hashes[i].hash_value, HashName(known_hashes[i].name)); 27 EXPECT_EQ(known_hashes[i].hash_value, HashName(known_hashes[i].name));
28 } 28 }
29 29
30 TEST(MetricsUtilTest, ToLanguageCode) {
31 const int SPANISH = 25971;
32 const int JAPANESE = 27233;
33
34 // Basic case.
35 EXPECT_EQ(JAPANESE, ToLanguageCode("ja"));
36
37 // Case is ignored.
38 EXPECT_EQ(SPANISH, ToLanguageCode("Es"));
39
40 // Coutry code is ignored.
41 EXPECT_EQ(JAPANESE, ToLanguageCode("ja-JP"));
42
43 // Invalid locales are considered as unknown language.
44 EXPECT_EQ(0, ToLanguageCode(std::string()));
45 EXPECT_EQ(0, ToLanguageCode("1234"));
46
47 // "xx" is not acceptable because it doesn't exist in ISO 639-1 table.
48 // However, LanguageUsageMetrics doesn't tell what code is valid.
49 EXPECT_EQ(30840, ToLanguageCode("xx"));
50 }
51
30 } // namespace metrics 52 } // namespace metrics
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698