Chromium Code Reviews| Index: components/rappor/rappor_service_unittest.cc |
| diff --git a/components/rappor/rappor_service_unittest.cc b/components/rappor/rappor_service_unittest.cc |
| index eefdb52ecb6446d498f250d3e09492d4acc72439..fd57f0f09747ab5111136efaeddad5c25f192232 100644 |
| --- a/components/rappor/rappor_service_unittest.cc |
| +++ b/components/rappor/rappor_service_unittest.cc |
| @@ -6,6 +6,7 @@ |
| #include "base/base64.h" |
| #include "base/prefs/testing_pref_service.h" |
| +#include "components/metrics/metrics_hashes.h" |
| #include "components/rappor/byte_vector_utils.h" |
| #include "components/rappor/proto/rappor_metric.pb.h" |
| #include "components/rappor/rappor_parameters.h" |
| @@ -95,4 +96,25 @@ TEST(RapporServiceTest, Incognito) { |
| EXPECT_EQ(0, reports.report_size()); |
| } |
| +// Check that Sample objects record correctly. |
| +TEST(RapporServiceTest, SampleObj) { |
| + TestRapporService rappor_service; |
| + scoped_ptr<Sample> sample = rappor_service.MakeSampleObj( |
| + COARSE_RAPPOR_TYPE); |
| + sample->SetStringField("Url", "example.com"); |
| + sample->SetFlagsField("Flags1", 0xbcd, 12); |
| + rappor_service.RecordSampleObj("ObjMetric", sample.Pass()); |
| + uint64_t urlHash = metrics::HashMetricName("ObjMetric.Url"); |
|
Alexei Svitkine (slow)
2015/04/22 21:00:13
Nit: hacker_style
Steven Holte
2015/04/22 21:59:32
Done.
|
| + uint64_t flagsHash = metrics::HashMetricName("ObjMetric.Flags1"); |
| + RapporReports reports; |
| + rappor_service.GetReports(&reports); |
| + EXPECT_EQ(2, reports.report_size()); |
| + size_t urlIndex = reports.report(0).name_hash() == urlHash ? 0 : 1; |
| + size_t flagsIndex = urlIndex == 0 ? 1 : 0; |
| + EXPECT_EQ(urlHash, reports.report(urlIndex).name_hash()); |
| + EXPECT_EQ(1u, reports.report(urlIndex).bits().size()); |
| + EXPECT_EQ(flagsHash, reports.report(flagsIndex).name_hash()); |
| + EXPECT_EQ(2u, reports.report(flagsIndex).bits().size()); |
| +} |
| + |
| } // namespace rappor |