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

Side by Side Diff: chrome/browser/chromeos/file_system_provider/operations/read_directory_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 6
7 #include "base/files/file.h" 7 #include "base/files/file.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/json/json_reader.h" 9 #include "base/json/json_reader.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 bool has_more() { return has_more_; } 67 bool has_more() { return has_more_; }
68 68
69 private: 69 private:
70 base::File::Error result_; 70 base::File::Error result_;
71 fileapi::AsyncFileUtil::EntryList entry_list_; 71 fileapi::AsyncFileUtil::EntryList entry_list_;
72 bool has_more_; 72 bool has_more_;
73 73
74 DISALLOW_COPY_AND_ASSIGN(Event); 74 DISALLOW_COPY_AND_ASSIGN(Event);
75 }; 75 };
76 76
77 CallbackLogger() : weak_ptr_factory_(this) {} 77 CallbackLogger() {}
78 virtual ~CallbackLogger() {} 78 virtual ~CallbackLogger() {}
79 79
80 void OnReadDirectory(base::File::Error result, 80 void OnReadDirectory(base::File::Error result,
81 const fileapi::AsyncFileUtil::EntryList& entry_list, 81 const fileapi::AsyncFileUtil::EntryList& entry_list,
82 bool has_more) { 82 bool has_more) {
83 events_.push_back(new Event(result, entry_list, has_more)); 83 events_.push_back(new Event(result, entry_list, has_more));
84 } 84 }
85 85
86 ScopedVector<Event>& events() { return events_; } 86 ScopedVector<Event>& events() { return events_; }
87 87
88 base::WeakPtr<CallbackLogger> GetWeakPtr() {
89 return weak_ptr_factory_.GetWeakPtr();
90 }
91
92 private: 88 private:
93 ScopedVector<Event> events_; 89 ScopedVector<Event> events_;
94 bool dispatch_reply_; 90 bool dispatch_reply_;
95 base::WeakPtrFactory<CallbackLogger> weak_ptr_factory_;
96 91
97 DISALLOW_COPY_AND_ASSIGN(CallbackLogger); 92 DISALLOW_COPY_AND_ASSIGN(CallbackLogger);
98 }; 93 };
99 94
100 } // namespace 95 } // namespace
101 96
102 class FileSystemProviderOperationsReadDirectoryTest : public testing::Test { 97 class FileSystemProviderOperationsReadDirectoryTest : public testing::Test {
103 protected: 98 protected:
104 FileSystemProviderOperationsReadDirectoryTest() {} 99 FileSystemProviderOperationsReadDirectoryTest() {}
105 virtual ~FileSystemProviderOperationsReadDirectoryTest() {} 100 virtual ~FileSystemProviderOperationsReadDirectoryTest() {}
(...skipping 10 matching lines...) Expand all
116 }; 111 };
117 112
118 TEST_F(FileSystemProviderOperationsReadDirectoryTest, Execute) { 113 TEST_F(FileSystemProviderOperationsReadDirectoryTest, Execute) {
119 LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */); 114 LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */);
120 CallbackLogger callback_logger; 115 CallbackLogger callback_logger;
121 116
122 ReadDirectory read_directory(NULL, 117 ReadDirectory read_directory(NULL,
123 file_system_info_, 118 file_system_info_,
124 base::FilePath::FromUTF8Unsafe(kDirectoryPath), 119 base::FilePath::FromUTF8Unsafe(kDirectoryPath),
125 base::Bind(&CallbackLogger::OnReadDirectory, 120 base::Bind(&CallbackLogger::OnReadDirectory,
126 callback_logger.GetWeakPtr())); 121 base::Unretained(&callback_logger)));
127 read_directory.SetDispatchEventImplForTesting( 122 read_directory.SetDispatchEventImplForTesting(
128 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl, 123 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl,
129 base::Unretained(&dispatcher))); 124 base::Unretained(&dispatcher)));
130 125
131 EXPECT_TRUE(read_directory.Execute(kRequestId)); 126 EXPECT_TRUE(read_directory.Execute(kRequestId));
132 127
133 ASSERT_EQ(1u, dispatcher.events().size()); 128 ASSERT_EQ(1u, dispatcher.events().size());
134 extensions::Event* event = dispatcher.events()[0]; 129 extensions::Event* event = dispatcher.events()[0];
135 EXPECT_EQ(extensions::api::file_system_provider::OnReadDirectoryRequested:: 130 EXPECT_EQ(extensions::api::file_system_provider::OnReadDirectoryRequested::
136 kEventName, 131 kEventName,
(...skipping 18 matching lines...) Expand all
155 } 150 }
156 151
157 TEST_F(FileSystemProviderOperationsReadDirectoryTest, Execute_NoListener) { 152 TEST_F(FileSystemProviderOperationsReadDirectoryTest, Execute_NoListener) {
158 LoggingDispatchEventImpl dispatcher(false /* dispatch_reply */); 153 LoggingDispatchEventImpl dispatcher(false /* dispatch_reply */);
159 CallbackLogger callback_logger; 154 CallbackLogger callback_logger;
160 155
161 ReadDirectory read_directory(NULL, 156 ReadDirectory read_directory(NULL,
162 file_system_info_, 157 file_system_info_,
163 base::FilePath::FromUTF8Unsafe(kDirectoryPath), 158 base::FilePath::FromUTF8Unsafe(kDirectoryPath),
164 base::Bind(&CallbackLogger::OnReadDirectory, 159 base::Bind(&CallbackLogger::OnReadDirectory,
165 callback_logger.GetWeakPtr())); 160 base::Unretained(&callback_logger)));
166 read_directory.SetDispatchEventImplForTesting( 161 read_directory.SetDispatchEventImplForTesting(
167 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl, 162 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl,
168 base::Unretained(&dispatcher))); 163 base::Unretained(&dispatcher)));
169 164
170 EXPECT_FALSE(read_directory.Execute(kRequestId)); 165 EXPECT_FALSE(read_directory.Execute(kRequestId));
171 } 166 }
172 167
173 TEST_F(FileSystemProviderOperationsReadDirectoryTest, OnSuccess) { 168 TEST_F(FileSystemProviderOperationsReadDirectoryTest, OnSuccess) {
174 using extensions::api::file_system_provider_internal:: 169 using extensions::api::file_system_provider_internal::
175 ReadDirectoryRequestedSuccess::Params; 170 ReadDirectoryRequestedSuccess::Params;
176 171
177 LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */); 172 LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */);
178 CallbackLogger callback_logger; 173 CallbackLogger callback_logger;
179 174
180 ReadDirectory read_directory(NULL, 175 ReadDirectory read_directory(NULL,
181 file_system_info_, 176 file_system_info_,
182 base::FilePath::FromUTF8Unsafe(kDirectoryPath), 177 base::FilePath::FromUTF8Unsafe(kDirectoryPath),
183 base::Bind(&CallbackLogger::OnReadDirectory, 178 base::Bind(&CallbackLogger::OnReadDirectory,
184 callback_logger.GetWeakPtr())); 179 base::Unretained(&callback_logger)));
185 read_directory.SetDispatchEventImplForTesting( 180 read_directory.SetDispatchEventImplForTesting(
186 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl, 181 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl,
187 base::Unretained(&dispatcher))); 182 base::Unretained(&dispatcher)));
188 183
189 EXPECT_TRUE(read_directory.Execute(kRequestId)); 184 EXPECT_TRUE(read_directory.Execute(kRequestId));
190 185
191 // Sample input as JSON. Keep in sync with file_system_provider_api.idl. 186 // Sample input as JSON. Keep in sync with file_system_provider_api.idl.
192 // As for now, it is impossible to create *::Params class directly, not from 187 // As for now, it is impossible to create *::Params class directly, not from
193 // base::Value. 188 // base::Value.
194 const std::string input = 189 const std::string input =
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 } 237 }
243 238
244 TEST_F(FileSystemProviderOperationsReadDirectoryTest, OnError) { 239 TEST_F(FileSystemProviderOperationsReadDirectoryTest, OnError) {
245 LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */); 240 LoggingDispatchEventImpl dispatcher(true /* dispatch_reply */);
246 CallbackLogger callback_logger; 241 CallbackLogger callback_logger;
247 242
248 ReadDirectory read_directory(NULL, 243 ReadDirectory read_directory(NULL,
249 file_system_info_, 244 file_system_info_,
250 base::FilePath::FromUTF8Unsafe(kDirectoryPath), 245 base::FilePath::FromUTF8Unsafe(kDirectoryPath),
251 base::Bind(&CallbackLogger::OnReadDirectory, 246 base::Bind(&CallbackLogger::OnReadDirectory,
252 callback_logger.GetWeakPtr())); 247 base::Unretained(&callback_logger)));
253 read_directory.SetDispatchEventImplForTesting( 248 read_directory.SetDispatchEventImplForTesting(
254 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl, 249 base::Bind(&LoggingDispatchEventImpl::OnDispatchEventImpl,
255 base::Unretained(&dispatcher))); 250 base::Unretained(&dispatcher)));
256 251
257 EXPECT_TRUE(read_directory.Execute(kRequestId)); 252 EXPECT_TRUE(read_directory.Execute(kRequestId));
258 253
259 read_directory.OnError(kRequestId, 254 read_directory.OnError(kRequestId,
260 scoped_ptr<RequestValue>(new RequestValue()), 255 scoped_ptr<RequestValue>(new RequestValue()),
261 base::File::FILE_ERROR_TOO_MANY_OPENED); 256 base::File::FILE_ERROR_TOO_MANY_OPENED);
262 257
263 ASSERT_EQ(1u, callback_logger.events().size()); 258 ASSERT_EQ(1u, callback_logger.events().size());
264 CallbackLogger::Event* event = callback_logger.events()[0]; 259 CallbackLogger::Event* event = callback_logger.events()[0];
265 EXPECT_EQ(base::File::FILE_ERROR_TOO_MANY_OPENED, event->result()); 260 EXPECT_EQ(base::File::FILE_ERROR_TOO_MANY_OPENED, event->result());
266 ASSERT_EQ(0u, event->entry_list().size()); 261 ASSERT_EQ(0u, event->entry_list().size());
267 } 262 }
268 263
269 } // namespace operations 264 } // namespace operations
270 } // namespace file_system_provider 265 } // namespace file_system_provider
271 } // namespace chromeos 266 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698