Index: chrome/browser/metrics/metrics_state_manager_unittest.cc |
diff --git a/chrome/browser/metrics/metrics_state_manager_unittest.cc b/chrome/browser/metrics/metrics_state_manager_unittest.cc |
index 288d0872b88ed75cfc03d96a514620a1f5d22f1a..11b962241aa43b6eed6fcbe5cbe85582ccdc8007 100644 |
--- a/chrome/browser/metrics/metrics_state_manager_unittest.cc |
+++ b/chrome/browser/metrics/metrics_state_manager_unittest.cc |
@@ -7,6 +7,7 @@ |
#include <ctype.h> |
#include <string> |
+#include "base/bind.h" |
#include "base/command_line.h" |
#include "base/prefs/testing_pref_service.h" |
#include "chrome/common/chrome_switches.h" |
@@ -19,18 +20,32 @@ namespace metrics { |
class MetricsStateManagerTest : public testing::Test { |
public: |
- MetricsStateManagerTest() { |
+ MetricsStateManagerTest() : is_metrics_reporting_enabled_(false) { |
MetricsStateManager::RegisterPrefs(prefs_.registry()); |
} |
scoped_ptr<MetricsStateManager> CreateStateManager() { |
- return MetricsStateManager::Create(&prefs_).Pass(); |
+ return MetricsStateManager::Create( |
+ &prefs_, |
+ base::Bind(&MetricsStateManagerTest::is_metrics_reporting_enabled, |
+ base::Unretained(this))).Pass(); |
+ } |
+ |
+ // Sets metrics reporting as enabled for testing. |
+ void EnableMetricsReporting() { |
+ is_metrics_reporting_enabled_ = true; |
} |
protected: |
TestingPrefServiceSimple prefs_; |
private: |
+ bool is_metrics_reporting_enabled() const { |
+ return is_metrics_reporting_enabled_; |
+ } |
+ |
+ bool is_metrics_reporting_enabled_; |
+ |
DISALLOW_COPY_AND_ASSIGN(MetricsStateManagerTest); |
}; |
@@ -59,9 +74,7 @@ TEST_F(MetricsStateManagerTest, EntropySourceUsed_Low) { |
} |
TEST_F(MetricsStateManagerTest, EntropySourceUsed_High) { |
- CommandLine::ForCurrentProcess()->AppendSwitch( |
- switches::kEnableMetricsReportingForTesting); |
- |
+ EnableMetricsReporting(); |
scoped_ptr<MetricsStateManager> state_manager(CreateStateManager()); |
state_manager->CreateEntropyProvider(); |
EXPECT_EQ(MetricsStateManager::ENTROPY_SOURCE_HIGH, |