| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/metrics/metrics_service.h" | 5 #include "chrome/browser/metrics/metrics_service.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/threading/platform_thread.h" | 10 #include "base/threading/platform_thread.h" |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 301 service.log_manager_.BeginLoggingWithLog(scoped_ptr<metrics::MetricsLogBase>( | 301 service.log_manager_.BeginLoggingWithLog(scoped_ptr<metrics::MetricsLogBase>( |
| 302 new MetricsLog("clientID", 1, MetricsLog::ONGOING_LOG, &client))); | 302 new MetricsLog("clientID", 1, MetricsLog::ONGOING_LOG, &client))); |
| 303 service.GetCurrentSyntheticFieldTrials(&synthetic_trials); | 303 service.GetCurrentSyntheticFieldTrials(&synthetic_trials); |
| 304 EXPECT_EQ(3U, synthetic_trials.size()); | 304 EXPECT_EQ(3U, synthetic_trials.size()); |
| 305 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial1", "Group2")); | 305 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial1", "Group2")); |
| 306 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial2", "Group2")); | 306 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial2", "Group2")); |
| 307 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial3", "Group3")); | 307 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial3", "Group3")); |
| 308 service.log_manager_.FinishCurrentLog(); | 308 service.log_manager_.FinishCurrentLog(); |
| 309 } | 309 } |
| 310 | 310 |
| 311 TEST_F(MetricsServiceTest, MetricsReportingEnabled) { | |
| 312 #if !defined(OS_CHROMEOS) | |
| 313 GetLocalState()->SetBoolean(prefs::kMetricsReportingEnabled, false); | |
| 314 EXPECT_FALSE(MetricsServiceHelper::IsMetricsReportingEnabled()); | |
| 315 GetLocalState()->SetBoolean(prefs::kMetricsReportingEnabled, true); | |
| 316 EXPECT_TRUE(MetricsServiceHelper::IsMetricsReportingEnabled()); | |
| 317 GetLocalState()->ClearPref(prefs::kMetricsReportingEnabled); | |
| 318 EXPECT_FALSE(MetricsServiceHelper::IsMetricsReportingEnabled()); | |
| 319 #else | |
| 320 // ChromeOS does not register prefs::kMetricsReportingEnabled and uses | |
| 321 // device settings for metrics reporting. | |
| 322 EXPECT_FALSE(MetricsServiceHelper::IsMetricsReportingEnabled()); | |
| 323 #endif | |
| 324 } | |
| 325 | |
| 326 TEST_F(MetricsServiceTest, CrashReportingEnabled) { | |
| 327 #if defined(GOOGLE_CHROME_BUILD) | |
| 328 // ChromeOS has different device settings for crash reporting. | |
| 329 #if !defined(OS_CHROMEOS) | |
| 330 #if defined(OS_ANDROID) | |
| 331 const char* crash_pref = prefs::kCrashReportingEnabled; | |
| 332 #else | |
| 333 const char* crash_pref = prefs::kMetricsReportingEnabled; | |
| 334 #endif | |
| 335 GetLocalState()->SetBoolean(crash_pref, false); | |
| 336 EXPECT_FALSE(MetricsServiceHelper::IsCrashReportingEnabled()); | |
| 337 GetLocalState()->SetBoolean(crash_pref, true); | |
| 338 EXPECT_TRUE(MetricsServiceHelper::IsCrashReportingEnabled()); | |
| 339 GetLocalState()->ClearPref(crash_pref); | |
| 340 EXPECT_FALSE(MetricsServiceHelper::IsCrashReportingEnabled()); | |
| 341 #endif // !defined(OS_CHROMEOS) | |
| 342 #else // defined(GOOGLE_CHROME_BUILD) | |
| 343 // Chromium branded browsers never have crash reporting enabled. | |
| 344 EXPECT_FALSE(MetricsServiceHelper::IsCrashReportingEnabled()); | |
| 345 #endif // defined(GOOGLE_CHROME_BUILD) | |
| 346 } | |
| 347 | |
| 348 TEST_F(MetricsServiceTest, MetricsServiceObserver) { | 311 TEST_F(MetricsServiceTest, MetricsServiceObserver) { |
| 349 metrics::TestMetricsServiceClient client; | 312 metrics::TestMetricsServiceClient client; |
| 350 MetricsService service(GetMetricsStateManager(), &client); | 313 MetricsService service(GetMetricsStateManager(), &client); |
| 351 TestMetricsServiceObserver observer1; | 314 TestMetricsServiceObserver observer1; |
| 352 TestMetricsServiceObserver observer2; | 315 TestMetricsServiceObserver observer2; |
| 353 | 316 |
| 354 service.AddObserver(&observer1); | 317 service.AddObserver(&observer1); |
| 355 EXPECT_EQ(0, observer1.observed()); | 318 EXPECT_EQ(0, observer1.observed()); |
| 356 EXPECT_EQ(0, observer2.observed()); | 319 EXPECT_EQ(0, observer2.observed()); |
| 357 | 320 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 369 | 332 |
| 370 service.RemoveObserver(&observer1); | 333 service.RemoveObserver(&observer1); |
| 371 | 334 |
| 372 service.OpenNewLog(); | 335 service.OpenNewLog(); |
| 373 EXPECT_EQ(2, observer1.observed()); | 336 EXPECT_EQ(2, observer1.observed()); |
| 374 EXPECT_EQ(2, observer2.observed()); | 337 EXPECT_EQ(2, observer2.observed()); |
| 375 service.log_manager_.FinishCurrentLog(); | 338 service.log_manager_.FinishCurrentLog(); |
| 376 | 339 |
| 377 service.RemoveObserver(&observer2); | 340 service.RemoveObserver(&observer2); |
| 378 } | 341 } |
| OLD | NEW |