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

Side by Side Diff: chrome/browser/chromeos/file_system_provider/request_manager_unittest.cc

Issue 304533003: [fsp] Rename has_next to has_more. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
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 | 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/bind.h" 7 #include "base/bind.h"
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "base/files/file.h" 9 #include "base/files/file.h"
10 #include "base/files/file_path.h" 10 #include "base/files/file_path.h"
(...skipping 19 matching lines...) Expand all
30 virtual ~ExecuteEvent() {} 30 virtual ~ExecuteEvent() {}
31 31
32 int request_id() { return request_id_; } 32 int request_id() { return request_id_; }
33 33
34 private: 34 private:
35 int request_id_; 35 int request_id_;
36 }; 36 };
37 37
38 class SuccessEvent { 38 class SuccessEvent {
39 public: 39 public:
40 SuccessEvent(int request_id, scoped_ptr<RequestValue> result, bool has_next) 40 SuccessEvent(int request_id, scoped_ptr<RequestValue> result, bool has_more)
41 : request_id_(request_id), 41 : request_id_(request_id),
42 result_(result.Pass()), 42 result_(result.Pass()),
43 has_next_(has_next) {} 43 has_more_(has_more) {}
44 virtual ~SuccessEvent() {} 44 virtual ~SuccessEvent() {}
45 45
46 int request_id() { return request_id_; } 46 int request_id() { return request_id_; }
47 RequestValue* result() { return result_.get(); } 47 RequestValue* result() { return result_.get(); }
48 bool has_next() { return has_next_; } 48 bool has_more() { return has_more_; }
49 49
50 private: 50 private:
51 int request_id_; 51 int request_id_;
52 scoped_ptr<RequestValue> result_; 52 scoped_ptr<RequestValue> result_;
53 bool has_next_; 53 bool has_more_;
54 }; 54 };
55 55
56 class ErrorEvent { 56 class ErrorEvent {
57 public: 57 public:
58 ErrorEvent(int request_id, base::File::Error error) 58 ErrorEvent(int request_id, base::File::Error error)
59 : request_id_(request_id), error_(error) {} 59 : request_id_(request_id), error_(error) {}
60 virtual ~ErrorEvent() {} 60 virtual ~ErrorEvent() {}
61 61
62 int request_id() { return request_id_; } 62 int request_id() { return request_id_; }
63 base::File::Error error() { return error_; } 63 base::File::Error error() { return error_; }
64 64
65 private: 65 private:
66 int request_id_; 66 int request_id_;
67 base::File::Error error_; 67 base::File::Error error_;
68 }; 68 };
69 69
70 EventLogger() : weak_ptr_factory_(this) {} 70 EventLogger() : weak_ptr_factory_(this) {}
71 virtual ~EventLogger() {} 71 virtual ~EventLogger() {}
72 72
73 void OnExecute(int request_id) { 73 void OnExecute(int request_id) {
74 execute_events_.push_back(new ExecuteEvent(request_id)); 74 execute_events_.push_back(new ExecuteEvent(request_id));
75 } 75 }
76 76
77 void OnSuccess(int request_id, 77 void OnSuccess(int request_id,
78 scoped_ptr<RequestValue> result, 78 scoped_ptr<RequestValue> result,
79 bool has_next) { 79 bool has_more) {
80 success_events_.push_back( 80 success_events_.push_back(
81 new SuccessEvent(request_id, result.Pass(), has_next)); 81 new SuccessEvent(request_id, result.Pass(), has_more));
82 } 82 }
83 83
84 void OnError(int request_id, base::File::Error error) { 84 void OnError(int request_id, base::File::Error error) {
85 error_events_.push_back(new ErrorEvent(request_id, error)); 85 error_events_.push_back(new ErrorEvent(request_id, error));
86 } 86 }
87 87
88 ScopedVector<ExecuteEvent>& execute_events() { return execute_events_; } 88 ScopedVector<ExecuteEvent>& execute_events() { return execute_events_; }
89 ScopedVector<SuccessEvent>& success_events() { return success_events_; } 89 ScopedVector<SuccessEvent>& success_events() { return success_events_; }
90 ScopedVector<ErrorEvent>& error_events() { return error_events_; } 90 ScopedVector<ErrorEvent>& error_events() { return error_events_; }
91 91
(...skipping 23 matching lines...) Expand all
115 virtual bool Execute(int request_id) OVERRIDE { 115 virtual bool Execute(int request_id) OVERRIDE {
116 if (logger_.get()) 116 if (logger_.get())
117 logger_->OnExecute(request_id); 117 logger_->OnExecute(request_id);
118 118
119 return execute_reply_; 119 return execute_reply_;
120 } 120 }
121 121
122 // RequestManager::Handler overrides. 122 // RequestManager::Handler overrides.
123 virtual void OnSuccess(int request_id, 123 virtual void OnSuccess(int request_id,
124 scoped_ptr<RequestValue> result, 124 scoped_ptr<RequestValue> result,
125 bool has_next) OVERRIDE { 125 bool has_more) OVERRIDE {
126 if (logger_.get()) 126 if (logger_.get())
127 logger_->OnSuccess(request_id, result.Pass(), has_next); 127 logger_->OnSuccess(request_id, result.Pass(), has_more);
128 } 128 }
129 129
130 // RequestManager::Handler overrides. 130 // RequestManager::Handler overrides.
131 virtual void OnError(int request_id, base::File::Error error) OVERRIDE { 131 virtual void OnError(int request_id, base::File::Error error) OVERRIDE {
132 if (logger_.get()) 132 if (logger_.get())
133 logger_->OnError(request_id, error); 133 logger_->OnError(request_id, error);
134 } 134 }
135 135
136 virtual ~FakeHandler() {} 136 virtual ~FakeHandler() {}
137 137
(...skipping 24 matching lines...) Expand all
162 const int request_id = request_manager_->CreateRequest( 162 const int request_id = request_manager_->CreateRequest(
163 make_scoped_ptr<RequestManager::HandlerInterface>( 163 make_scoped_ptr<RequestManager::HandlerInterface>(
164 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 164 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
165 165
166 EXPECT_EQ(1, request_id); 166 EXPECT_EQ(1, request_id);
167 EXPECT_EQ(0u, logger.success_events().size()); 167 EXPECT_EQ(0u, logger.success_events().size());
168 EXPECT_EQ(0u, logger.error_events().size()); 168 EXPECT_EQ(0u, logger.error_events().size());
169 169
170 scoped_ptr<RequestValue> response( 170 scoped_ptr<RequestValue> response(
171 RequestValue::CreateForTesting("i-like-vanilla")); 171 RequestValue::CreateForTesting("i-like-vanilla"));
172 const bool has_next = false; 172 const bool has_more = false;
173 173
174 bool result = 174 bool result =
175 request_manager_->FulfillRequest(request_id, response.Pass(), has_next); 175 request_manager_->FulfillRequest(request_id, response.Pass(), has_more);
176 EXPECT_TRUE(result); 176 EXPECT_TRUE(result);
177 177
178 // Validate if the callback has correct arguments. 178 // Validate if the callback has correct arguments.
179 ASSERT_EQ(1u, logger.success_events().size()); 179 ASSERT_EQ(1u, logger.success_events().size());
180 EXPECT_EQ(0u, logger.error_events().size()); 180 EXPECT_EQ(0u, logger.error_events().size());
181 EventLogger::SuccessEvent* event = logger.success_events()[0]; 181 EventLogger::SuccessEvent* event = logger.success_events()[0];
182 ASSERT_TRUE(event->result()); 182 ASSERT_TRUE(event->result());
183 const std::string* response_test_string = event->result()->testing_params(); 183 const std::string* response_test_string = event->result()->testing_params();
184 ASSERT_TRUE(response_test_string); 184 ASSERT_TRUE(response_test_string);
185 EXPECT_EQ("i-like-vanilla", *response_test_string); 185 EXPECT_EQ("i-like-vanilla", *response_test_string);
186 EXPECT_FALSE(event->has_next()); 186 EXPECT_FALSE(event->has_more());
187 187
188 // Confirm, that the request is removed. Basically, fulfilling again for the 188 // Confirm, that the request is removed. Basically, fulfilling again for the
189 // same request, should fail. 189 // same request, should fail.
190 { 190 {
191 scoped_ptr<RequestValue> response; 191 scoped_ptr<RequestValue> response;
192 bool retry = 192 bool retry =
193 request_manager_->FulfillRequest(request_id, response.Pass(), has_next); 193 request_manager_->FulfillRequest(request_id, response.Pass(), has_more);
194 EXPECT_FALSE(retry); 194 EXPECT_FALSE(retry);
195 } 195 }
196 196
197 // Rejecting should also fail. 197 // Rejecting should also fail.
198 { 198 {
199 bool retry = request_manager_->RejectRequest(request_id, 199 bool retry = request_manager_->RejectRequest(request_id,
200 base::File::FILE_ERROR_FAILED); 200 base::File::FILE_ERROR_FAILED);
201 EXPECT_FALSE(retry); 201 EXPECT_FALSE(retry);
202 } 202 }
203 } 203 }
204 204
205 TEST_F(FileSystemProviderRequestManagerTest, CreateAndFulFill_WithHasNext) { 205 TEST_F(FileSystemProviderRequestManagerTest, CreateAndFulFill_WithHasNext) {
206 EventLogger logger; 206 EventLogger logger;
207 207
208 const int request_id = request_manager_->CreateRequest( 208 const int request_id = request_manager_->CreateRequest(
209 make_scoped_ptr<RequestManager::HandlerInterface>( 209 make_scoped_ptr<RequestManager::HandlerInterface>(
210 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 210 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
211 211
212 EXPECT_EQ(1, request_id); 212 EXPECT_EQ(1, request_id);
213 EXPECT_EQ(0u, logger.success_events().size()); 213 EXPECT_EQ(0u, logger.success_events().size());
214 EXPECT_EQ(0u, logger.error_events().size()); 214 EXPECT_EQ(0u, logger.error_events().size());
215 215
216 scoped_ptr<RequestValue> response; 216 scoped_ptr<RequestValue> response;
217 const bool has_next = true; 217 const bool has_more = true;
218 218
219 bool result = 219 bool result =
220 request_manager_->FulfillRequest(request_id, response.Pass(), has_next); 220 request_manager_->FulfillRequest(request_id, response.Pass(), has_more);
221 EXPECT_TRUE(result); 221 EXPECT_TRUE(result);
222 222
223 // Validate if the callback has correct arguments. 223 // Validate if the callback has correct arguments.
224 ASSERT_EQ(1u, logger.success_events().size()); 224 ASSERT_EQ(1u, logger.success_events().size());
225 EXPECT_EQ(0u, logger.error_events().size()); 225 EXPECT_EQ(0u, logger.error_events().size());
226 EventLogger::SuccessEvent* event = logger.success_events()[0]; 226 EventLogger::SuccessEvent* event = logger.success_events()[0];
227 EXPECT_FALSE(event->result()); 227 EXPECT_FALSE(event->result());
228 EXPECT_TRUE(event->has_next()); 228 EXPECT_TRUE(event->has_more());
229 229
230 // Confirm, that the request is not removed (since it has has_next == true). 230 // Confirm, that the request is not removed (since it has has_more == true).
231 // Basically, fulfilling again for the same request, should not fail. 231 // Basically, fulfilling again for the same request, should not fail.
232 { 232 {
233 bool new_has_next = false; 233 bool new_has_more = false;
234 bool retry = request_manager_->FulfillRequest( 234 bool retry = request_manager_->FulfillRequest(
235 request_id, response.Pass(), new_has_next); 235 request_id, response.Pass(), new_has_more);
236 EXPECT_TRUE(retry); 236 EXPECT_TRUE(retry);
237 } 237 }
238 238
239 // Since |new_has_next| is false, then the request should be removed. To check 239 // Since |new_has_more| is false, then the request should be removed. To check
240 // it, try to fulfill again, what should fail. 240 // it, try to fulfill again, what should fail.
241 { 241 {
242 bool new_has_next = false; 242 bool new_has_more = false;
243 bool retry = request_manager_->FulfillRequest( 243 bool retry = request_manager_->FulfillRequest(
244 request_id, response.Pass(), new_has_next); 244 request_id, response.Pass(), new_has_more);
245 EXPECT_FALSE(retry); 245 EXPECT_FALSE(retry);
246 } 246 }
247 } 247 }
248 248
249 TEST_F(FileSystemProviderRequestManagerTest, CreateAndReject) { 249 TEST_F(FileSystemProviderRequestManagerTest, CreateAndReject) {
250 EventLogger logger; 250 EventLogger logger;
251 251
252 const int request_id = request_manager_->CreateRequest( 252 const int request_id = request_manager_->CreateRequest(
253 make_scoped_ptr<RequestManager::HandlerInterface>( 253 make_scoped_ptr<RequestManager::HandlerInterface>(
254 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */))); 254 new FakeHandler(logger.GetWeakPtr(), true /* execute_reply */)));
255 255
256 EXPECT_EQ(1, request_id); 256 EXPECT_EQ(1, request_id);
257 EXPECT_EQ(0u, logger.success_events().size()); 257 EXPECT_EQ(0u, logger.success_events().size());
258 EXPECT_EQ(0u, logger.error_events().size()); 258 EXPECT_EQ(0u, logger.error_events().size());
259 259
260 base::File::Error error = base::File::FILE_ERROR_NO_MEMORY; 260 base::File::Error error = base::File::FILE_ERROR_NO_MEMORY;
261 bool result = request_manager_->RejectRequest(request_id, error); 261 bool result = request_manager_->RejectRequest(request_id, error);
262 EXPECT_TRUE(result); 262 EXPECT_TRUE(result);
263 263
264 // Validate if the callback has correct arguments. 264 // Validate if the callback has correct arguments.
265 ASSERT_EQ(1u, logger.error_events().size()); 265 ASSERT_EQ(1u, logger.error_events().size());
266 EXPECT_EQ(0u, logger.success_events().size()); 266 EXPECT_EQ(0u, logger.success_events().size());
267 EventLogger::ErrorEvent* event = logger.error_events()[0]; 267 EventLogger::ErrorEvent* event = logger.error_events()[0];
268 EXPECT_EQ(error, event->error()); 268 EXPECT_EQ(error, event->error());
269 269
270 // Confirm, that the request is removed. Basically, fulfilling again for the 270 // Confirm, that the request is removed. Basically, fulfilling again for the
271 // same request, should fail. 271 // same request, should fail.
272 { 272 {
273 scoped_ptr<RequestValue> response; 273 scoped_ptr<RequestValue> response;
274 bool has_next = false; 274 bool has_more = false;
275 bool retry = 275 bool retry =
276 request_manager_->FulfillRequest(request_id, response.Pass(), has_next); 276 request_manager_->FulfillRequest(request_id, response.Pass(), has_more);
277 EXPECT_FALSE(retry); 277 EXPECT_FALSE(retry);
278 } 278 }
279 279
280 // Rejecting should also fail. 280 // Rejecting should also fail.
281 { 281 {
282 bool retry = request_manager_->RejectRequest(request_id, error); 282 bool retry = request_manager_->RejectRequest(request_id, error);
283 EXPECT_FALSE(retry); 283 EXPECT_FALSE(retry);
284 } 284 }
285 } 285 }
286 286
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 // Wait until the request is timeouted. 388 // Wait until the request is timeouted.
389 run_loop.RunUntilIdle(); 389 run_loop.RunUntilIdle();
390 390
391 ASSERT_EQ(1u, logger.error_events().size()); 391 ASSERT_EQ(1u, logger.error_events().size());
392 EventLogger::ErrorEvent* event = logger.error_events()[0]; 392 EventLogger::ErrorEvent* event = logger.error_events()[0];
393 EXPECT_EQ(base::File::FILE_ERROR_ABORT, event->error()); 393 EXPECT_EQ(base::File::FILE_ERROR_ABORT, event->error());
394 } 394 }
395 395
396 } // namespace file_system_provider 396 } // namespace file_system_provider
397 } // namespace chromeos 397 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698