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 b42d789e29cf3cdf5092ba29b71b8f43257e68ce..583619c77c5dcfcce3f6c8ac134ab679fc9cadf9 100644 |
--- a/chrome/browser/metrics/metrics_service_unittest.cc |
+++ b/chrome/browser/metrics/metrics_service_unittest.cc |
@@ -135,6 +135,20 @@ class MetricsServiceTest : public testing::Test { |
DISALLOW_COPY_AND_ASSIGN(MetricsServiceTest); |
}; |
+class TestMetricsLogObserver : public MetricsLogObserver { |
+ public: |
+ TestMetricsLogObserver(): observed_(0) {} |
+ virtual ~TestMetricsLogObserver() {} |
+ |
+ virtual void OnNewMetricsLog() OVERRIDE { |
+ observed_++; |
Ilya Sherman
2014/05/07 01:03:16
nit: Pre-increment.
bolian
2014/05/07 02:20:26
Done.
|
+ } |
+ |
+ int observed_; |
Ilya Sherman
2014/05/07 01:03:16
nit: Please leave a space after this.
Ilya Sherman
2014/05/07 01:03:16
nit: Please make the variable private, and add a g
bolian
2014/05/07 02:20:26
Done.
bolian
2014/05/07 02:20:26
Done.
|
+ private: |
+ DISALLOW_COPY_AND_ASSIGN(TestMetricsLogObserver); |
+}; |
+ |
} // namespace |
TEST_F(MetricsServiceTest, IsPluginProcess) { |
@@ -304,3 +318,25 @@ TEST_F(MetricsServiceTest, CrashReportingEnabled) { |
EXPECT_FALSE(MetricsServiceHelper::IsCrashReportingEnabled()); |
#endif // defined(GOOGLE_CHROME_BUILD) |
} |
+ |
+TEST_F(MetricsServiceTest, MetricsLogObserver) { |
+ MetricsService service; |
+ TestMetricsLogObserver observer; |
+ |
+ service.AddMetricsLogObserver(&observer); |
+ EXPECT_EQ(0, observer.observed_); |
+ |
+ service.OpenNewLog(); |
+ EXPECT_EQ(1, observer.observed_); |
+ service.log_manager_.FinishCurrentLog(); |
+ |
+ service.OpenNewLog(); |
+ EXPECT_EQ(2, observer.observed_); |
+ service.log_manager_.FinishCurrentLog(); |
+ |
+ service.RemoveMetricsLogObserver(&observer); |
+ |
+ service.OpenNewLog(); |
+ EXPECT_EQ(2, observer.observed_); |
+ service.log_manager_.FinishCurrentLog(); |
+} |
Ilya Sherman
2014/05/07 01:03:16
Could you please also add test coverage for the ot
bolian
2014/05/07 02:20:26
The other two places require non-trivial amount of
|