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

Side by Side Diff: content/child/fileapi/webfilewriter_base_unittest.cc

Issue 29513003: Cleanup deprecated and no longer needed blob revamp stuff, deadcode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 2 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
« no previous file with comments | « content/child/fileapi/webfilewriter_base.cc ('k') | content/child/fileapi/webfilewriter_impl.h » ('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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/child/fileapi/webfilewriter_base.h" 5 #include "content/child/fileapi/webfilewriter_base.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 reset(); 44 reset();
45 } 45 }
46 46
47 void reset() { 47 void reset() {
48 received_truncate_ = false; 48 received_truncate_ = false;
49 received_truncate_path_ = GURL(); 49 received_truncate_path_ = GURL();
50 received_truncate_offset_ = kNoOffset; 50 received_truncate_offset_ = kNoOffset;
51 received_write_ = false; 51 received_write_ = false;
52 received_write_path_ = GURL(); 52 received_write_path_ = GURL();
53 received_write_offset_ = kNoOffset; 53 received_write_offset_ = kNoOffset;
54 received_write_blob_url_ = GURL();
55 received_write_blob_uuid_ = std::string(); 54 received_write_blob_uuid_ = std::string();
56 received_cancel_ = false; 55 received_cancel_ = false;
57 } 56 }
58 57
59 bool received_truncate_; 58 bool received_truncate_;
60 GURL received_truncate_path_; 59 GURL received_truncate_path_;
61 int64 received_truncate_offset_; 60 int64 received_truncate_offset_;
62 bool received_write_; 61 bool received_write_;
63 GURL received_write_path_; 62 GURL received_write_path_;
64 GURL received_write_blob_url_;
65 std::string received_write_blob_uuid_; 63 std::string received_write_blob_uuid_;
66 int64 received_write_offset_; 64 int64 received_write_offset_;
67 bool received_cancel_; 65 bool received_cancel_;
68 66
69 protected: 67 protected:
70 virtual void DoTruncate(const GURL& path, int64 offset) OVERRIDE { 68 virtual void DoTruncate(const GURL& path, int64 offset) OVERRIDE {
71 received_truncate_ = true; 69 received_truncate_ = true;
72 received_truncate_path_ = path; 70 received_truncate_path_ = path;
73 received_truncate_offset_ = offset; 71 received_truncate_offset_ = offset;
74 72
75 if (offset == kBasicFileTruncate_Offset) { 73 if (offset == kBasicFileTruncate_Offset) {
76 DidSucceed(); 74 DidSucceed();
77 } else if (offset == kErrorFileTruncate_Offset) { 75 } else if (offset == kErrorFileTruncate_Offset) {
78 DidFail(base::PLATFORM_FILE_ERROR_NOT_FOUND); 76 DidFail(base::PLATFORM_FILE_ERROR_NOT_FOUND);
79 } else if (offset == kCancelFileTruncate_Offset) { 77 } else if (offset == kCancelFileTruncate_Offset) {
80 cancel(); 78 cancel();
81 DidSucceed(); // truncate completion 79 DidSucceed(); // truncate completion
82 DidSucceed(); // cancel completion 80 DidSucceed(); // cancel completion
83 } else if (offset == kCancelFailedTruncate_Offset) { 81 } else if (offset == kCancelFailedTruncate_Offset) {
84 cancel(); 82 cancel();
85 DidFail(base::PLATFORM_FILE_ERROR_NOT_FOUND); // truncate completion 83 DidFail(base::PLATFORM_FILE_ERROR_NOT_FOUND); // truncate completion
86 DidSucceed(); // cancel completion 84 DidSucceed(); // cancel completion
87 } else { 85 } else {
88 FAIL(); 86 FAIL();
89 } 87 }
90 } 88 }
91 89
92 virtual void DoWriteDeprecated(
93 const GURL& path, const GURL& blob_url,
94 int64 offset) OVERRIDE {
95 received_write_ = true;
96 received_write_path_ = path;
97 received_write_offset_ = offset;
98 received_write_blob_url_ = blob_url;
99
100 if (offset == kBasicFileWrite_Offset) {
101 DidWrite(1, true);
102 } else if (offset == kErrorFileWrite_Offset) {
103 DidFail(base::PLATFORM_FILE_ERROR_NOT_FOUND);
104 } else if (offset == kMultiFileWrite_Offset) {
105 DidWrite(1, false);
106 DidWrite(1, false);
107 DidWrite(1, true);
108 } else if (offset == kCancelFileWriteBeforeCompletion_Offset) {
109 DidWrite(1, false);
110 cancel();
111 DidWrite(1, false);
112 DidWrite(1, false);
113 DidFail(base::PLATFORM_FILE_ERROR_FAILED); // write completion
114 DidSucceed(); // cancel completion
115 } else if (offset == kCancelFileWriteAfterCompletion_Offset) {
116 DidWrite(1, false);
117 cancel();
118 DidWrite(1, false);
119 DidWrite(1, false);
120 DidWrite(1, true); // write completion
121 DidFail(base::PLATFORM_FILE_ERROR_FAILED); // cancel completion
122 } else {
123 FAIL();
124 }
125 }
126
127 virtual void DoWrite( 90 virtual void DoWrite(
128 const GURL& path, const std::string& blob_uuid, 91 const GURL& path, const std::string& blob_uuid,
129 int64 offset) OVERRIDE { 92 int64 offset) OVERRIDE {
130 received_write_ = true; 93 received_write_ = true;
131 received_write_path_ = path; 94 received_write_path_ = path;
132 received_write_offset_ = offset; 95 received_write_offset_ = offset;
133 received_write_blob_uuid_ = blob_uuid; 96 received_write_blob_uuid_ = blob_uuid;
134 97
135 if (offset == kBasicFileWrite_Offset) { 98 if (offset == kBasicFileWrite_Offset) {
136 DidWrite(1, true); 99 DidWrite(1, true);
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 int received_did_write_count_; 184 int received_did_write_count_;
222 long long received_did_write_bytes_total_; 185 long long received_did_write_bytes_total_;
223 bool received_did_write_complete_; 186 bool received_did_write_complete_;
224 bool received_did_truncate_; 187 bool received_did_truncate_;
225 bool received_did_fail_; 188 bool received_did_fail_;
226 WebKit::WebFileError fail_error_received_; 189 WebKit::WebFileError fail_error_received_;
227 190
228 DISALLOW_COPY_AND_ASSIGN(FileWriterTest); 191 DISALLOW_COPY_AND_ASSIGN(FileWriterTest);
229 }; 192 };
230 193
231
232 // TODO(michaeln): crbug/174200, update the tests once blink is migrated.
233
234 TEST_F(FileWriterTest, BasicFileWrite) { 194 TEST_F(FileWriterTest, BasicFileWrite) {
235 // Call the webkit facing api. 195 // Call the webkit facing api.
236 const GURL kBlobUrl("blob://bloburl/"); 196 const std::string kBlobId("1234");
237 writer()->write(kBasicFileWrite_Offset, kBlobUrl); 197 writer()->write(kBasicFileWrite_Offset,
198 WebKit::WebString::fromUTF8(kBlobId));
238 199
239 // Check that the derived class gets called correctly. 200 // Check that the derived class gets called correctly.
240 EXPECT_TRUE(testable_writer_->received_write_); 201 EXPECT_TRUE(testable_writer_->received_write_);
241 EXPECT_EQ(testable_writer_->received_write_path_, 202 EXPECT_EQ(testable_writer_->received_write_path_,
242 mock_path_as_gurl()); 203 mock_path_as_gurl());
243 EXPECT_EQ(kBasicFileWrite_Offset, 204 EXPECT_EQ(kBasicFileWrite_Offset,
244 testable_writer_->received_write_offset_); 205 testable_writer_->received_write_offset_);
245 EXPECT_EQ(kBlobUrl, testable_writer_->received_write_blob_url_); 206 EXPECT_EQ(kBlobId, testable_writer_->received_write_blob_uuid_);
246 EXPECT_FALSE(testable_writer_->received_truncate_); 207 EXPECT_FALSE(testable_writer_->received_truncate_);
247 EXPECT_FALSE(testable_writer_->received_cancel_); 208 EXPECT_FALSE(testable_writer_->received_cancel_);
248 209
249 // Check that the client gets called correctly. 210 // Check that the client gets called correctly.
250 EXPECT_EQ(1, received_did_write_count_); 211 EXPECT_EQ(1, received_did_write_count_);
251 EXPECT_TRUE(received_did_write_complete_); 212 EXPECT_TRUE(received_did_write_complete_);
252 EXPECT_EQ(1, received_did_write_bytes_total_); 213 EXPECT_EQ(1, received_did_write_bytes_total_);
253 EXPECT_FALSE(received_did_truncate_); 214 EXPECT_FALSE(received_did_truncate_);
254 EXPECT_FALSE(received_did_fail_); 215 EXPECT_FALSE(received_did_fail_);
255 } 216 }
(...skipping 12 matching lines...) Expand all
268 EXPECT_FALSE(testable_writer_->received_cancel_); 229 EXPECT_FALSE(testable_writer_->received_cancel_);
269 230
270 // Check that the client gets called correctly. 231 // Check that the client gets called correctly.
271 EXPECT_TRUE(received_did_truncate_); 232 EXPECT_TRUE(received_did_truncate_);
272 EXPECT_EQ(0, received_did_write_count_); 233 EXPECT_EQ(0, received_did_write_count_);
273 EXPECT_FALSE(received_did_fail_); 234 EXPECT_FALSE(received_did_fail_);
274 } 235 }
275 236
276 TEST_F(FileWriterTest, ErrorFileWrite) { 237 TEST_F(FileWriterTest, ErrorFileWrite) {
277 // Call the webkit facing api. 238 // Call the webkit facing api.
278 const GURL kBlobUrl("blob://bloburl/"); 239 const std::string kBlobId("1234");
279 writer()->write(kErrorFileWrite_Offset, kBlobUrl); 240 writer()->write(kErrorFileWrite_Offset,
241 WebKit::WebString::fromUTF8(kBlobId));
280 242
281 // Check that the derived class gets called correctly. 243 // Check that the derived class gets called correctly.
282 EXPECT_TRUE(testable_writer_->received_write_); 244 EXPECT_TRUE(testable_writer_->received_write_);
283 EXPECT_EQ(testable_writer_->received_write_path_, 245 EXPECT_EQ(testable_writer_->received_write_path_,
284 mock_path_as_gurl()); 246 mock_path_as_gurl());
285 EXPECT_EQ(kErrorFileWrite_Offset, 247 EXPECT_EQ(kErrorFileWrite_Offset,
286 testable_writer_->received_write_offset_); 248 testable_writer_->received_write_offset_);
287 EXPECT_EQ(kBlobUrl, testable_writer_->received_write_blob_url_); 249 EXPECT_EQ(kBlobId, testable_writer_->received_write_blob_uuid_);
288 EXPECT_FALSE(testable_writer_->received_truncate_); 250 EXPECT_FALSE(testable_writer_->received_truncate_);
289 EXPECT_FALSE(testable_writer_->received_cancel_); 251 EXPECT_FALSE(testable_writer_->received_cancel_);
290 252
291 // Check that the client gets called correctly. 253 // Check that the client gets called correctly.
292 EXPECT_TRUE(received_did_fail_); 254 EXPECT_TRUE(received_did_fail_);
293 EXPECT_EQ(WebKit::WebFileErrorNotFound, fail_error_received_); 255 EXPECT_EQ(WebKit::WebFileErrorNotFound, fail_error_received_);
294 EXPECT_EQ(0, received_did_write_count_); 256 EXPECT_EQ(0, received_did_write_count_);
295 EXPECT_FALSE(received_did_truncate_); 257 EXPECT_FALSE(received_did_truncate_);
296 } 258 }
297 259
(...skipping 12 matching lines...) Expand all
310 272
311 // Check that the client gets called correctly. 273 // Check that the client gets called correctly.
312 EXPECT_TRUE(received_did_fail_); 274 EXPECT_TRUE(received_did_fail_);
313 EXPECT_EQ(WebKit::WebFileErrorNotFound, fail_error_received_); 275 EXPECT_EQ(WebKit::WebFileErrorNotFound, fail_error_received_);
314 EXPECT_FALSE(received_did_truncate_); 276 EXPECT_FALSE(received_did_truncate_);
315 EXPECT_EQ(0, received_did_write_count_); 277 EXPECT_EQ(0, received_did_write_count_);
316 } 278 }
317 279
318 TEST_F(FileWriterTest, MultiFileWrite) { 280 TEST_F(FileWriterTest, MultiFileWrite) {
319 // Call the webkit facing api. 281 // Call the webkit facing api.
320 const GURL kBlobUrl("blob://bloburl/"); 282 const std::string kBlobId("1234");
321 writer()->write(kMultiFileWrite_Offset, kBlobUrl); 283 writer()->write(kMultiFileWrite_Offset,
284 WebKit::WebString::fromUTF8(kBlobId));
322 285
323 // Check that the derived class gets called correctly. 286 // Check that the derived class gets called correctly.
324 EXPECT_TRUE(testable_writer_->received_write_); 287 EXPECT_TRUE(testable_writer_->received_write_);
325 EXPECT_EQ(testable_writer_->received_write_path_, 288 EXPECT_EQ(testable_writer_->received_write_path_,
326 mock_path_as_gurl()); 289 mock_path_as_gurl());
327 EXPECT_EQ(kMultiFileWrite_Offset, 290 EXPECT_EQ(kMultiFileWrite_Offset,
328 testable_writer_->received_write_offset_); 291 testable_writer_->received_write_offset_);
329 EXPECT_EQ(kBlobUrl, testable_writer_->received_write_blob_url_); 292 EXPECT_EQ(kBlobId, testable_writer_->received_write_blob_uuid_);
330 EXPECT_FALSE(testable_writer_->received_truncate_); 293 EXPECT_FALSE(testable_writer_->received_truncate_);
331 EXPECT_FALSE(testable_writer_->received_cancel_); 294 EXPECT_FALSE(testable_writer_->received_cancel_);
332 295
333 // Check that the client gets called correctly. 296 // Check that the client gets called correctly.
334 EXPECT_EQ(3, received_did_write_count_); 297 EXPECT_EQ(3, received_did_write_count_);
335 EXPECT_TRUE(received_did_write_complete_); 298 EXPECT_TRUE(received_did_write_complete_);
336 EXPECT_EQ(3, received_did_write_bytes_total_); 299 EXPECT_EQ(3, received_did_write_bytes_total_);
337 EXPECT_FALSE(received_did_truncate_); 300 EXPECT_FALSE(received_did_truncate_);
338 EXPECT_FALSE(received_did_fail_); 301 EXPECT_FALSE(received_did_fail_);
339 } 302 }
340 303
341 TEST_F(FileWriterTest, CancelFileWriteBeforeCompletion) { 304 TEST_F(FileWriterTest, CancelFileWriteBeforeCompletion) {
342 // Call the webkit facing api. 305 // Call the webkit facing api.
343 const GURL kBlobUrl("blob://bloburl/"); 306 const std::string kBlobId("1234");
344 writer()->write(kCancelFileWriteBeforeCompletion_Offset, kBlobUrl); 307 writer()->write(kCancelFileWriteBeforeCompletion_Offset,
308 WebKit::WebString::fromUTF8(kBlobId));
345 309
346 // Check that the derived class gets called correctly. 310 // Check that the derived class gets called correctly.
347 EXPECT_TRUE(testable_writer_->received_write_); 311 EXPECT_TRUE(testable_writer_->received_write_);
348 EXPECT_EQ(testable_writer_->received_write_path_, 312 EXPECT_EQ(testable_writer_->received_write_path_,
349 mock_path_as_gurl()); 313 mock_path_as_gurl());
350 EXPECT_EQ(kCancelFileWriteBeforeCompletion_Offset, 314 EXPECT_EQ(kCancelFileWriteBeforeCompletion_Offset,
351 testable_writer_->received_write_offset_); 315 testable_writer_->received_write_offset_);
352 EXPECT_EQ(kBlobUrl, testable_writer_->received_write_blob_url_); 316 EXPECT_EQ(kBlobId, testable_writer_->received_write_blob_uuid_);
353 EXPECT_TRUE(testable_writer_->received_cancel_); 317 EXPECT_TRUE(testable_writer_->received_cancel_);
354 EXPECT_FALSE(testable_writer_->received_truncate_); 318 EXPECT_FALSE(testable_writer_->received_truncate_);
355 319
356 // Check that the client gets called correctly. 320 // Check that the client gets called correctly.
357 EXPECT_TRUE(received_did_fail_); 321 EXPECT_TRUE(received_did_fail_);
358 EXPECT_EQ(WebKit::WebFileErrorAbort, fail_error_received_); 322 EXPECT_EQ(WebKit::WebFileErrorAbort, fail_error_received_);
359 EXPECT_EQ(1, received_did_write_count_); 323 EXPECT_EQ(1, received_did_write_count_);
360 EXPECT_FALSE(received_did_write_complete_); 324 EXPECT_FALSE(received_did_write_complete_);
361 EXPECT_EQ(1, received_did_write_bytes_total_); 325 EXPECT_EQ(1, received_did_write_bytes_total_);
362 EXPECT_FALSE(received_did_truncate_); 326 EXPECT_FALSE(received_did_truncate_);
363 } 327 }
364 328
365 TEST_F(FileWriterTest, CancelFileWriteAfterCompletion) { 329 TEST_F(FileWriterTest, CancelFileWriteAfterCompletion) {
366 // Call the webkit facing api. 330 // Call the webkit facing api.
367 const GURL kBlobUrl("blob://bloburl/"); 331 const std::string kBlobId("1234");
368 writer()->write(kCancelFileWriteAfterCompletion_Offset, kBlobUrl); 332 writer()->write(kCancelFileWriteAfterCompletion_Offset,
333 WebKit::WebString::fromUTF8(kBlobId));
369 334
370 // Check that the derived class gets called correctly. 335 // Check that the derived class gets called correctly.
371 EXPECT_TRUE(testable_writer_->received_write_); 336 EXPECT_TRUE(testable_writer_->received_write_);
372 EXPECT_EQ(testable_writer_->received_write_path_, 337 EXPECT_EQ(testable_writer_->received_write_path_,
373 mock_path_as_gurl()); 338 mock_path_as_gurl());
374 EXPECT_EQ(kCancelFileWriteAfterCompletion_Offset, 339 EXPECT_EQ(kCancelFileWriteAfterCompletion_Offset,
375 testable_writer_->received_write_offset_); 340 testable_writer_->received_write_offset_);
376 EXPECT_EQ(kBlobUrl, testable_writer_->received_write_blob_url_); 341 EXPECT_EQ(kBlobId, testable_writer_->received_write_blob_uuid_);
377 EXPECT_TRUE(testable_writer_->received_cancel_); 342 EXPECT_TRUE(testable_writer_->received_cancel_);
378 EXPECT_FALSE(testable_writer_->received_truncate_); 343 EXPECT_FALSE(testable_writer_->received_truncate_);
379 344
380 // Check that the client gets called correctly. 345 // Check that the client gets called correctly.
381 EXPECT_TRUE(received_did_fail_); 346 EXPECT_TRUE(received_did_fail_);
382 EXPECT_EQ(WebKit::WebFileErrorAbort, fail_error_received_); 347 EXPECT_EQ(WebKit::WebFileErrorAbort, fail_error_received_);
383 EXPECT_EQ(1, received_did_write_count_); 348 EXPECT_EQ(1, received_did_write_count_);
384 EXPECT_FALSE(received_did_write_complete_); 349 EXPECT_FALSE(received_did_write_complete_);
385 EXPECT_EQ(1, received_did_write_bytes_total_); 350 EXPECT_EQ(1, received_did_write_bytes_total_);
386 EXPECT_FALSE(received_did_truncate_); 351 EXPECT_FALSE(received_did_truncate_);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 EXPECT_FALSE(testable_writer_->received_write_); 385 EXPECT_FALSE(testable_writer_->received_write_);
421 386
422 // Check that the client gets called correctly. 387 // Check that the client gets called correctly.
423 EXPECT_TRUE(received_did_fail_); 388 EXPECT_TRUE(received_did_fail_);
424 EXPECT_EQ(WebKit::WebFileErrorAbort, fail_error_received_); 389 EXPECT_EQ(WebKit::WebFileErrorAbort, fail_error_received_);
425 EXPECT_FALSE(received_did_truncate_); 390 EXPECT_FALSE(received_did_truncate_);
426 EXPECT_EQ(0, received_did_write_count_); 391 EXPECT_EQ(0, received_did_write_count_);
427 } 392 }
428 393
429 TEST_F(FileWriterTest, DeleteInCompletionCallbacks) { 394 TEST_F(FileWriterTest, DeleteInCompletionCallbacks) {
395 const std::string kBlobId("1234");
430 delete_in_client_callback_ = true; 396 delete_in_client_callback_ = true;
431 writer()->write(kBasicFileWrite_Offset, GURL("blob://bloburl/")); 397 writer()->write(kBasicFileWrite_Offset,
398 WebKit::WebString::fromUTF8(kBlobId));
432 EXPECT_FALSE(testable_writer_.get()); 399 EXPECT_FALSE(testable_writer_.get());
433 400
434 reset(); 401 reset();
435 delete_in_client_callback_ = true; 402 delete_in_client_callback_ = true;
436 writer()->truncate(kBasicFileTruncate_Offset); 403 writer()->truncate(kBasicFileTruncate_Offset);
437 EXPECT_FALSE(testable_writer_.get()); 404 EXPECT_FALSE(testable_writer_.get());
438 405
439 reset(); 406 reset();
440 delete_in_client_callback_ = true; 407 delete_in_client_callback_ = true;
441 writer()->write(kErrorFileWrite_Offset, GURL("blob://bloburl/")); 408 writer()->write(kErrorFileWrite_Offset,
409 WebKit::WebString::fromUTF8(kBlobId));
442 EXPECT_FALSE(testable_writer_.get()); 410 EXPECT_FALSE(testable_writer_.get());
443 411
444 reset(); 412 reset();
445 delete_in_client_callback_ = true; 413 delete_in_client_callback_ = true;
446 writer()->truncate(kErrorFileTruncate_Offset); 414 writer()->truncate(kErrorFileTruncate_Offset);
447 EXPECT_FALSE(testable_writer_.get()); 415 EXPECT_FALSE(testable_writer_.get());
448 416
449 // Not crashing counts as passing. 417 // Not crashing counts as passing.
450 } 418 }
451 419
452 } // namespace content 420 } // namespace content
OLDNEW
« no previous file with comments | « content/child/fileapi/webfilewriter_base.cc ('k') | content/child/fileapi/webfilewriter_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698