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 |