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

Side by Side Diff: content/browser/fileapi/file_writer_delegate_unittest.cc

Issue 1545243002: Convert Pass()→std::move() in //content/browser (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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 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 <stdint.h> 5 #include <stdint.h>
6
7 #include <limits> 6 #include <limits>
8 #include <string> 7 #include <string>
8 #include <utility>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/bind_helpers.h" 12 #include "base/bind_helpers.h"
13 #include "base/files/scoped_temp_dir.h" 13 #include "base/files/scoped_temp_dir.h"
14 #include "base/location.h" 14 #include "base/location.h"
15 #include "base/macros.h" 15 #include "base/macros.h"
16 #include "base/memory/weak_ptr.h" 16 #include "base/memory/weak_ptr.h"
17 #include "base/run_loop.h" 17 #include "base/run_loop.h"
18 #include "base/single_thread_task_runner.h" 18 #include "base/single_thread_task_runner.h"
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 } 277 }
278 278
279 TEST_F(FileWriterDelegateTest, WriteSuccessWithoutQuotaLimit) { 279 TEST_F(FileWriterDelegateTest, WriteSuccessWithoutQuotaLimit) {
280 const GURL kBlobURL("blob:nolimit"); 280 const GURL kBlobURL("blob:nolimit");
281 content_ = kData; 281 content_ = kData;
282 282
283 PrepareForWrite("test", kBlobURL, 0, std::numeric_limits<int64_t>::max()); 283 PrepareForWrite("test", kBlobURL, 0, std::numeric_limits<int64_t>::max());
284 284
285 Result result; 285 Result result;
286 ASSERT_EQ(0, usage()); 286 ASSERT_EQ(0, usage());
287 file_writer_delegate_->Start(request_.Pass(), GetWriteCallback(&result)); 287 file_writer_delegate_->Start(std::move(request_), GetWriteCallback(&result));
288 base::MessageLoop::current()->Run(); 288 base::MessageLoop::current()->Run();
289 289
290 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status()); 290 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status());
291 file_writer_delegate_.reset(); 291 file_writer_delegate_.reset();
292 292
293 ASSERT_EQ(kDataSize, usage()); 293 ASSERT_EQ(kDataSize, usage());
294 EXPECT_EQ(GetFileSizeOnDisk("test"), usage()); 294 EXPECT_EQ(GetFileSizeOnDisk("test"), usage());
295 EXPECT_EQ(kDataSize, result.bytes_written()); 295 EXPECT_EQ(kDataSize, result.bytes_written());
296 EXPECT_EQ(base::File::FILE_OK, result.status()); 296 EXPECT_EQ(base::File::FILE_OK, result.status());
297 } 297 }
298 298
299 TEST_F(FileWriterDelegateTest, WriteSuccessWithJustQuota) { 299 TEST_F(FileWriterDelegateTest, WriteSuccessWithJustQuota) {
300 const GURL kBlobURL("blob:just"); 300 const GURL kBlobURL("blob:just");
301 content_ = kData; 301 content_ = kData;
302 const int64_t kAllowedGrowth = kDataSize; 302 const int64_t kAllowedGrowth = kDataSize;
303 PrepareForWrite("test", kBlobURL, 0, kAllowedGrowth); 303 PrepareForWrite("test", kBlobURL, 0, kAllowedGrowth);
304 304
305 Result result; 305 Result result;
306 ASSERT_EQ(0, usage()); 306 ASSERT_EQ(0, usage());
307 file_writer_delegate_->Start(request_.Pass(), GetWriteCallback(&result)); 307 file_writer_delegate_->Start(std::move(request_), GetWriteCallback(&result));
308 base::MessageLoop::current()->Run(); 308 base::MessageLoop::current()->Run();
309 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status()); 309 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status());
310 file_writer_delegate_.reset(); 310 file_writer_delegate_.reset();
311 311
312 ASSERT_EQ(kAllowedGrowth, usage()); 312 ASSERT_EQ(kAllowedGrowth, usage());
313 EXPECT_EQ(GetFileSizeOnDisk("test"), usage()); 313 EXPECT_EQ(GetFileSizeOnDisk("test"), usage());
314 314
315 EXPECT_EQ(kAllowedGrowth, result.bytes_written()); 315 EXPECT_EQ(kAllowedGrowth, result.bytes_written());
316 EXPECT_EQ(base::File::FILE_OK, result.status()); 316 EXPECT_EQ(base::File::FILE_OK, result.status());
317 } 317 }
318 318
319 TEST_F(FileWriterDelegateTest, DISABLED_WriteFailureByQuota) { 319 TEST_F(FileWriterDelegateTest, DISABLED_WriteFailureByQuota) {
320 const GURL kBlobURL("blob:failure"); 320 const GURL kBlobURL("blob:failure");
321 content_ = kData; 321 content_ = kData;
322 const int64_t kAllowedGrowth = kDataSize - 1; 322 const int64_t kAllowedGrowth = kDataSize - 1;
323 PrepareForWrite("test", kBlobURL, 0, kAllowedGrowth); 323 PrepareForWrite("test", kBlobURL, 0, kAllowedGrowth);
324 324
325 Result result; 325 Result result;
326 ASSERT_EQ(0, usage()); 326 ASSERT_EQ(0, usage());
327 file_writer_delegate_->Start(request_.Pass(), GetWriteCallback(&result)); 327 file_writer_delegate_->Start(std::move(request_), GetWriteCallback(&result));
328 base::MessageLoop::current()->Run(); 328 base::MessageLoop::current()->Run();
329 ASSERT_EQ(FileWriterDelegate::ERROR_WRITE_STARTED, result.write_status()); 329 ASSERT_EQ(FileWriterDelegate::ERROR_WRITE_STARTED, result.write_status());
330 file_writer_delegate_.reset(); 330 file_writer_delegate_.reset();
331 331
332 ASSERT_EQ(kAllowedGrowth, usage()); 332 ASSERT_EQ(kAllowedGrowth, usage());
333 EXPECT_EQ(GetFileSizeOnDisk("test"), usage()); 333 EXPECT_EQ(GetFileSizeOnDisk("test"), usage());
334 334
335 EXPECT_EQ(kAllowedGrowth, result.bytes_written()); 335 EXPECT_EQ(kAllowedGrowth, result.bytes_written());
336 EXPECT_EQ(base::File::FILE_ERROR_NO_SPACE, result.status()); 336 EXPECT_EQ(base::File::FILE_ERROR_NO_SPACE, result.status());
337 ASSERT_EQ(FileWriterDelegate::ERROR_WRITE_STARTED, result.write_status()); 337 ASSERT_EQ(FileWriterDelegate::ERROR_WRITE_STARTED, result.write_status());
338 } 338 }
339 339
340 TEST_F(FileWriterDelegateTest, WriteZeroBytesSuccessfullyWithZeroQuota) { 340 TEST_F(FileWriterDelegateTest, WriteZeroBytesSuccessfullyWithZeroQuota) {
341 const GURL kBlobURL("blob:zero"); 341 const GURL kBlobURL("blob:zero");
342 content_ = ""; 342 content_ = "";
343 int64_t kAllowedGrowth = 0; 343 int64_t kAllowedGrowth = 0;
344 PrepareForWrite("test", kBlobURL, 0, kAllowedGrowth); 344 PrepareForWrite("test", kBlobURL, 0, kAllowedGrowth);
345 345
346 Result result; 346 Result result;
347 ASSERT_EQ(0, usage()); 347 ASSERT_EQ(0, usage());
348 file_writer_delegate_->Start(request_.Pass(), GetWriteCallback(&result)); 348 file_writer_delegate_->Start(std::move(request_), GetWriteCallback(&result));
349 base::MessageLoop::current()->Run(); 349 base::MessageLoop::current()->Run();
350 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status()); 350 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status());
351 file_writer_delegate_.reset(); 351 file_writer_delegate_.reset();
352 352
353 ASSERT_EQ(kAllowedGrowth, usage()); 353 ASSERT_EQ(kAllowedGrowth, usage());
354 EXPECT_EQ(GetFileSizeOnDisk("test"), usage()); 354 EXPECT_EQ(GetFileSizeOnDisk("test"), usage());
355 355
356 EXPECT_EQ(kAllowedGrowth, result.bytes_written()); 356 EXPECT_EQ(kAllowedGrowth, result.bytes_written());
357 EXPECT_EQ(base::File::FILE_OK, result.status()); 357 EXPECT_EQ(base::File::FILE_OK, result.status());
358 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status()); 358 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status());
(...skipping 14 matching lines...) Expand all
373 PrepareForWrite("test", kBlobURL, 0, std::numeric_limits<int64_t>::max()); 373 PrepareForWrite("test", kBlobURL, 0, std::numeric_limits<int64_t>::max());
374 374
375 // Credate another FileWriterDelegate for concurrent write. 375 // Credate another FileWriterDelegate for concurrent write.
376 file_writer_delegate2.reset( 376 file_writer_delegate2.reset(
377 CreateWriterDelegate("test2", 0, std::numeric_limits<int64_t>::max())); 377 CreateWriterDelegate("test2", 0, std::numeric_limits<int64_t>::max()));
378 request2 = empty_context_.CreateRequest( 378 request2 = empty_context_.CreateRequest(
379 kBlobURL2, net::DEFAULT_PRIORITY, file_writer_delegate2.get()); 379 kBlobURL2, net::DEFAULT_PRIORITY, file_writer_delegate2.get());
380 380
381 Result result, result2; 381 Result result, result2;
382 ASSERT_EQ(0, usage()); 382 ASSERT_EQ(0, usage());
383 file_writer_delegate_->Start(request_.Pass(), GetWriteCallback(&result)); 383 file_writer_delegate_->Start(std::move(request_), GetWriteCallback(&result));
384 file_writer_delegate2->Start(request2.Pass(), GetWriteCallback(&result2)); 384 file_writer_delegate2->Start(std::move(request2), GetWriteCallback(&result2));
385 base::MessageLoop::current()->Run(); 385 base::MessageLoop::current()->Run();
386 if (result.write_status() == FileWriterDelegate::SUCCESS_IO_PENDING || 386 if (result.write_status() == FileWriterDelegate::SUCCESS_IO_PENDING ||
387 result2.write_status() == FileWriterDelegate::SUCCESS_IO_PENDING) 387 result2.write_status() == FileWriterDelegate::SUCCESS_IO_PENDING)
388 base::MessageLoop::current()->Run(); 388 base::MessageLoop::current()->Run();
389 389
390 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status()); 390 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status());
391 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result2.write_status()); 391 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result2.write_status());
392 file_writer_delegate_.reset(); 392 file_writer_delegate_.reset();
393 file_writer_delegate2.reset(); 393 file_writer_delegate2.reset();
394 394
(...skipping 12 matching lines...) Expand all
407 407
408 // Writing kDataSize (=45) bytes data while allowed_growth is 100. 408 // Writing kDataSize (=45) bytes data while allowed_growth is 100.
409 int64_t offset = 0; 409 int64_t offset = 0;
410 int64_t allowed_growth = 100; 410 int64_t allowed_growth = 100;
411 ASSERT_LT(kDataSize, allowed_growth); 411 ASSERT_LT(kDataSize, allowed_growth);
412 PrepareForWrite("test", kBlobURL, offset, allowed_growth); 412 PrepareForWrite("test", kBlobURL, offset, allowed_growth);
413 413
414 { 414 {
415 Result result; 415 Result result;
416 ASSERT_EQ(0, usage()); 416 ASSERT_EQ(0, usage());
417 file_writer_delegate_->Start(request_.Pass(), GetWriteCallback(&result)); 417 file_writer_delegate_->Start(std::move(request_),
418 GetWriteCallback(&result));
418 base::MessageLoop::current()->Run(); 419 base::MessageLoop::current()->Run();
419 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status()); 420 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status());
420 file_writer_delegate_.reset(); 421 file_writer_delegate_.reset();
421 422
422 ASSERT_EQ(kDataSize, usage()); 423 ASSERT_EQ(kDataSize, usage());
423 EXPECT_EQ(GetFileSizeOnDisk("test"), usage()); 424 EXPECT_EQ(GetFileSizeOnDisk("test"), usage());
424 EXPECT_EQ(kDataSize, result.bytes_written()); 425 EXPECT_EQ(kDataSize, result.bytes_written());
425 EXPECT_EQ(base::File::FILE_OK, result.status()); 426 EXPECT_EQ(base::File::FILE_OK, result.status());
426 } 427 }
427 428
428 // Trying to overwrite kDataSize bytes data while allowed_growth is 20. 429 // Trying to overwrite kDataSize bytes data while allowed_growth is 20.
429 offset = 0; 430 offset = 0;
430 allowed_growth = 20; 431 allowed_growth = 20;
431 PrepareForWrite("test", kBlobURL, offset, allowed_growth); 432 PrepareForWrite("test", kBlobURL, offset, allowed_growth);
432 433
433 { 434 {
434 Result result; 435 Result result;
435 file_writer_delegate_->Start(request_.Pass(), GetWriteCallback(&result)); 436 file_writer_delegate_->Start(std::move(request_),
437 GetWriteCallback(&result));
436 base::MessageLoop::current()->Run(); 438 base::MessageLoop::current()->Run();
437 EXPECT_EQ(kDataSize, usage()); 439 EXPECT_EQ(kDataSize, usage());
438 EXPECT_EQ(GetFileSizeOnDisk("test"), usage()); 440 EXPECT_EQ(GetFileSizeOnDisk("test"), usage());
439 EXPECT_EQ(kDataSize, result.bytes_written()); 441 EXPECT_EQ(kDataSize, result.bytes_written());
440 EXPECT_EQ(base::File::FILE_OK, result.status()); 442 EXPECT_EQ(base::File::FILE_OK, result.status());
441 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status()); 443 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status());
442 } 444 }
443 445
444 // Trying to write kDataSize bytes data from offset 25 while 446 // Trying to write kDataSize bytes data from offset 25 while
445 // allowed_growth is 55. 447 // allowed_growth is 55.
446 offset = 25; 448 offset = 25;
447 allowed_growth = 55; 449 allowed_growth = 55;
448 PrepareForWrite("test", kBlobURL, offset, allowed_growth); 450 PrepareForWrite("test", kBlobURL, offset, allowed_growth);
449 451
450 { 452 {
451 Result result; 453 Result result;
452 file_writer_delegate_->Start(request_.Pass(), GetWriteCallback(&result)); 454 file_writer_delegate_->Start(std::move(request_),
455 GetWriteCallback(&result));
453 base::MessageLoop::current()->Run(); 456 base::MessageLoop::current()->Run();
454 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status()); 457 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status());
455 file_writer_delegate_.reset(); 458 file_writer_delegate_.reset();
456 459
457 EXPECT_EQ(offset + kDataSize, usage()); 460 EXPECT_EQ(offset + kDataSize, usage());
458 EXPECT_EQ(GetFileSizeOnDisk("test"), usage()); 461 EXPECT_EQ(GetFileSizeOnDisk("test"), usage());
459 EXPECT_EQ(kDataSize, result.bytes_written()); 462 EXPECT_EQ(kDataSize, result.bytes_written());
460 EXPECT_EQ(base::File::FILE_OK, result.status()); 463 EXPECT_EQ(base::File::FILE_OK, result.status());
461 } 464 }
462 465
463 // Trying to overwrite 45 bytes data while allowed_growth is -20. 466 // Trying to overwrite 45 bytes data while allowed_growth is -20.
464 offset = 0; 467 offset = 0;
465 allowed_growth = -20; 468 allowed_growth = -20;
466 PrepareForWrite("test", kBlobURL, offset, allowed_growth); 469 PrepareForWrite("test", kBlobURL, offset, allowed_growth);
467 int64_t pre_write_usage = GetFileSizeOnDisk("test"); 470 int64_t pre_write_usage = GetFileSizeOnDisk("test");
468 471
469 { 472 {
470 Result result; 473 Result result;
471 file_writer_delegate_->Start(request_.Pass(), GetWriteCallback(&result)); 474 file_writer_delegate_->Start(std::move(request_),
475 GetWriteCallback(&result));
472 base::MessageLoop::current()->Run(); 476 base::MessageLoop::current()->Run();
473 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status()); 477 ASSERT_EQ(FileWriterDelegate::SUCCESS_COMPLETED, result.write_status());
474 file_writer_delegate_.reset(); 478 file_writer_delegate_.reset();
475 479
476 EXPECT_EQ(pre_write_usage, usage()); 480 EXPECT_EQ(pre_write_usage, usage());
477 EXPECT_EQ(GetFileSizeOnDisk("test"), usage()); 481 EXPECT_EQ(GetFileSizeOnDisk("test"), usage());
478 EXPECT_EQ(kDataSize, result.bytes_written()); 482 EXPECT_EQ(kDataSize, result.bytes_written());
479 EXPECT_EQ(base::File::FILE_OK, result.status()); 483 EXPECT_EQ(base::File::FILE_OK, result.status());
480 } 484 }
481 485
482 // Trying to overwrite 45 bytes data with offset pre_write_usage - 20, 486 // Trying to overwrite 45 bytes data with offset pre_write_usage - 20,
483 // while allowed_growth is 10. 487 // while allowed_growth is 10.
484 const int kOverlap = 20; 488 const int kOverlap = 20;
485 offset = pre_write_usage - kOverlap; 489 offset = pre_write_usage - kOverlap;
486 allowed_growth = 10; 490 allowed_growth = 10;
487 PrepareForWrite("test", kBlobURL, offset, allowed_growth); 491 PrepareForWrite("test", kBlobURL, offset, allowed_growth);
488 492
489 { 493 {
490 Result result; 494 Result result;
491 file_writer_delegate_->Start(request_.Pass(), GetWriteCallback(&result)); 495 file_writer_delegate_->Start(std::move(request_),
496 GetWriteCallback(&result));
492 base::MessageLoop::current()->Run(); 497 base::MessageLoop::current()->Run();
493 ASSERT_EQ(FileWriterDelegate::ERROR_WRITE_STARTED, result.write_status()); 498 ASSERT_EQ(FileWriterDelegate::ERROR_WRITE_STARTED, result.write_status());
494 file_writer_delegate_.reset(); 499 file_writer_delegate_.reset();
495 500
496 EXPECT_EQ(pre_write_usage + allowed_growth, usage()); 501 EXPECT_EQ(pre_write_usage + allowed_growth, usage());
497 EXPECT_EQ(GetFileSizeOnDisk("test"), usage()); 502 EXPECT_EQ(GetFileSizeOnDisk("test"), usage());
498 EXPECT_EQ(kOverlap + allowed_growth, result.bytes_written()); 503 EXPECT_EQ(kOverlap + allowed_growth, result.bytes_written());
499 EXPECT_EQ(base::File::FILE_ERROR_NO_SPACE, result.status()); 504 EXPECT_EQ(base::File::FILE_ERROR_NO_SPACE, result.status());
500 } 505 }
501 } 506 }
502 507
503 } // namespace content 508 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/fileapi/file_system_url_request_job_unittest.cc ('k') | content/browser/fileapi/fileapi_message_filter.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698