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

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

Issue 253203002: Log operator code histogram on new metric log (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@api_move
Patch Set: . Created 6 years, 7 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
« no previous file with comments | « chrome/browser/metrics/metrics_service_observer.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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"
11 #include "chrome/browser/metrics/metrics_service_observer.h"
11 #include "chrome/browser/metrics/metrics_state_manager.h" 12 #include "chrome/browser/metrics/metrics_state_manager.h"
12 #include "chrome/common/chrome_switches.h" 13 #include "chrome/common/chrome_switches.h"
13 #include "chrome/common/pref_names.h" 14 #include "chrome/common/pref_names.h"
14 #include "chrome/test/base/scoped_testing_local_state.h" 15 #include "chrome/test/base/scoped_testing_local_state.h"
15 #include "chrome/test/base/testing_browser_process.h" 16 #include "chrome/test/base/testing_browser_process.h"
16 #include "components/variations/metrics_util.h" 17 #include "components/variations/metrics_util.h"
17 #include "content/public/common/process_type.h" 18 #include "content/public/common/process_type.h"
18 #include "content/public/common/webplugininfo.h" 19 #include "content/public/common/webplugininfo.h"
19 #include "content/public/test/test_browser_thread_bundle.h" 20 #include "content/public/test/test_browser_thread_bundle.h"
20 #include "testing/gtest/include/gtest/gtest.h" 21 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 } 139 }
139 140
140 private: 141 private:
141 content::TestBrowserThreadBundle thread_bundle_; 142 content::TestBrowserThreadBundle thread_bundle_;
142 ScopedTestingLocalState testing_local_state_; 143 ScopedTestingLocalState testing_local_state_;
143 scoped_ptr<metrics::MetricsStateManager> metrics_state_manager_; 144 scoped_ptr<metrics::MetricsStateManager> metrics_state_manager_;
144 145
145 DISALLOW_COPY_AND_ASSIGN(MetricsServiceTest); 146 DISALLOW_COPY_AND_ASSIGN(MetricsServiceTest);
146 }; 147 };
147 148
149 class TestMetricsServiceObserver : public MetricsServiceObserver {
150 public:
151 TestMetricsServiceObserver(): observed_(0) {}
152 virtual ~TestMetricsServiceObserver() {}
153
154 virtual void OnDidCreateMetricsLog() OVERRIDE {
155 ++observed_;
156 }
157 int observed() const { return observed_; }
158
159 private:
160 int observed_;
161
162 DISALLOW_COPY_AND_ASSIGN(TestMetricsServiceObserver);
163 };
164
148 } // namespace 165 } // namespace
149 166
150 TEST_F(MetricsServiceTest, IsPluginProcess) { 167 TEST_F(MetricsServiceTest, IsPluginProcess) {
151 EXPECT_TRUE( 168 EXPECT_TRUE(
152 MetricsService::IsPluginProcess(content::PROCESS_TYPE_PLUGIN)); 169 MetricsService::IsPluginProcess(content::PROCESS_TYPE_PLUGIN));
153 EXPECT_TRUE( 170 EXPECT_TRUE(
154 MetricsService::IsPluginProcess(content::PROCESS_TYPE_PPAPI_PLUGIN)); 171 MetricsService::IsPluginProcess(content::PROCESS_TYPE_PPAPI_PLUGIN));
155 EXPECT_FALSE( 172 EXPECT_FALSE(
156 MetricsService::IsPluginProcess(content::PROCESS_TYPE_GPU)); 173 MetricsService::IsPluginProcess(content::PROCESS_TYPE_GPU));
157 } 174 }
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 GetLocalState()->SetBoolean(crash_pref, true); 323 GetLocalState()->SetBoolean(crash_pref, true);
307 EXPECT_TRUE(MetricsServiceHelper::IsCrashReportingEnabled()); 324 EXPECT_TRUE(MetricsServiceHelper::IsCrashReportingEnabled());
308 GetLocalState()->ClearPref(crash_pref); 325 GetLocalState()->ClearPref(crash_pref);
309 EXPECT_FALSE(MetricsServiceHelper::IsCrashReportingEnabled()); 326 EXPECT_FALSE(MetricsServiceHelper::IsCrashReportingEnabled());
310 #endif // !defined(OS_CHROMEOS) 327 #endif // !defined(OS_CHROMEOS)
311 #else // defined(GOOGLE_CHROME_BUILD) 328 #else // defined(GOOGLE_CHROME_BUILD)
312 // Chromium branded browsers never have crash reporting enabled. 329 // Chromium branded browsers never have crash reporting enabled.
313 EXPECT_FALSE(MetricsServiceHelper::IsCrashReportingEnabled()); 330 EXPECT_FALSE(MetricsServiceHelper::IsCrashReportingEnabled());
314 #endif // defined(GOOGLE_CHROME_BUILD) 331 #endif // defined(GOOGLE_CHROME_BUILD)
315 } 332 }
333
334 TEST_F(MetricsServiceTest, MetricsServiceObserver) {
335 MetricsService service(GetMetricsStateManager());
336 TestMetricsServiceObserver observer1;
337 TestMetricsServiceObserver observer2;
338
339 service.AddObserver(&observer1);
340 EXPECT_EQ(0, observer1.observed());
341 EXPECT_EQ(0, observer2.observed());
342
343 service.OpenNewLog();
344 EXPECT_EQ(1, observer1.observed());
345 EXPECT_EQ(0, observer2.observed());
346 service.log_manager_.FinishCurrentLog();
347
348 service.AddObserver(&observer2);
349
350 service.OpenNewLog();
351 EXPECT_EQ(2, observer1.observed());
352 EXPECT_EQ(1, observer2.observed());
353 service.log_manager_.FinishCurrentLog();
354
355 service.RemoveObserver(&observer1);
356
357 service.OpenNewLog();
358 EXPECT_EQ(2, observer1.observed());
359 EXPECT_EQ(2, observer2.observed());
360 service.log_manager_.FinishCurrentLog();
361
362 service.RemoveObserver(&observer2);
363 }
OLDNEW
« no previous file with comments | « chrome/browser/metrics/metrics_service_observer.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698