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

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

Issue 1549113002: Switch to standard integer types in content/browser/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 12 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 <stddef.h>
6 #include <stdint.h>
7
5 #include <map> 8 #include <map>
6 #include <queue> 9 #include <queue>
7 10
8 #include "base/basictypes.h"
9 #include "base/bind.h" 11 #include "base/bind.h"
10 #include "base/files/file_util.h" 12 #include "base/files/file_util.h"
11 #include "base/files/scoped_temp_dir.h" 13 #include "base/files/scoped_temp_dir.h"
12 #include "base/location.h" 14 #include "base/location.h"
15 #include "base/macros.h"
13 #include "base/run_loop.h" 16 #include "base/run_loop.h"
14 #include "base/single_thread_task_runner.h" 17 #include "base/single_thread_task_runner.h"
15 #include "base/stl_util.h" 18 #include "base/stl_util.h"
16 #include "base/thread_task_runner_handle.h" 19 #include "base/thread_task_runner_handle.h"
17 #include "content/browser/quota/mock_quota_manager.h" 20 #include "content/browser/quota/mock_quota_manager.h"
18 #include "content/browser/quota/mock_quota_manager_proxy.h" 21 #include "content/browser/quota/mock_quota_manager_proxy.h"
19 #include "content/public/test/async_file_test_helper.h" 22 #include "content/public/test/async_file_test_helper.h"
20 #include "content/public/test/test_file_system_backend.h" 23 #include "content/public/test/test_file_system_backend.h"
21 #include "content/public/test/test_file_system_context.h" 24 #include "content/public/test/test_file_system_context.h"
22 #include "content/test/fileapi_test_file_set.h" 25 #include "content/test/fileapi_test_file_set.h"
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
105 108
106 DISALLOW_COPY_AND_ASSIGN(TestValidator); 109 DISALLOW_COPY_AND_ASSIGN(TestValidator);
107 }; 110 };
108 }; 111 };
109 112
110 // Records CopyProgressCallback invocations. 113 // Records CopyProgressCallback invocations.
111 struct ProgressRecord { 114 struct ProgressRecord {
112 storage::FileSystemOperation::CopyProgressType type; 115 storage::FileSystemOperation::CopyProgressType type;
113 FileSystemURL source_url; 116 FileSystemURL source_url;
114 FileSystemURL dest_url; 117 FileSystemURL dest_url;
115 int64 size; 118 int64_t size;
116 }; 119 };
117 120
118 void RecordProgressCallback(std::vector<ProgressRecord>* records, 121 void RecordProgressCallback(std::vector<ProgressRecord>* records,
119 storage::FileSystemOperation::CopyProgressType type, 122 storage::FileSystemOperation::CopyProgressType type,
120 const FileSystemURL& source_url, 123 const FileSystemURL& source_url,
121 const FileSystemURL& dest_url, 124 const FileSystemURL& dest_url,
122 int64 size) { 125 int64_t size) {
123 ProgressRecord record; 126 ProgressRecord record;
124 record.type = type; 127 record.type = type;
125 record.source_url = source_url; 128 record.source_url = source_url;
126 record.dest_url = dest_url; 129 record.dest_url = dest_url;
127 record.size = size; 130 record.size = size;
128 records->push_back(record); 131 records->push_back(record);
129 } 132 }
130 133
131 void RecordFileProgressCallback(std::vector<int64>* records, 134 void RecordFileProgressCallback(std::vector<int64_t>* records,
132 int64 progress) { 135 int64_t progress) {
133 records->push_back(progress); 136 records->push_back(progress);
134 } 137 }
135 138
136 void AssignAndQuit(base::RunLoop* run_loop, 139 void AssignAndQuit(base::RunLoop* run_loop,
137 base::File::Error* result_out, 140 base::File::Error* result_out,
138 base::File::Error result) { 141 base::File::Error result) {
139 *result_out = result; 142 *result_out = result;
140 run_loop->Quit(); 143 run_loop->Quit();
141 } 144 }
142 145
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 quota_manager_->SetQuota( 233 quota_manager_->SetQuota(
231 origin_, 234 origin_,
232 storage::FileSystemTypeToQuotaStorageType(src_type_), 235 storage::FileSystemTypeToQuotaStorageType(src_type_),
233 1024 * 1024); 236 1024 * 1024);
234 quota_manager_->SetQuota( 237 quota_manager_->SetQuota(
235 origin_, 238 origin_,
236 storage::FileSystemTypeToQuotaStorageType(dest_type_), 239 storage::FileSystemTypeToQuotaStorageType(dest_type_),
237 1024 * 1024); 240 1024 * 1024);
238 } 241 }
239 242
240 int64 GetSourceUsage() { 243 int64_t GetSourceUsage() {
241 int64 usage = 0; 244 int64_t usage = 0;
242 GetUsageAndQuota(src_type_, &usage, NULL); 245 GetUsageAndQuota(src_type_, &usage, NULL);
243 return usage; 246 return usage;
244 } 247 }
245 248
246 int64 GetDestUsage() { 249 int64_t GetDestUsage() {
247 int64 usage = 0; 250 int64_t usage = 0;
248 GetUsageAndQuota(dest_type_, &usage, NULL); 251 GetUsageAndQuota(dest_type_, &usage, NULL);
249 return usage; 252 return usage;
250 } 253 }
251 254
252 FileSystemURL SourceURL(const std::string& path) { 255 FileSystemURL SourceURL(const std::string& path) {
253 return file_system_context_->CreateCrackedFileSystemURL( 256 return file_system_context_->CreateCrackedFileSystemURL(
254 origin_, src_type_, base::FilePath::FromUTF8Unsafe(path)); 257 origin_, src_type_, base::FilePath::FromUTF8Unsafe(path));
255 } 258 }
256 259
257 FileSystemURL DestURL(const std::string& path) { 260 FileSystemURL DestURL(const std::string& path) {
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 360
358 base::File::Error CreateFile(const FileSystemURL& url, size_t size) { 361 base::File::Error CreateFile(const FileSystemURL& url, size_t size) {
359 base::File::Error result = 362 base::File::Error result =
360 AsyncFileTestHelper::CreateFile(file_system_context_.get(), url); 363 AsyncFileTestHelper::CreateFile(file_system_context_.get(), url);
361 if (result != base::File::FILE_OK) 364 if (result != base::File::FILE_OK)
362 return result; 365 return result;
363 return AsyncFileTestHelper::TruncateFile( 366 return AsyncFileTestHelper::TruncateFile(
364 file_system_context_.get(), url, size); 367 file_system_context_.get(), url, size);
365 } 368 }
366 369
367 bool FileExists(const FileSystemURL& url, int64 expected_size) { 370 bool FileExists(const FileSystemURL& url, int64_t expected_size) {
368 return AsyncFileTestHelper::FileExists( 371 return AsyncFileTestHelper::FileExists(
369 file_system_context_.get(), url, expected_size); 372 file_system_context_.get(), url, expected_size);
370 } 373 }
371 374
372 bool DirectoryExists(const FileSystemURL& url) { 375 bool DirectoryExists(const FileSystemURL& url) {
373 return AsyncFileTestHelper::DirectoryExists(file_system_context_.get(), 376 return AsyncFileTestHelper::DirectoryExists(file_system_context_.get(),
374 url); 377 url);
375 } 378 }
376 379
377 private: 380 private:
378 void GetUsageAndQuota(storage::FileSystemType type, 381 void GetUsageAndQuota(storage::FileSystemType type,
379 int64* usage, 382 int64_t* usage,
380 int64* quota) { 383 int64_t* quota) {
381 storage::QuotaStatusCode status = AsyncFileTestHelper::GetUsageAndQuota( 384 storage::QuotaStatusCode status = AsyncFileTestHelper::GetUsageAndQuota(
382 quota_manager_.get(), origin_, type, usage, quota); 385 quota_manager_.get(), origin_, type, usage, quota);
383 ASSERT_EQ(storage::kQuotaStatusOk, status); 386 ASSERT_EQ(storage::kQuotaStatusOk, status);
384 } 387 }
385 388
386 private: 389 private:
387 base::ScopedTempDir base_; 390 base::ScopedTempDir base_;
388 391
389 const GURL origin_; 392 const GURL origin_;
390 const storage::FileSystemType src_type_; 393 const storage::FileSystemType src_type_;
391 const storage::FileSystemType dest_type_; 394 const storage::FileSystemType dest_type_;
392 395
393 base::MessageLoopForIO message_loop_; 396 base::MessageLoopForIO message_loop_;
394 scoped_refptr<storage::FileSystemContext> file_system_context_; 397 scoped_refptr<storage::FileSystemContext> file_system_context_;
395 scoped_refptr<MockQuotaManagerProxy> quota_manager_proxy_; 398 scoped_refptr<MockQuotaManagerProxy> quota_manager_proxy_;
396 scoped_refptr<MockQuotaManager> quota_manager_; 399 scoped_refptr<MockQuotaManager> quota_manager_;
397 400
398 DISALLOW_COPY_AND_ASSIGN(CopyOrMoveOperationTestHelper); 401 DISALLOW_COPY_AND_ASSIGN(CopyOrMoveOperationTestHelper);
399 }; 402 };
400 403
401 TEST(LocalFileSystemCopyOrMoveOperationTest, CopySingleFile) { 404 TEST(LocalFileSystemCopyOrMoveOperationTest, CopySingleFile) {
402 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), 405 CopyOrMoveOperationTestHelper helper(GURL("http://foo"),
403 storage::kFileSystemTypeTemporary, 406 storage::kFileSystemTypeTemporary,
404 storage::kFileSystemTypePersistent); 407 storage::kFileSystemTypePersistent);
405 helper.SetUp(); 408 helper.SetUp();
406 409
407 FileSystemURL src = helper.SourceURL("a"); 410 FileSystemURL src = helper.SourceURL("a");
408 FileSystemURL dest = helper.DestURL("b"); 411 FileSystemURL dest = helper.DestURL("b");
409 int64 src_initial_usage = helper.GetSourceUsage(); 412 int64_t src_initial_usage = helper.GetSourceUsage();
410 int64 dest_initial_usage = helper.GetDestUsage(); 413 int64_t dest_initial_usage = helper.GetDestUsage();
411 414
412 // Set up a source file. 415 // Set up a source file.
413 ASSERT_EQ(base::File::FILE_OK, helper.CreateFile(src, 10)); 416 ASSERT_EQ(base::File::FILE_OK, helper.CreateFile(src, 10));
414 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; 417 int64_t src_increase = helper.GetSourceUsage() - src_initial_usage;
415 418
416 // Copy it. 419 // Copy it.
417 ASSERT_EQ(base::File::FILE_OK, helper.Copy(src, dest)); 420 ASSERT_EQ(base::File::FILE_OK, helper.Copy(src, dest));
418 421
419 // Verify. 422 // Verify.
420 ASSERT_TRUE(helper.FileExists(src, 10)); 423 ASSERT_TRUE(helper.FileExists(src, 10));
421 ASSERT_TRUE(helper.FileExists(dest, 10)); 424 ASSERT_TRUE(helper.FileExists(dest, 10));
422 425
423 int64 src_new_usage = helper.GetSourceUsage(); 426 int64_t src_new_usage = helper.GetSourceUsage();
424 ASSERT_EQ(src_initial_usage + src_increase, src_new_usage); 427 ASSERT_EQ(src_initial_usage + src_increase, src_new_usage);
425 428
426 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; 429 int64_t dest_increase = helper.GetDestUsage() - dest_initial_usage;
427 ASSERT_EQ(src_increase, dest_increase); 430 ASSERT_EQ(src_increase, dest_increase);
428 } 431 }
429 432
430 TEST(LocalFileSystemCopyOrMoveOperationTest, MoveSingleFile) { 433 TEST(LocalFileSystemCopyOrMoveOperationTest, MoveSingleFile) {
431 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), 434 CopyOrMoveOperationTestHelper helper(GURL("http://foo"),
432 storage::kFileSystemTypeTemporary, 435 storage::kFileSystemTypeTemporary,
433 storage::kFileSystemTypePersistent); 436 storage::kFileSystemTypePersistent);
434 helper.SetUp(); 437 helper.SetUp();
435 438
436 FileSystemURL src = helper.SourceURL("a"); 439 FileSystemURL src = helper.SourceURL("a");
437 FileSystemURL dest = helper.DestURL("b"); 440 FileSystemURL dest = helper.DestURL("b");
438 int64 src_initial_usage = helper.GetSourceUsage(); 441 int64_t src_initial_usage = helper.GetSourceUsage();
439 int64 dest_initial_usage = helper.GetDestUsage(); 442 int64_t dest_initial_usage = helper.GetDestUsage();
440 443
441 // Set up a source file. 444 // Set up a source file.
442 ASSERT_EQ(base::File::FILE_OK, helper.CreateFile(src, 10)); 445 ASSERT_EQ(base::File::FILE_OK, helper.CreateFile(src, 10));
443 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; 446 int64_t src_increase = helper.GetSourceUsage() - src_initial_usage;
444 447
445 // Move it. 448 // Move it.
446 ASSERT_EQ(base::File::FILE_OK, helper.Move(src, dest)); 449 ASSERT_EQ(base::File::FILE_OK, helper.Move(src, dest));
447 450
448 // Verify. 451 // Verify.
449 ASSERT_FALSE(helper.FileExists(src, AsyncFileTestHelper::kDontCheckSize)); 452 ASSERT_FALSE(helper.FileExists(src, AsyncFileTestHelper::kDontCheckSize));
450 ASSERT_TRUE(helper.FileExists(dest, 10)); 453 ASSERT_TRUE(helper.FileExists(dest, 10));
451 454
452 int64 src_new_usage = helper.GetSourceUsage(); 455 int64_t src_new_usage = helper.GetSourceUsage();
453 ASSERT_EQ(src_initial_usage, src_new_usage); 456 ASSERT_EQ(src_initial_usage, src_new_usage);
454 457
455 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; 458 int64_t dest_increase = helper.GetDestUsage() - dest_initial_usage;
456 ASSERT_EQ(src_increase, dest_increase); 459 ASSERT_EQ(src_increase, dest_increase);
457 } 460 }
458 461
459 TEST(LocalFileSystemCopyOrMoveOperationTest, CopySingleDirectory) { 462 TEST(LocalFileSystemCopyOrMoveOperationTest, CopySingleDirectory) {
460 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), 463 CopyOrMoveOperationTestHelper helper(GURL("http://foo"),
461 storage::kFileSystemTypeTemporary, 464 storage::kFileSystemTypeTemporary,
462 storage::kFileSystemTypePersistent); 465 storage::kFileSystemTypePersistent);
463 helper.SetUp(); 466 helper.SetUp();
464 467
465 FileSystemURL src = helper.SourceURL("a"); 468 FileSystemURL src = helper.SourceURL("a");
466 FileSystemURL dest = helper.DestURL("b"); 469 FileSystemURL dest = helper.DestURL("b");
467 int64 src_initial_usage = helper.GetSourceUsage(); 470 int64_t src_initial_usage = helper.GetSourceUsage();
468 int64 dest_initial_usage = helper.GetDestUsage(); 471 int64_t dest_initial_usage = helper.GetDestUsage();
469 472
470 // Set up a source directory. 473 // Set up a source directory.
471 ASSERT_EQ(base::File::FILE_OK, helper.CreateDirectory(src)); 474 ASSERT_EQ(base::File::FILE_OK, helper.CreateDirectory(src));
472 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; 475 int64_t src_increase = helper.GetSourceUsage() - src_initial_usage;
473 476
474 // Copy it. 477 // Copy it.
475 ASSERT_EQ(base::File::FILE_OK, helper.Copy(src, dest)); 478 ASSERT_EQ(base::File::FILE_OK, helper.Copy(src, dest));
476 479
477 // Verify. 480 // Verify.
478 ASSERT_TRUE(helper.DirectoryExists(src)); 481 ASSERT_TRUE(helper.DirectoryExists(src));
479 ASSERT_TRUE(helper.DirectoryExists(dest)); 482 ASSERT_TRUE(helper.DirectoryExists(dest));
480 483
481 int64 src_new_usage = helper.GetSourceUsage(); 484 int64_t src_new_usage = helper.GetSourceUsage();
482 ASSERT_EQ(src_initial_usage + src_increase, src_new_usage); 485 ASSERT_EQ(src_initial_usage + src_increase, src_new_usage);
483 486
484 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; 487 int64_t dest_increase = helper.GetDestUsage() - dest_initial_usage;
485 ASSERT_EQ(src_increase, dest_increase); 488 ASSERT_EQ(src_increase, dest_increase);
486 } 489 }
487 490
488 TEST(LocalFileSystemCopyOrMoveOperationTest, MoveSingleDirectory) { 491 TEST(LocalFileSystemCopyOrMoveOperationTest, MoveSingleDirectory) {
489 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), 492 CopyOrMoveOperationTestHelper helper(GURL("http://foo"),
490 storage::kFileSystemTypeTemporary, 493 storage::kFileSystemTypeTemporary,
491 storage::kFileSystemTypePersistent); 494 storage::kFileSystemTypePersistent);
492 helper.SetUp(); 495 helper.SetUp();
493 496
494 FileSystemURL src = helper.SourceURL("a"); 497 FileSystemURL src = helper.SourceURL("a");
495 FileSystemURL dest = helper.DestURL("b"); 498 FileSystemURL dest = helper.DestURL("b");
496 int64 src_initial_usage = helper.GetSourceUsage(); 499 int64_t src_initial_usage = helper.GetSourceUsage();
497 int64 dest_initial_usage = helper.GetDestUsage(); 500 int64_t dest_initial_usage = helper.GetDestUsage();
498 501
499 // Set up a source directory. 502 // Set up a source directory.
500 ASSERT_EQ(base::File::FILE_OK, helper.CreateDirectory(src)); 503 ASSERT_EQ(base::File::FILE_OK, helper.CreateDirectory(src));
501 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; 504 int64_t src_increase = helper.GetSourceUsage() - src_initial_usage;
502 505
503 // Move it. 506 // Move it.
504 ASSERT_EQ(base::File::FILE_OK, helper.Move(src, dest)); 507 ASSERT_EQ(base::File::FILE_OK, helper.Move(src, dest));
505 508
506 // Verify. 509 // Verify.
507 ASSERT_FALSE(helper.DirectoryExists(src)); 510 ASSERT_FALSE(helper.DirectoryExists(src));
508 ASSERT_TRUE(helper.DirectoryExists(dest)); 511 ASSERT_TRUE(helper.DirectoryExists(dest));
509 512
510 int64 src_new_usage = helper.GetSourceUsage(); 513 int64_t src_new_usage = helper.GetSourceUsage();
511 ASSERT_EQ(src_initial_usage, src_new_usage); 514 ASSERT_EQ(src_initial_usage, src_new_usage);
512 515
513 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; 516 int64_t dest_increase = helper.GetDestUsage() - dest_initial_usage;
514 ASSERT_EQ(src_increase, dest_increase); 517 ASSERT_EQ(src_increase, dest_increase);
515 } 518 }
516 519
517 TEST(LocalFileSystemCopyOrMoveOperationTest, CopyDirectory) { 520 TEST(LocalFileSystemCopyOrMoveOperationTest, CopyDirectory) {
518 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), 521 CopyOrMoveOperationTestHelper helper(GURL("http://foo"),
519 storage::kFileSystemTypeTemporary, 522 storage::kFileSystemTypeTemporary,
520 storage::kFileSystemTypePersistent); 523 storage::kFileSystemTypePersistent);
521 helper.SetUp(); 524 helper.SetUp();
522 525
523 FileSystemURL src = helper.SourceURL("a"); 526 FileSystemURL src = helper.SourceURL("a");
524 FileSystemURL dest = helper.DestURL("b"); 527 FileSystemURL dest = helper.DestURL("b");
525 int64 src_initial_usage = helper.GetSourceUsage(); 528 int64_t src_initial_usage = helper.GetSourceUsage();
526 int64 dest_initial_usage = helper.GetDestUsage(); 529 int64_t dest_initial_usage = helper.GetDestUsage();
527 530
528 // Set up a source directory. 531 // Set up a source directory.
529 ASSERT_EQ(base::File::FILE_OK, helper.CreateDirectory(src)); 532 ASSERT_EQ(base::File::FILE_OK, helper.CreateDirectory(src));
530 ASSERT_EQ(base::File::FILE_OK, 533 ASSERT_EQ(base::File::FILE_OK,
531 helper.SetUpTestCaseFiles(src, 534 helper.SetUpTestCaseFiles(src,
532 kRegularFileSystemTestCases, 535 kRegularFileSystemTestCases,
533 kRegularFileSystemTestCaseSize)); 536 kRegularFileSystemTestCaseSize));
534 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; 537 int64_t src_increase = helper.GetSourceUsage() - src_initial_usage;
535 538
536 // Copy it. 539 // Copy it.
537 ASSERT_EQ(base::File::FILE_OK, 540 ASSERT_EQ(base::File::FILE_OK,
538 helper.CopyWithProgress( 541 helper.CopyWithProgress(
539 src, dest, 542 src, dest,
540 AsyncFileTestHelper::CopyProgressCallback())); 543 AsyncFileTestHelper::CopyProgressCallback()));
541 544
542 // Verify. 545 // Verify.
543 ASSERT_TRUE(helper.DirectoryExists(src)); 546 ASSERT_TRUE(helper.DirectoryExists(src));
544 ASSERT_TRUE(helper.DirectoryExists(dest)); 547 ASSERT_TRUE(helper.DirectoryExists(dest));
545 548
546 helper.VerifyTestCaseFiles(dest, 549 helper.VerifyTestCaseFiles(dest,
547 kRegularFileSystemTestCases, 550 kRegularFileSystemTestCases,
548 kRegularFileSystemTestCaseSize); 551 kRegularFileSystemTestCaseSize);
549 552
550 int64 src_new_usage = helper.GetSourceUsage(); 553 int64_t src_new_usage = helper.GetSourceUsage();
551 ASSERT_EQ(src_initial_usage + src_increase, src_new_usage); 554 ASSERT_EQ(src_initial_usage + src_increase, src_new_usage);
552 555
553 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; 556 int64_t dest_increase = helper.GetDestUsage() - dest_initial_usage;
554 ASSERT_EQ(src_increase, dest_increase); 557 ASSERT_EQ(src_increase, dest_increase);
555 } 558 }
556 559
557 TEST(LocalFileSystemCopyOrMoveOperationTest, MoveDirectory) { 560 TEST(LocalFileSystemCopyOrMoveOperationTest, MoveDirectory) {
558 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), 561 CopyOrMoveOperationTestHelper helper(GURL("http://foo"),
559 storage::kFileSystemTypeTemporary, 562 storage::kFileSystemTypeTemporary,
560 storage::kFileSystemTypePersistent); 563 storage::kFileSystemTypePersistent);
561 helper.SetUp(); 564 helper.SetUp();
562 565
563 FileSystemURL src = helper.SourceURL("a"); 566 FileSystemURL src = helper.SourceURL("a");
564 FileSystemURL dest = helper.DestURL("b"); 567 FileSystemURL dest = helper.DestURL("b");
565 int64 src_initial_usage = helper.GetSourceUsage(); 568 int64_t src_initial_usage = helper.GetSourceUsage();
566 int64 dest_initial_usage = helper.GetDestUsage(); 569 int64_t dest_initial_usage = helper.GetDestUsage();
567 570
568 // Set up a source directory. 571 // Set up a source directory.
569 ASSERT_EQ(base::File::FILE_OK, helper.CreateDirectory(src)); 572 ASSERT_EQ(base::File::FILE_OK, helper.CreateDirectory(src));
570 ASSERT_EQ(base::File::FILE_OK, 573 ASSERT_EQ(base::File::FILE_OK,
571 helper.SetUpTestCaseFiles(src, 574 helper.SetUpTestCaseFiles(src,
572 kRegularFileSystemTestCases, 575 kRegularFileSystemTestCases,
573 kRegularFileSystemTestCaseSize)); 576 kRegularFileSystemTestCaseSize));
574 int64 src_increase = helper.GetSourceUsage() - src_initial_usage; 577 int64_t src_increase = helper.GetSourceUsage() - src_initial_usage;
575 578
576 // Move it. 579 // Move it.
577 ASSERT_EQ(base::File::FILE_OK, helper.Move(src, dest)); 580 ASSERT_EQ(base::File::FILE_OK, helper.Move(src, dest));
578 581
579 // Verify. 582 // Verify.
580 ASSERT_FALSE(helper.DirectoryExists(src)); 583 ASSERT_FALSE(helper.DirectoryExists(src));
581 ASSERT_TRUE(helper.DirectoryExists(dest)); 584 ASSERT_TRUE(helper.DirectoryExists(dest));
582 585
583 helper.VerifyTestCaseFiles(dest, 586 helper.VerifyTestCaseFiles(dest,
584 kRegularFileSystemTestCases, 587 kRegularFileSystemTestCases,
585 kRegularFileSystemTestCaseSize); 588 kRegularFileSystemTestCaseSize);
586 589
587 int64 src_new_usage = helper.GetSourceUsage(); 590 int64_t src_new_usage = helper.GetSourceUsage();
588 ASSERT_EQ(src_initial_usage, src_new_usage); 591 ASSERT_EQ(src_initial_usage, src_new_usage);
589 592
590 int64 dest_increase = helper.GetDestUsage() - dest_initial_usage; 593 int64_t dest_increase = helper.GetDestUsage() - dest_initial_usage;
591 ASSERT_EQ(src_increase, dest_increase); 594 ASSERT_EQ(src_increase, dest_increase);
592 } 595 }
593 596
594 TEST(LocalFileSystemCopyOrMoveOperationTest, 597 TEST(LocalFileSystemCopyOrMoveOperationTest,
595 MoveDirectoryFailPostWriteValidation) { 598 MoveDirectoryFailPostWriteValidation) {
596 CopyOrMoveOperationTestHelper helper(GURL("http://foo"), 599 CopyOrMoveOperationTestHelper helper(GURL("http://foo"),
597 storage::kFileSystemTypeTemporary, 600 storage::kFileSystemTypeTemporary,
598 storage::kFileSystemTypeTest); 601 storage::kFileSystemTypeTest);
599 helper.SetUp(); 602 helper.SetUp();
600 603
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 records[begin_index].type); 697 records[begin_index].type);
695 EXPECT_FALSE(records[begin_index].dest_url.is_valid()); 698 EXPECT_FALSE(records[begin_index].dest_url.is_valid());
696 EXPECT_EQ(FileSystemOperation::END_COPY_ENTRY, records[end_index].type); 699 EXPECT_EQ(FileSystemOperation::END_COPY_ENTRY, records[end_index].type);
697 EXPECT_EQ(dest_url, records[end_index].dest_url); 700 EXPECT_EQ(dest_url, records[end_index].dest_url);
698 701
699 if (test_case.is_directory) { 702 if (test_case.is_directory) {
700 // For directory copy, the progress shouldn't be interlaced. 703 // For directory copy, the progress shouldn't be interlaced.
701 EXPECT_EQ(begin_index + 1, end_index); 704 EXPECT_EQ(begin_index + 1, end_index);
702 } else { 705 } else {
703 // PROGRESS event's size should be assending order. 706 // PROGRESS event's size should be assending order.
704 int64 current_size = 0; 707 int64_t current_size = 0;
705 for (size_t j = begin_index + 1; j < end_index; ++j) { 708 for (size_t j = begin_index + 1; j < end_index; ++j) {
706 if (records[j].source_url == src_url) { 709 if (records[j].source_url == src_url) {
707 EXPECT_EQ(FileSystemOperation::PROGRESS, records[j].type); 710 EXPECT_EQ(FileSystemOperation::PROGRESS, records[j].type);
708 EXPECT_FALSE(records[j].dest_url.is_valid()); 711 EXPECT_FALSE(records[j].dest_url.is_valid());
709 EXPECT_GE(records[j].size, current_size); 712 EXPECT_GE(records[j].size, current_size);
710 current_size = records[j].size; 713 current_size = records[j].size;
711 } 714 }
712 } 715 }
713 } 716 }
714 } 717 }
(...skipping 17 matching lines...) Expand all
732 scoped_refptr<base::SingleThreadTaskRunner> task_runner = 735 scoped_refptr<base::SingleThreadTaskRunner> task_runner =
733 file_thread.task_runner(); 736 file_thread.task_runner();
734 737
735 scoped_ptr<storage::FileStreamReader> reader( 738 scoped_ptr<storage::FileStreamReader> reader(
736 storage::FileStreamReader::CreateForLocalFile( 739 storage::FileStreamReader::CreateForLocalFile(
737 task_runner.get(), source_path, 0, base::Time())); 740 task_runner.get(), source_path, 0, base::Time()));
738 741
739 scoped_ptr<FileStreamWriter> writer(FileStreamWriter::CreateForLocalFile( 742 scoped_ptr<FileStreamWriter> writer(FileStreamWriter::CreateForLocalFile(
740 task_runner.get(), dest_path, 0, FileStreamWriter::CREATE_NEW_FILE)); 743 task_runner.get(), dest_path, 0, FileStreamWriter::CREATE_NEW_FILE));
741 744
742 std::vector<int64> progress; 745 std::vector<int64_t> progress;
743 CopyOrMoveOperationDelegate::StreamCopyHelper helper( 746 CopyOrMoveOperationDelegate::StreamCopyHelper helper(
744 reader.Pass(), writer.Pass(), 747 reader.Pass(), writer.Pass(),
745 storage::FlushPolicy::NO_FLUSH_ON_COMPLETION, 748 storage::FlushPolicy::NO_FLUSH_ON_COMPLETION,
746 10, // buffer size 749 10, // buffer size
747 base::Bind(&RecordFileProgressCallback, base::Unretained(&progress)), 750 base::Bind(&RecordFileProgressCallback, base::Unretained(&progress)),
748 base::TimeDelta()); // For testing, we need all the progress. 751 base::TimeDelta()); // For testing, we need all the progress.
749 752
750 base::File::Error error = base::File::FILE_ERROR_FAILED; 753 base::File::Error error = base::File::FILE_ERROR_FAILED;
751 base::RunLoop run_loop; 754 base::RunLoop run_loop;
752 helper.Run(base::Bind(&AssignAndQuit, &run_loop, &error)); 755 helper.Run(base::Bind(&AssignAndQuit, &run_loop, &error));
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
788 scoped_refptr<base::SingleThreadTaskRunner> task_runner = 791 scoped_refptr<base::SingleThreadTaskRunner> task_runner =
789 file_thread.task_runner(); 792 file_thread.task_runner();
790 793
791 scoped_ptr<storage::FileStreamReader> reader( 794 scoped_ptr<storage::FileStreamReader> reader(
792 storage::FileStreamReader::CreateForLocalFile( 795 storage::FileStreamReader::CreateForLocalFile(
793 task_runner.get(), source_path, 0, base::Time())); 796 task_runner.get(), source_path, 0, base::Time()));
794 797
795 scoped_ptr<FileStreamWriter> writer(FileStreamWriter::CreateForLocalFile( 798 scoped_ptr<FileStreamWriter> writer(FileStreamWriter::CreateForLocalFile(
796 task_runner.get(), dest_path, 0, FileStreamWriter::CREATE_NEW_FILE)); 799 task_runner.get(), dest_path, 0, FileStreamWriter::CREATE_NEW_FILE));
797 800
798 std::vector<int64> progress; 801 std::vector<int64_t> progress;
799 CopyOrMoveOperationDelegate::StreamCopyHelper helper( 802 CopyOrMoveOperationDelegate::StreamCopyHelper helper(
800 reader.Pass(), writer.Pass(), 803 reader.Pass(), writer.Pass(),
801 storage::FlushPolicy::NO_FLUSH_ON_COMPLETION, 804 storage::FlushPolicy::NO_FLUSH_ON_COMPLETION,
802 10, // buffer size 805 10, // buffer size
803 base::Bind(&RecordFileProgressCallback, base::Unretained(&progress)), 806 base::Bind(&RecordFileProgressCallback, base::Unretained(&progress)),
804 base::TimeDelta()); // For testing, we need all the progress. 807 base::TimeDelta()); // For testing, we need all the progress.
805 808
806 base::File::Error error = base::File::FILE_ERROR_FAILED; 809 base::File::Error error = base::File::FILE_ERROR_FAILED;
807 base::RunLoop run_loop; 810 base::RunLoop run_loop;
808 helper.Run(base::Bind(&AssignAndQuit, &run_loop, &error)); 811 helper.Run(base::Bind(&AssignAndQuit, &run_loop, &error));
(...skipping 30 matching lines...) Expand all
839 scoped_refptr<base::SingleThreadTaskRunner> task_runner = 842 scoped_refptr<base::SingleThreadTaskRunner> task_runner =
840 file_thread.task_runner(); 843 file_thread.task_runner();
841 844
842 scoped_ptr<storage::FileStreamReader> reader( 845 scoped_ptr<storage::FileStreamReader> reader(
843 storage::FileStreamReader::CreateForLocalFile( 846 storage::FileStreamReader::CreateForLocalFile(
844 task_runner.get(), source_path, 0, base::Time())); 847 task_runner.get(), source_path, 0, base::Time()));
845 848
846 scoped_ptr<FileStreamWriter> writer(FileStreamWriter::CreateForLocalFile( 849 scoped_ptr<FileStreamWriter> writer(FileStreamWriter::CreateForLocalFile(
847 task_runner.get(), dest_path, 0, FileStreamWriter::CREATE_NEW_FILE)); 850 task_runner.get(), dest_path, 0, FileStreamWriter::CREATE_NEW_FILE));
848 851
849 std::vector<int64> progress; 852 std::vector<int64_t> progress;
850 CopyOrMoveOperationDelegate::StreamCopyHelper helper( 853 CopyOrMoveOperationDelegate::StreamCopyHelper helper(
851 reader.Pass(), writer.Pass(), 854 reader.Pass(), writer.Pass(),
852 storage::FlushPolicy::NO_FLUSH_ON_COMPLETION, 855 storage::FlushPolicy::NO_FLUSH_ON_COMPLETION,
853 10, // buffer size 856 10, // buffer size
854 base::Bind(&RecordFileProgressCallback, base::Unretained(&progress)), 857 base::Bind(&RecordFileProgressCallback, base::Unretained(&progress)),
855 base::TimeDelta()); // For testing, we need all the progress. 858 base::TimeDelta()); // For testing, we need all the progress.
856 859
857 // Call Cancel() later. 860 // Call Cancel() later.
858 base::ThreadTaskRunnerHandle::Get()->PostTask( 861 base::ThreadTaskRunnerHandle::Get()->PostTask(
859 FROM_HERE, 862 FROM_HERE,
860 base::Bind(&CopyOrMoveOperationDelegate::StreamCopyHelper::Cancel, 863 base::Bind(&CopyOrMoveOperationDelegate::StreamCopyHelper::Cancel,
861 base::Unretained(&helper))); 864 base::Unretained(&helper)));
862 865
863 base::File::Error error = base::File::FILE_ERROR_FAILED; 866 base::File::Error error = base::File::FILE_ERROR_FAILED;
864 base::RunLoop run_loop; 867 base::RunLoop run_loop;
865 helper.Run(base::Bind(&AssignAndQuit, &run_loop, &error)); 868 helper.Run(base::Bind(&AssignAndQuit, &run_loop, &error));
866 run_loop.Run(); 869 run_loop.Run();
867 870
868 EXPECT_EQ(base::File::FILE_ERROR_ABORT, error); 871 EXPECT_EQ(base::File::FILE_ERROR_ABORT, error);
869 } 872 }
870 873
871 } // namespace content 874 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/fileapi/copy_or_move_file_validator_unittest.cc ('k') | content/browser/fileapi/dragged_file_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698