Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(146)

Side by Side Diff: chrome/browser/metrics/chrome_metrics_service_accessor_unittest.cc

Issue 916133003: Fix ChromeMetricsServiceAccessor::IsMetricsReportingEnabled on CrOs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make MetricsServicesManager::IsMetricsReportingEnabled private Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/chrome_metrics_service_accessor.h" 5 #include "chrome/browser/metrics/chrome_metrics_service_accessor.h"
6 6
7 #include "chrome/common/pref_names.h" 7 #include "chrome/common/pref_names.h"
8 #include "chrome/test/base/scoped_testing_local_state.h" 8 #include "chrome/test/base/scoped_testing_local_state.h"
9 #include "chrome/test/base/testing_browser_process.h" 9 #include "chrome/test/base/testing_browser_process.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 11
12 class ChromeMetricsServiceAccessorTest : public testing::Test { 12 class ChromeMetricsServiceAccessorTest : public testing::Test {
13 public: 13 public:
14 ChromeMetricsServiceAccessorTest() 14 ChromeMetricsServiceAccessorTest()
15 : testing_local_state_(TestingBrowserProcess::GetGlobal()) { 15 : testing_local_state_(TestingBrowserProcess::GetGlobal()) {
16 } 16 }
17 17
18 PrefService* GetLocalState() { 18 PrefService* GetLocalState() {
19 return testing_local_state_.Get(); 19 return testing_local_state_.Get();
20 } 20 }
21 21
22 private: 22 private:
23 ScopedTestingLocalState testing_local_state_; 23 ScopedTestingLocalState testing_local_state_;
24 24
25 DISALLOW_COPY_AND_ASSIGN(ChromeMetricsServiceAccessorTest); 25 DISALLOW_COPY_AND_ASSIGN(ChromeMetricsServiceAccessorTest);
26 }; 26 };
27 27
28 TEST_F(ChromeMetricsServiceAccessorTest, MetricsReportingEnabled) { 28 TEST_F(ChromeMetricsServiceAccessorTest, MetricsReportingEnabled) {
29 #if defined(GOOGLE_CHROME_BUILD)
29 #if !defined(OS_CHROMEOS) 30 #if !defined(OS_CHROMEOS)
30 GetLocalState()->SetBoolean(prefs::kMetricsReportingEnabled, false); 31 GetLocalState()->SetBoolean(prefs::kMetricsReportingEnabled, false);
31 EXPECT_FALSE(ChromeMetricsServiceAccessor::IsMetricsReportingEnabled()); 32 EXPECT_FALSE(ChromeMetricsServiceAccessor::IsMetricsReportingEnabled());
32 GetLocalState()->SetBoolean(prefs::kMetricsReportingEnabled, true); 33 GetLocalState()->SetBoolean(prefs::kMetricsReportingEnabled, true);
33 EXPECT_TRUE(ChromeMetricsServiceAccessor::IsMetricsReportingEnabled()); 34 EXPECT_TRUE(ChromeMetricsServiceAccessor::IsMetricsReportingEnabled());
34 GetLocalState()->ClearPref(prefs::kMetricsReportingEnabled); 35 GetLocalState()->ClearPref(prefs::kMetricsReportingEnabled);
35 EXPECT_FALSE(ChromeMetricsServiceAccessor::IsMetricsReportingEnabled()); 36 EXPECT_FALSE(ChromeMetricsServiceAccessor::IsMetricsReportingEnabled());
36 #else 37 #else
37 // ChromeOS does not register prefs::kMetricsReportingEnabled and uses 38 // ChromeOS does not register prefs::kMetricsReportingEnabled and uses
38 // device settings for metrics reporting. 39 // device settings for metrics reporting.
39 EXPECT_FALSE(ChromeMetricsServiceAccessor::IsMetricsReportingEnabled()); 40 EXPECT_FALSE(ChromeMetricsServiceAccessor::IsMetricsReportingEnabled());
40 #endif 41 #endif
42 #else
43 // Metrics Reporting is never enabled when GOOGLE_CHROME_BUILD is undefined.
44 EXPECT_FALSE(ChromeMetricsServiceAccessor::IsMetricsReportingEnabled());
45 #endif
41 } 46 }
42 47
43 TEST_F(ChromeMetricsServiceAccessorTest, CrashReportingEnabled) { 48 TEST_F(ChromeMetricsServiceAccessorTest, CrashReportingEnabled) {
44 #if defined(GOOGLE_CHROME_BUILD) 49 #if defined(GOOGLE_CHROME_BUILD)
45 // ChromeOS has different device settings for crash reporting. 50 // ChromeOS has different device settings for crash reporting.
46 #if !defined(OS_CHROMEOS) 51 #if !defined(OS_CHROMEOS)
47 #if defined(OS_ANDROID) 52 #if defined(OS_ANDROID)
48 const char* crash_pref = prefs::kCrashReportingEnabled; 53 const char* crash_pref = prefs::kCrashReportingEnabled;
49 #else 54 #else
50 const char* crash_pref = prefs::kMetricsReportingEnabled; 55 const char* crash_pref = prefs::kMetricsReportingEnabled;
51 #endif 56 #endif
52 GetLocalState()->SetBoolean(crash_pref, false); 57 GetLocalState()->SetBoolean(crash_pref, false);
53 EXPECT_FALSE(ChromeMetricsServiceAccessor::IsCrashReportingEnabled()); 58 EXPECT_FALSE(ChromeMetricsServiceAccessor::IsCrashReportingEnabled());
54 GetLocalState()->SetBoolean(crash_pref, true); 59 GetLocalState()->SetBoolean(crash_pref, true);
55 EXPECT_TRUE(ChromeMetricsServiceAccessor::IsCrashReportingEnabled()); 60 EXPECT_TRUE(ChromeMetricsServiceAccessor::IsCrashReportingEnabled());
56 GetLocalState()->ClearPref(crash_pref); 61 GetLocalState()->ClearPref(crash_pref);
57 EXPECT_FALSE(ChromeMetricsServiceAccessor::IsCrashReportingEnabled()); 62 EXPECT_FALSE(ChromeMetricsServiceAccessor::IsCrashReportingEnabled());
58 #endif // !defined(OS_CHROMEOS) 63 #endif // !defined(OS_CHROMEOS)
59 #else // defined(GOOGLE_CHROME_BUILD) 64 #else // defined(GOOGLE_CHROME_BUILD)
60 // Chromium branded browsers never have crash reporting enabled. 65 // Chromium branded browsers never have crash reporting enabled.
61 EXPECT_FALSE(ChromeMetricsServiceAccessor::IsCrashReportingEnabled()); 66 EXPECT_FALSE(ChromeMetricsServiceAccessor::IsCrashReportingEnabled());
62 #endif // defined(GOOGLE_CHROME_BUILD) 67 #endif // defined(GOOGLE_CHROME_BUILD)
63 } 68 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698