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

Side by Side Diff: chrome/browser/chromeos/file_system_provider/operations/unmount_unittest.cc

Issue 365583003: [fsp] Remove weak pointers from loggers wherever possible. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
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 <string> 5 #include <string>
6 #include <vector> 6 #include <vector>
7 7
8 #include "base/files/file.h" 8 #include "base/files/file.h"
9 #include "base/files/file_path.h" 9 #include "base/files/file_path.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 private: 43 private:
44 ScopedVector<extensions::Event> events_; 44 ScopedVector<extensions::Event> events_;
45 bool dispatch_reply_; 45 bool dispatch_reply_;
46 46
47 DISALLOW_COPY_AND_ASSIGN(LoggingDispatchEventImpl); 47 DISALLOW_COPY_AND_ASSIGN(LoggingDispatchEventImpl);
48 }; 48 };
49 49
50 // Callback invocation logger. Acts as a fileapi end-point. 50 // Callback invocation logger. Acts as a fileapi end-point.
51 class CallbackLogger { 51 class CallbackLogger {
52 public: 52 public:
53 CallbackLogger() : weak_ptr_factory_(this) {} 53 CallbackLogger() {}
54 virtual ~CallbackLogger() {} 54 virtual ~CallbackLogger() {}
55 55
56 void OnUnmount(base::File::Error result) { events_.push_back(result); } 56 void OnUnmount(base::File::Error result) { events_.push_back(result); }
57 57
58 std::vector<base::File::Error>& events() { return events_; } 58 std::vector<base::File::Error>& events() { return events_; }
59 59
60 base::WeakPtr<CallbackLogger> GetWeakPtr() {
61 return weak_ptr_factory_.GetWeakPtr();
62 }
63
64 private: 60 private:
65 std::vector<base::File::Error> events_; 61 std::vector<base::File::Error> events_;
66 bool dispatch_reply_; 62 bool dispatch_reply_;
67 base::WeakPtrFactory<CallbackLogger> weak_ptr_factory_;
68 63
69 DISALLOW_COPY_AND_ASSIGN(CallbackLogger); 64 DISALLOW_COPY_AND_ASSIGN(CallbackLogger);
70 }; 65 };
71 66
72 } // namespace 67 } // namespace
73 68
74 class FileSystemProviderOperationsUnmountTest : public testing::Test { 69 class FileSystemProviderOperationsUnmountTest : public testing::Test {
75 protected: 70 protected:
76 FileSystemProviderOperationsUnmountTest() {} 71 FileSystemProviderOperationsUnmountTest() {}
77 virtual ~FileSystemProviderOperationsUnmountTest() {} 72 virtual ~FileSystemProviderOperationsUnmountTest() {}
78 73
79 virtual void SetUp() OVERRIDE { 74 virtual void SetUp() OVERRIDE {
80 file_system_info_ = 75 file_system_info_ =
81 ProvidedFileSystemInfo(kExtensionId, 76 ProvidedFileSystemInfo(kExtensionId,
82 kFileSystemId, 77 kFileSystemId,
83 "" /* file_system_name */, 78 "" /* file_system_name */,
84 base::FilePath() /* mount_path */); 79 base::FilePath() /* mount_path */);
85 } 80 }
86 81
87 ProvidedFileSystemInfo file_system_info_; 82 ProvidedFileSystemInfo file_system_info_;
88 }; 83 };
89 84
90 TEST_F(FileSystemProviderOperationsUnmountTest, Execute) { 85 TEST_F(FileSystemProviderOperationsUnmountTest, Execute) {
91 LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */); 86 LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */);
92 CallbackLogger callback_logger; 87 CallbackLogger callback_logger;
93 88
94 Unmount unmount( 89 Unmount unmount(NULL,
95 NULL, 90 file_system_info_,
96 file_system_info_, 91 base::Bind(&CallbackLogger::OnUnmount,
97 base::Bind(&CallbackLogger::OnUnmount, callback_logger.GetWeakPtr())); 92 base::Unretained(&callback_logger)));
98 unmount.SetDispatchEventImplForTesting( 93 unmount.SetDispatchEventImplForTesting(
99 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl, 94 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl,
100 base::Unretained(&dispatcher))); 95 base::Unretained(&dispatcher)));
101 96
102 EXPECT_TRUE(unmount.Execute(kRequestId)); 97 EXPECT_TRUE(unmount.Execute(kRequestId));
103 98
104 ASSERT_EQ(1u, dispatcher.events().size()); 99 ASSERT_EQ(1u, dispatcher.events().size());
105 extensions::Event* event = dispatcher.events()[0]; 100 extensions::Event* event = dispatcher.events()[0];
106 EXPECT_EQ( 101 EXPECT_EQ(
107 extensions::api::file_system_provider::OnUnmountRequested::kEventName, 102 extensions::api::file_system_provider::OnUnmountRequested::kEventName,
(...skipping 10 matching lines...) Expand all
118 113
119 int event_request_id = -1; 114 int event_request_id = -1;
120 EXPECT_TRUE(options->GetInteger("requestId", &event_request_id)); 115 EXPECT_TRUE(options->GetInteger("requestId", &event_request_id));
121 EXPECT_EQ(kRequestId, event_request_id); 116 EXPECT_EQ(kRequestId, event_request_id);
122 } 117 }
123 118
124 TEST_F(FileSystemProviderOperationsUnmountTest, Execute_NoListener) { 119 TEST_F(FileSystemProviderOperationsUnmountTest, Execute_NoListener) {
125 LoggingDispatchEventImpl dispatcher(false /* dispatch_reply */); 120 LoggingDispatchEventImpl dispatcher(false /* dispatch_reply */);
126 CallbackLogger callback_logger; 121 CallbackLogger callback_logger;
127 122
128 Unmount unmount( 123 Unmount unmount(NULL,
129 NULL, 124 file_system_info_,
130 file_system_info_, 125 base::Bind(&CallbackLogger::OnUnmount,
131 base::Bind(&CallbackLogger::OnUnmount, callback_logger.GetWeakPtr())); 126 base::Unretained(&callback_logger)));
132 unmount.SetDispatchEventImplForTesting( 127 unmount.SetDispatchEventImplForTesting(
133 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl, 128 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl,
134 base::Unretained(&dispatcher))); 129 base::Unretained(&dispatcher)));
135 130
136 EXPECT_FALSE(unmount.Execute(kRequestId)); 131 EXPECT_FALSE(unmount.Execute(kRequestId));
137 } 132 }
138 133
139 TEST_F(FileSystemProviderOperationsUnmountTest, OnSuccess) { 134 TEST_F(FileSystemProviderOperationsUnmountTest, OnSuccess) {
140 using extensions::api::file_system_provider_internal:: 135 using extensions::api::file_system_provider_internal::
141 UnmountRequestedSuccess::Params; 136 UnmountRequestedSuccess::Params;
142 137
143 LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */); 138 LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */);
144 CallbackLogger callback_logger; 139 CallbackLogger callback_logger;
145 140
146 Unmount unmount( 141 Unmount unmount(NULL,
147 NULL, 142 file_system_info_,
148 file_system_info_, 143 base::Bind(&CallbackLogger::OnUnmount,
149 base::Bind(&CallbackLogger::OnUnmount, callback_logger.GetWeakPtr())); 144 base::Unretained(&callback_logger)));
150 unmount.SetDispatchEventImplForTesting( 145 unmount.SetDispatchEventImplForTesting(
151 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl, 146 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl,
152 base::Unretained(&dispatcher))); 147 base::Unretained(&dispatcher)));
153 148
154 EXPECT_TRUE(unmount.Execute(kRequestId)); 149 EXPECT_TRUE(unmount.Execute(kRequestId));
155 150
156 unmount.OnSuccess(kRequestId, 151 unmount.OnSuccess(kRequestId,
157 scoped_ptr<RequestValue>(new RequestValue()), 152 scoped_ptr<RequestValue>(new RequestValue()),
158 false /* has_more */); 153 false /* has_more */);
159 ASSERT_EQ(1u, callback_logger.events().size()); 154 ASSERT_EQ(1u, callback_logger.events().size());
160 base::File::Error event_result = callback_logger.events()[0]; 155 base::File::Error event_result = callback_logger.events()[0];
161 EXPECT_EQ(base::File::FILE_OK, event_result); 156 EXPECT_EQ(base::File::FILE_OK, event_result);
162 } 157 }
163 158
164 TEST_F(FileSystemProviderOperationsUnmountTest, OnError) { 159 TEST_F(FileSystemProviderOperationsUnmountTest, OnError) {
165 LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */); 160 LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */);
166 CallbackLogger callback_logger; 161 CallbackLogger callback_logger;
167 162
168 Unmount unmount( 163 Unmount unmount(NULL,
169 NULL, 164 file_system_info_,
170 file_system_info_, 165 base::Bind(&CallbackLogger::OnUnmount,
171 base::Bind(&CallbackLogger::OnUnmount, callback_logger.GetWeakPtr())); 166 base::Unretained(&callback_logger)));
172 unmount.SetDispatchEventImplForTesting( 167 unmount.SetDispatchEventImplForTesting(
173 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl, 168 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl,
174 base::Unretained(&dispatcher))); 169 base::Unretained(&dispatcher)));
175 170
176 EXPECT_TRUE(unmount.Execute(kRequestId)); 171 EXPECT_TRUE(unmount.Execute(kRequestId));
177 172
178 unmount.OnError(kRequestId, 173 unmount.OnError(kRequestId,
179 scoped_ptr<RequestValue>(new RequestValue()), 174 scoped_ptr<RequestValue>(new RequestValue()),
180 base::File::FILE_ERROR_NOT_FOUND); 175 base::File::FILE_ERROR_NOT_FOUND);
181 ASSERT_EQ(1u, callback_logger.events().size()); 176 ASSERT_EQ(1u, callback_logger.events().size());
182 base::File::Error event_result = callback_logger.events()[0]; 177 base::File::Error event_result = callback_logger.events()[0];
183 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, event_result); 178 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, event_result);
184 } 179 }
185 180
186 } // namespace operations 181 } // namespace operations
187 } // namespace file_system_provider 182 } // namespace file_system_provider
188 } // namespace chromeos 183 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698