| Index: chrome/browser/metrics/metrics_service_unittest.cc
|
| diff --git a/chrome/browser/metrics/metrics_service_unittest.cc b/chrome/browser/metrics/metrics_service_unittest.cc
|
| index 3ca255bf0b87af75e7f0db9092d7b085ff36f2d0..736766284a518cd00a94919ebe1eadd71f8454c7 100644
|
| --- a/chrome/browser/metrics/metrics_service_unittest.cc
|
| +++ b/chrome/browser/metrics/metrics_service_unittest.cc
|
| @@ -374,3 +374,41 @@ TEST_F(MetricsServiceTest, CrashReportingEnabled) {
|
| EXPECT_FALSE(MetricsServiceHelper::IsCrashReportingEnabled());
|
| #endif // defined(GOOGLE_CHROME_BUILD)
|
| }
|
| +
|
| +TEST_F(MetricsServiceTest, ResetMetricsIDs) {
|
| + // Ensuere that the low entropy source and client id have been generated.
|
| + {
|
| + MetricsService service;
|
| + service.ForceClientIdCreation();
|
| + service.GetLowEntropySource();
|
| + }
|
| +
|
| + std::string old_client_id =
|
| + GetLocalState()->GetString(prefs::kMetricsClientID);
|
| + int old_low_entropy_value =
|
| + GetLocalState()->GetInteger(prefs::kMetricsLowEntropySource);
|
| +
|
| + // Set the reset pref to cause the IDs to be reset.
|
| + GetLocalState()->SetBoolean(prefs::kMetricsResetIds, true);
|
| +
|
| + // Cause the actual reset to happen.
|
| + {
|
| + MetricsService service;
|
| + service.ForceClientIdCreation();
|
| + EXPECT_TRUE(service.metrics_ids_reset_check_performed_);
|
| + EXPECT_NE(old_client_id, service.client_id_);
|
| +
|
| + service.GetLowEntropySource();
|
| + EXPECT_NE(old_low_entropy_value, service.low_entropy_source_);
|
| +
|
| + EXPECT_FALSE(GetLocalState()->GetBoolean(prefs::kMetricsResetIds));
|
| + }
|
| +
|
| + std::string new_client_id =
|
| + GetLocalState()->GetString(prefs::kMetricsClientID);
|
| + int new_low_entropy_value =
|
| + GetLocalState()->GetInteger(prefs::kMetricsLowEntropySource);
|
| +
|
| + EXPECT_NE(old_client_id, new_client_id);
|
| + EXPECT_NE(old_low_entropy_value, new_low_entropy_value);
|
| +}
|
|
|