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/command_line.h" | 9 #include "base/command_line.h" |
10 #include "base/threading/platform_thread.h" | 10 #include "base/threading/platform_thread.h" |
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
287 service.log_manager_.BeginLoggingWithLog( | 287 service.log_manager_.BeginLoggingWithLog( |
288 new MetricsLog("clientID", 1, MetricsLog::ONGOING_LOG)); | 288 new MetricsLog("clientID", 1, MetricsLog::ONGOING_LOG)); |
289 service.GetCurrentSyntheticFieldTrials(&synthetic_trials); | 289 service.GetCurrentSyntheticFieldTrials(&synthetic_trials); |
290 EXPECT_EQ(3U, synthetic_trials.size()); | 290 EXPECT_EQ(3U, synthetic_trials.size()); |
291 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial1", "Group2")); | 291 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial1", "Group2")); |
292 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial2", "Group2")); | 292 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial2", "Group2")); |
293 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial3", "Group3")); | 293 EXPECT_TRUE(HasSyntheticTrial(synthetic_trials, "TestTrial3", "Group3")); |
294 service.log_manager_.FinishCurrentLog(); | 294 service.log_manager_.FinishCurrentLog(); |
295 } | 295 } |
296 | 296 |
297 TEST_F(MetricsServiceTest, MetricsReportingEnabled) { | |
298 #if !defined(OS_CHROMEOS) | |
299 GetLocalState()->SetBoolean(prefs::kMetricsReportingEnabled, false); | |
300 EXPECT_FALSE(MetricsServiceHelper::IsMetricsReportingEnabled()); | |
301 GetLocalState()->SetBoolean(prefs::kMetricsReportingEnabled, true); | |
302 EXPECT_TRUE(MetricsServiceHelper::IsMetricsReportingEnabled()); | |
303 GetLocalState()->ClearPref(prefs::kMetricsReportingEnabled); | |
304 EXPECT_FALSE(MetricsServiceHelper::IsMetricsReportingEnabled()); | |
305 #else | |
306 // ChromeOS does not register prefs::kMetricsReportingEnabled and uses | |
307 // device settings for metrics reporting. | |
308 EXPECT_FALSE(MetricsServiceHelper::IsMetricsReportingEnabled()); | |
309 #endif | |
310 } | |
311 | |
312 TEST_F(MetricsServiceTest, CrashReportingEnabled) { | |
313 #if defined(GOOGLE_CHROME_BUILD) | |
314 // ChromeOS has different device settings for crash reporting. | |
315 #if !defined(OS_CHROMEOS) | |
316 #if defined(OS_ANDROID) | |
317 const char* crash_pref = prefs::kCrashReportingEnabled; | |
318 #else | |
319 const char* crash_pref = prefs::kMetricsReportingEnabled; | |
320 #endif | |
321 GetLocalState()->SetBoolean(crash_pref, false); | |
322 EXPECT_FALSE(MetricsServiceHelper::IsCrashReportingEnabled()); | |
323 GetLocalState()->SetBoolean(crash_pref, true); | |
324 EXPECT_TRUE(MetricsServiceHelper::IsCrashReportingEnabled()); | |
325 GetLocalState()->ClearPref(crash_pref); | |
326 EXPECT_FALSE(MetricsServiceHelper::IsCrashReportingEnabled()); | |
327 #endif // !defined(OS_CHROMEOS) | |
328 #else // defined(GOOGLE_CHROME_BUILD) | |
329 // Chromium branded browsers never have crash reporting enabled. | |
330 EXPECT_FALSE(MetricsServiceHelper::IsCrashReportingEnabled()); | |
331 #endif // defined(GOOGLE_CHROME_BUILD) | |
332 } | |
333 | |
334 TEST_F(MetricsServiceTest, MetricsServiceObserver) { | 297 TEST_F(MetricsServiceTest, MetricsServiceObserver) { |
335 MetricsService service(GetMetricsStateManager()); | 298 MetricsService service(GetMetricsStateManager()); |
336 TestMetricsServiceObserver observer1; | 299 TestMetricsServiceObserver observer1; |
337 TestMetricsServiceObserver observer2; | 300 TestMetricsServiceObserver observer2; |
338 | 301 |
339 service.AddObserver(&observer1); | 302 service.AddObserver(&observer1); |
340 EXPECT_EQ(0, observer1.observed()); | 303 EXPECT_EQ(0, observer1.observed()); |
341 EXPECT_EQ(0, observer2.observed()); | 304 EXPECT_EQ(0, observer2.observed()); |
342 | 305 |
343 service.OpenNewLog(); | 306 service.OpenNewLog(); |
(...skipping 10 matching lines...) Expand all Loading... |
354 | 317 |
355 service.RemoveObserver(&observer1); | 318 service.RemoveObserver(&observer1); |
356 | 319 |
357 service.OpenNewLog(); | 320 service.OpenNewLog(); |
358 EXPECT_EQ(2, observer1.observed()); | 321 EXPECT_EQ(2, observer1.observed()); |
359 EXPECT_EQ(2, observer2.observed()); | 322 EXPECT_EQ(2, observer2.observed()); |
360 service.log_manager_.FinishCurrentLog(); | 323 service.log_manager_.FinishCurrentLog(); |
361 | 324 |
362 service.RemoveObserver(&observer2); | 325 service.RemoveObserver(&observer2); |
363 } | 326 } |
OLD | NEW |