Index: components/metrics/metrics_state_manager_unittest.cc |
diff --git a/components/metrics/metrics_state_manager_unittest.cc b/components/metrics/metrics_state_manager_unittest.cc |
index 2f7d85be2aa6055e133944d5e22ecfb52634dc24..93c6842292d7c66e6885e1258b6a5366a88ab2f4 100644 |
--- a/components/metrics/metrics_state_manager_unittest.cc |
+++ b/components/metrics/metrics_state_manager_unittest.cc |
@@ -10,6 +10,7 @@ |
#include "base/bind.h" |
#include "base/command_line.h" |
#include "base/prefs/testing_pref_service.h" |
+#include "components/metrics/client_info.h" |
#include "components/metrics/metrics_pref_names.h" |
#include "components/metrics/metrics_switches.h" |
#include "components/variations/caching_permuted_entropy_provider.h" |
@@ -28,6 +29,10 @@ class MetricsStateManagerTest : public testing::Test { |
return MetricsStateManager::Create( |
&prefs_, |
base::Bind(&MetricsStateManagerTest::is_metrics_reporting_enabled, |
+ base::Unretained(this)), |
+ base::Bind(&MetricsStateManagerTest::MockStoreClientInfoBackup, |
+ base::Unretained(this)), |
+ base::Bind(&MetricsStateManagerTest::LoadFakeClientInfoBackup, |
base::Unretained(this))).Pass(); |
} |
@@ -44,8 +49,32 @@ class MetricsStateManagerTest : public testing::Test { |
return is_metrics_reporting_enabled_; |
} |
+ // Stores the |client_info| in |stored_client_info_backup_| for verification |
+ // by the tests later. |
+ void MockStoreClientInfoBackup(const ClientInfo& client_info) { |
+ stored_client_info_backup_.reset(new ClientInfo); |
+ stored_client_info_backup_->client_id = client_info.client_id; |
+ stored_client_info_backup_->installation_date = |
+ client_info.installation_date; |
+ stored_client_info_backup_->reporting_enabled_date = |
+ client_info.reporting_enabled_date; |
+ } |
+ |
+ // Hands off |fake_client_info_backup_| if it was set. |
+ scoped_ptr<ClientInfo> LoadFakeClientInfoBackup() { |
+ return fake_client_info_backup_.Pass(); |
+ } |
+ |
bool is_metrics_reporting_enabled_; |
+ // Last ClientInfo store via MockStoreClientInfoBackup by the |
+ // MetricsStateManager. |
+ scoped_ptr<ClientInfo> stored_client_info_backup_; |
+ |
+ // If set, will be returned via LoadFakeClientInfoBackup if requested by the |
+ // MetricsStateManager. |
+ scoped_ptr<ClientInfo> fake_client_info_backup_; |
+ |
DISALLOW_COPY_AND_ASSIGN(MetricsStateManagerTest); |
}; |