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

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

Issue 1886913002: Convert //chrome/browser/metrics from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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/extensions_metrics_provider.h" 5 #include "chrome/browser/metrics/extensions_metrics_provider.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <memory>
9 #include <string> 10 #include <string>
10 11
11 #include "base/memory/scoped_ptr.h"
12 #include "components/metrics/client_info.h" 12 #include "components/metrics/client_info.h"
13 #include "components/metrics/metrics_service.h" 13 #include "components/metrics/metrics_service.h"
14 #include "components/metrics/metrics_state_manager.h" 14 #include "components/metrics/metrics_state_manager.h"
15 #include "components/metrics/proto/system_profile.pb.h" 15 #include "components/metrics/proto/system_profile.pb.h"
16 #include "components/prefs/testing_pref_service.h" 16 #include "components/prefs/testing_pref_service.h"
17 #include "extensions/common/extension.h" 17 #include "extensions/common/extension.h"
18 #include "extensions/common/extension_builder.h" 18 #include "extensions/common/extension_builder.h"
19 #include "extensions/common/extension_set.h" 19 #include "extensions/common/extension_set.h"
20 #include "testing/gtest/include/gtest/gtest.h" 20 #include "testing/gtest/include/gtest/gtest.h"
21 21
22 namespace { 22 namespace {
23 23
24 bool IsMetricsReportingEnabled() { 24 bool IsMetricsReportingEnabled() {
25 return true; 25 return true;
26 } 26 }
27 27
28 void StoreNoClientInfoBackup(const metrics::ClientInfo& /* client_info */) { 28 void StoreNoClientInfoBackup(const metrics::ClientInfo& /* client_info */) {
29 } 29 }
30 30
31 scoped_ptr<metrics::ClientInfo> ReturnNoBackup() { 31 std::unique_ptr<metrics::ClientInfo> ReturnNoBackup() {
32 return scoped_ptr<metrics::ClientInfo>(); 32 return std::unique_ptr<metrics::ClientInfo>();
Ilya Sherman 2016/04/14 00:59:53 nit: Is "return nullptr;" equivalent here?
dcheng 2016/04/14 01:05:24 Yes. But largely out of scope unless someone stron
33 } 33 }
34 34
35 class TestExtensionsMetricsProvider : public ExtensionsMetricsProvider { 35 class TestExtensionsMetricsProvider : public ExtensionsMetricsProvider {
36 public: 36 public:
37 explicit TestExtensionsMetricsProvider( 37 explicit TestExtensionsMetricsProvider(
38 metrics::MetricsStateManager* metrics_state_manager) 38 metrics::MetricsStateManager* metrics_state_manager)
39 : ExtensionsMetricsProvider(metrics_state_manager) {} 39 : ExtensionsMetricsProvider(metrics_state_manager) {}
40 40
41 // Makes the protected HashExtension method available to testing code. 41 // Makes the protected HashExtension method available to testing code.
42 using ExtensionsMetricsProvider::HashExtension; 42 using ExtensionsMetricsProvider::HashExtension;
43 43
44 protected: 44 protected:
45 // Override the GetInstalledExtensions method to return a set of extensions 45 // Override the GetInstalledExtensions method to return a set of extensions
46 // for tests. 46 // for tests.
47 scoped_ptr<extensions::ExtensionSet> GetInstalledExtensions( 47 std::unique_ptr<extensions::ExtensionSet> GetInstalledExtensions(
48 Profile* profile) override { 48 Profile* profile) override {
49 scoped_ptr<extensions::ExtensionSet> extensions( 49 std::unique_ptr<extensions::ExtensionSet> extensions(
Ilya Sherman 2016/04/14 00:59:53 nit: It looks like this code be base::WrapUnique,
dcheng 2016/04/14 01:05:24 Sometimes: this particular instance is probably be
50 new extensions::ExtensionSet()); 50 new extensions::ExtensionSet());
51 scoped_refptr<const extensions::Extension> extension; 51 scoped_refptr<const extensions::Extension> extension;
52 extension = extensions::ExtensionBuilder() 52 extension = extensions::ExtensionBuilder()
53 .SetManifest(extensions::DictionaryBuilder() 53 .SetManifest(extensions::DictionaryBuilder()
54 .Set("name", "Test extension") 54 .Set("name", "Test extension")
55 .Set("version", "1.0.0") 55 .Set("version", "1.0.0")
56 .Set("manifest_version", 2) 56 .Set("manifest_version", 2)
57 .Build()) 57 .Build())
58 .SetID("ahfgeienlihckogmohjhadlkjgocpleb") 58 .SetID("ahfgeienlihckogmohjhadlkjgocpleb")
59 .Build(); 59 .Build();
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 TestExtensionsMetricsProvider::HashExtension( 102 TestExtensionsMetricsProvider::HashExtension(
103 "mdhofdjgenpkhlmddfaegdjddcecipmo", 3817)); 103 "mdhofdjgenpkhlmddfaegdjddcecipmo", 3817));
104 } 104 }
105 105
106 // Checks that the fake set of extensions provided by 106 // Checks that the fake set of extensions provided by
107 // TestExtensionsMetricsProvider is encoded properly. 107 // TestExtensionsMetricsProvider is encoded properly.
108 TEST(ExtensionsMetricsProvider, SystemProtoEncoding) { 108 TEST(ExtensionsMetricsProvider, SystemProtoEncoding) {
109 metrics::SystemProfileProto system_profile; 109 metrics::SystemProfileProto system_profile;
110 TestingPrefServiceSimple local_state; 110 TestingPrefServiceSimple local_state;
111 metrics::MetricsService::RegisterPrefs(local_state.registry()); 111 metrics::MetricsService::RegisterPrefs(local_state.registry());
112 scoped_ptr<metrics::MetricsStateManager> metrics_state_manager( 112 std::unique_ptr<metrics::MetricsStateManager> metrics_state_manager(
113 metrics::MetricsStateManager::Create( 113 metrics::MetricsStateManager::Create(
114 &local_state, 114 &local_state, base::Bind(&IsMetricsReportingEnabled),
115 base::Bind(&IsMetricsReportingEnabled), 115 base::Bind(&StoreNoClientInfoBackup), base::Bind(&ReturnNoBackup)));
116 base::Bind(&StoreNoClientInfoBackup),
117 base::Bind(&ReturnNoBackup)));
118 TestExtensionsMetricsProvider extension_metrics(metrics_state_manager.get()); 116 TestExtensionsMetricsProvider extension_metrics(metrics_state_manager.get());
119 extension_metrics.ProvideSystemProfileMetrics(&system_profile); 117 extension_metrics.ProvideSystemProfileMetrics(&system_profile);
120 ASSERT_EQ(2, system_profile.occupied_extension_bucket_size()); 118 ASSERT_EQ(2, system_profile.occupied_extension_bucket_size());
121 EXPECT_EQ(10, system_profile.occupied_extension_bucket(0)); 119 EXPECT_EQ(10, system_profile.occupied_extension_bucket(0));
122 EXPECT_EQ(1007, system_profile.occupied_extension_bucket(1)); 120 EXPECT_EQ(1007, system_profile.occupied_extension_bucket(1));
123 } 121 }
OLDNEW
« no previous file with comments | « chrome/browser/metrics/extensions_metrics_provider.cc ('k') | chrome/browser/metrics/first_web_contents_profiler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698