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

Side by Side Diff: components/variations/metrics_util_unittest.cc

Issue 49753002: RAPPOR implementation (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Split Name/Parameters Created 6 years, 10 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 "components/variations/metrics_util.h" 5 #include "components/variations/metrics_util.h"
6 6
7 #include "base/format_macros.h"
8 #include "base/strings/stringprintf.h"
7 #include "testing/gtest/include/gtest/gtest.h" 9 #include "testing/gtest/include/gtest/gtest.h"
8 10
9 namespace metrics { 11 namespace metrics {
10 12
11 TEST(MetricsUtilTest, HashName) { 13 TEST(MetricsUtilTest, HashName) {
12 // Checks that hashing is stable on all platforms. 14 // Checks that hashing is stable on all platforms.
13 struct { 15 struct {
14 const char* name; 16 const char* name;
15 uint32 hash_value; 17 uint32 hash_value;
16 } known_hashes[] = { 18 } known_hashes[] = {
17 {"a", 937752454u}, 19 {"a", 937752454u},
18 {"1", 723085877u}, 20 {"1", 723085877u},
19 {"Trial Name", 2713117220u}, 21 {"Trial Name", 2713117220u},
20 {"Group Name", 3201815843u}, 22 {"Group Name", 3201815843u},
21 {"My Favorite Experiment", 3722155194u}, 23 {"My Favorite Experiment", 3722155194u},
22 {"My Awesome Group Name", 4109503236u}, 24 {"My Awesome Group Name", 4109503236u},
23 {"abcdefghijklmonpqrstuvwxyz", 787728696u}, 25 {"abcdefghijklmonpqrstuvwxyz", 787728696u},
24 {"0123456789ABCDEF", 348858318U} 26 {"0123456789ABCDEF", 348858318U}
25 }; 27 };
26 28
27 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(known_hashes); ++i) 29 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(known_hashes); ++i)
28 EXPECT_EQ(known_hashes[i].hash_value, HashName(known_hashes[i].name)); 30 EXPECT_EQ(known_hashes[i].hash_value, HashName(known_hashes[i].name));
29 } 31 }
30 32
33 // Make sure our ID hashes are the same as what we see on the server side.
34 TEST(MetricsUtilTest, HashMetricName) {
35 static const struct {
36 std::string input;
37 std::string output;
38 } cases[] = {
39 {"Back", "0x0557fa923dcee4d0"},
40 {"Forward", "0x67d2f6740a8eaebf"},
41 {"NewTab", "0x290eb683f96572f1"},
42 };
43
44 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) {
45 uint64 hash = HashMetricName(cases[i].input);
46 std::string hash_hex = base::StringPrintf("0x%016" PRIx64, hash);
47 EXPECT_EQ(cases[i].output, hash_hex);
48 }
49 }
50
31 } // namespace metrics 51 } // namespace metrics
OLDNEW
« components/variations/metrics_util.cc ('K') | « components/variations/metrics_util.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698