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

Side by Side Diff: webkit/fileapi/file_system_operation_unittest.cc

Issue 9370045: Fixed bug: we can now handle "a:b" as a file name. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Build fix. Created 8 years, 9 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 | « webkit/fileapi/file_system_operation.cc ('k') | webkit/fileapi/file_system_quota_unittest.cc » ('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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "webkit/fileapi/file_system_operation.h" 5 #include "webkit/fileapi/file_system_operation.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 420 matching lines...) Expand 10 before | Expand all | Expand 10 after
431 431
432 operation()->Move(URLForPath(src_dir_path), URLForPath(dest_dir_path), 432 operation()->Move(URLForPath(src_dir_path), URLForPath(dest_dir_path),
433 RecordStatusCallback()); 433 RecordStatusCallback());
434 MessageLoop::current()->RunAllPending(); 434 MessageLoop::current()->RunAllPending();
435 EXPECT_EQ(base::PLATFORM_FILE_OK, status()); 435 EXPECT_EQ(base::PLATFORM_FILE_OK, status());
436 EXPECT_FALSE(VirtualDirectoryExists(src_dir_path)); 436 EXPECT_FALSE(VirtualDirectoryExists(src_dir_path));
437 437
438 // Make sure we've overwritten but not moved the source under the |dest_dir|. 438 // Make sure we've overwritten but not moved the source under the |dest_dir|.
439 EXPECT_TRUE(VirtualDirectoryExists(dest_dir_path)); 439 EXPECT_TRUE(VirtualDirectoryExists(dest_dir_path));
440 EXPECT_FALSE(VirtualDirectoryExists( 440 EXPECT_FALSE(VirtualDirectoryExists(
441 dest_dir_path.Append(src_dir_path.BaseName()))); 441 dest_dir_path.Append(VirtualPath::BaseName(src_dir_path))));
442 } 442 }
443 443
444 TEST_F(FileSystemOperationTest, TestMoveSuccessSrcDirAndNew) { 444 TEST_F(FileSystemOperationTest, TestMoveSuccessSrcDirAndNew) {
445 FilePath src_dir_path(CreateVirtualTemporaryDir()); 445 FilePath src_dir_path(CreateVirtualTemporaryDir());
446 FilePath dest_parent_dir_path(CreateVirtualTemporaryDir()); 446 FilePath dest_parent_dir_path(CreateVirtualTemporaryDir());
447 FilePath dest_child_dir_path(dest_parent_dir_path. 447 FilePath dest_child_dir_path(dest_parent_dir_path.
448 Append(FILE_PATH_LITERAL("NewDirectory"))); 448 Append(FILE_PATH_LITERAL("NewDirectory")));
449 449
450 operation()->Move(URLForPath(src_dir_path), URLForPath(dest_child_dir_path), 450 operation()->Move(URLForPath(src_dir_path), URLForPath(dest_child_dir_path),
451 RecordStatusCallback()); 451 RecordStatusCallback());
452 MessageLoop::current()->RunAllPending(); 452 MessageLoop::current()->RunAllPending();
453 EXPECT_EQ(base::PLATFORM_FILE_OK, status()); 453 EXPECT_EQ(base::PLATFORM_FILE_OK, status());
454 EXPECT_FALSE(VirtualDirectoryExists(src_dir_path)); 454 EXPECT_FALSE(VirtualDirectoryExists(src_dir_path));
455 EXPECT_TRUE(VirtualDirectoryExists(dest_child_dir_path)); 455 EXPECT_TRUE(VirtualDirectoryExists(dest_child_dir_path));
456 } 456 }
457 457
458 TEST_F(FileSystemOperationTest, TestMoveSuccessSrcDirRecursive) { 458 TEST_F(FileSystemOperationTest, TestMoveSuccessSrcDirRecursive) {
459 FilePath src_dir_path(CreateVirtualTemporaryDir()); 459 FilePath src_dir_path(CreateVirtualTemporaryDir());
460 FilePath child_dir_path(CreateVirtualTemporaryDirInDir(src_dir_path)); 460 FilePath child_dir_path(CreateVirtualTemporaryDirInDir(src_dir_path));
461 FilePath grandchild_file_path( 461 FilePath grandchild_file_path(
462 CreateVirtualTemporaryFileInDir(child_dir_path)); 462 CreateVirtualTemporaryFileInDir(child_dir_path));
463 463
464 FilePath dest_dir_path(CreateVirtualTemporaryDir()); 464 FilePath dest_dir_path(CreateVirtualTemporaryDir());
465 465
466 operation()->Move(URLForPath(src_dir_path), URLForPath(dest_dir_path), 466 operation()->Move(URLForPath(src_dir_path), URLForPath(dest_dir_path),
467 RecordStatusCallback()); 467 RecordStatusCallback());
468 MessageLoop::current()->RunAllPending(); 468 MessageLoop::current()->RunAllPending();
469 EXPECT_EQ(base::PLATFORM_FILE_OK, status()); 469 EXPECT_EQ(base::PLATFORM_FILE_OK, status());
470 EXPECT_TRUE(VirtualDirectoryExists(dest_dir_path.Append( 470 EXPECT_TRUE(VirtualDirectoryExists(dest_dir_path.Append(
471 child_dir_path.BaseName()))); 471 VirtualPath::BaseName(child_dir_path))));
472 EXPECT_TRUE(VirtualFileExists(dest_dir_path.Append( 472 EXPECT_TRUE(VirtualFileExists(dest_dir_path.Append(
473 child_dir_path.BaseName()).Append( 473 VirtualPath::BaseName(child_dir_path)).Append(
474 grandchild_file_path.BaseName()))); 474 VirtualPath::BaseName(grandchild_file_path))));
475 } 475 }
476 476
477 TEST_F(FileSystemOperationTest, TestCopyFailureSrcDoesntExist) { 477 TEST_F(FileSystemOperationTest, TestCopyFailureSrcDoesntExist) {
478 operation()->Copy(URLForPath(FilePath(FILE_PATH_LITERAL("a"))), 478 operation()->Copy(URLForPath(FilePath(FILE_PATH_LITERAL("a"))),
479 URLForPath(FilePath(FILE_PATH_LITERAL("b"))), 479 URLForPath(FilePath(FILE_PATH_LITERAL("b"))),
480 RecordStatusCallback()); 480 RecordStatusCallback());
481 MessageLoop::current()->RunAllPending(); 481 MessageLoop::current()->RunAllPending();
482 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NOT_FOUND, status()); 482 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NOT_FOUND, status());
483 } 483 }
484 484
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
602 FilePath dest_dir_path(CreateVirtualTemporaryDir()); 602 FilePath dest_dir_path(CreateVirtualTemporaryDir());
603 603
604 operation()->Copy(URLForPath(src_dir_path), URLForPath(dest_dir_path), 604 operation()->Copy(URLForPath(src_dir_path), URLForPath(dest_dir_path),
605 RecordStatusCallback()); 605 RecordStatusCallback());
606 MessageLoop::current()->RunAllPending(); 606 MessageLoop::current()->RunAllPending();
607 EXPECT_EQ(base::PLATFORM_FILE_OK, status()); 607 EXPECT_EQ(base::PLATFORM_FILE_OK, status());
608 608
609 // Make sure we've overwritten but not copied the source under the |dest_dir|. 609 // Make sure we've overwritten but not copied the source under the |dest_dir|.
610 EXPECT_TRUE(VirtualDirectoryExists(dest_dir_path)); 610 EXPECT_TRUE(VirtualDirectoryExists(dest_dir_path));
611 EXPECT_FALSE(VirtualDirectoryExists( 611 EXPECT_FALSE(VirtualDirectoryExists(
612 dest_dir_path.Append(src_dir_path.BaseName()))); 612 dest_dir_path.Append(VirtualPath::BaseName(src_dir_path))));
613 EXPECT_EQ(1, quota_manager_proxy()->storage_accessed_count()); 613 EXPECT_EQ(1, quota_manager_proxy()->storage_accessed_count());
614 } 614 }
615 615
616 TEST_F(FileSystemOperationTest, TestCopySuccessSrcDirAndNew) { 616 TEST_F(FileSystemOperationTest, TestCopySuccessSrcDirAndNew) {
617 FilePath src_dir_path(CreateVirtualTemporaryDir()); 617 FilePath src_dir_path(CreateVirtualTemporaryDir());
618 FilePath dest_parent_dir_path(CreateVirtualTemporaryDir()); 618 FilePath dest_parent_dir_path(CreateVirtualTemporaryDir());
619 FilePath dest_child_dir_path(dest_parent_dir_path. 619 FilePath dest_child_dir_path(dest_parent_dir_path.
620 Append(FILE_PATH_LITERAL("NewDirectory"))); 620 Append(FILE_PATH_LITERAL("NewDirectory")));
621 621
622 operation()->Copy(URLForPath(src_dir_path), URLForPath(dest_child_dir_path), 622 operation()->Copy(URLForPath(src_dir_path), URLForPath(dest_child_dir_path),
(...skipping 10 matching lines...) Expand all
633 FilePath grandchild_file_path( 633 FilePath grandchild_file_path(
634 CreateVirtualTemporaryFileInDir(child_dir_path)); 634 CreateVirtualTemporaryFileInDir(child_dir_path));
635 635
636 FilePath dest_dir_path(CreateVirtualTemporaryDir()); 636 FilePath dest_dir_path(CreateVirtualTemporaryDir());
637 637
638 operation()->Copy(URLForPath(src_dir_path), URLForPath(dest_dir_path), 638 operation()->Copy(URLForPath(src_dir_path), URLForPath(dest_dir_path),
639 RecordStatusCallback()); 639 RecordStatusCallback());
640 MessageLoop::current()->RunAllPending(); 640 MessageLoop::current()->RunAllPending();
641 EXPECT_EQ(base::PLATFORM_FILE_OK, status()); 641 EXPECT_EQ(base::PLATFORM_FILE_OK, status());
642 EXPECT_TRUE(VirtualDirectoryExists(dest_dir_path.Append( 642 EXPECT_TRUE(VirtualDirectoryExists(dest_dir_path.Append(
643 child_dir_path.BaseName()))); 643 VirtualPath::BaseName(child_dir_path))));
644 EXPECT_TRUE(VirtualFileExists(dest_dir_path.Append( 644 EXPECT_TRUE(VirtualFileExists(dest_dir_path.Append(
645 child_dir_path.BaseName()).Append( 645 VirtualPath::BaseName(child_dir_path)).Append(
646 grandchild_file_path.BaseName()))); 646 VirtualPath::BaseName(grandchild_file_path))));
647 EXPECT_EQ(1, quota_manager_proxy()->storage_accessed_count()); 647 EXPECT_EQ(1, quota_manager_proxy()->storage_accessed_count());
648 } 648 }
649 649
650 TEST_F(FileSystemOperationTest, TestCreateFileFailure) { 650 TEST_F(FileSystemOperationTest, TestCreateFileFailure) {
651 // Already existing file and exclusive true. 651 // Already existing file and exclusive true.
652 FilePath dir_path(CreateVirtualTemporaryDir()); 652 FilePath dir_path(CreateVirtualTemporaryDir());
653 FilePath file_path(CreateVirtualTemporaryFileInDir(dir_path)); 653 FilePath file_path(CreateVirtualTemporaryFileInDir(dir_path));
654 operation()->CreateFile(URLForPath(file_path), true, 654 operation()->CreateFile(URLForPath(file_path), true,
655 RecordStatusCallback()); 655 RecordStatusCallback());
656 MessageLoop::current()->RunAllPending(); 656 MessageLoop::current()->RunAllPending();
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
848 ASSERT_FALSE(child_dir_path.empty()); 848 ASSERT_FALSE(child_dir_path.empty());
849 849
850 operation()->ReadDirectory(URLForPath(parent_dir_path), 850 operation()->ReadDirectory(URLForPath(parent_dir_path),
851 RecordReadDirectoryCallback()); 851 RecordReadDirectoryCallback());
852 MessageLoop::current()->RunAllPending(); 852 MessageLoop::current()->RunAllPending();
853 EXPECT_EQ(base::PLATFORM_FILE_OK, status()); 853 EXPECT_EQ(base::PLATFORM_FILE_OK, status());
854 EXPECT_EQ(2u, entries().size()); 854 EXPECT_EQ(2u, entries().size());
855 855
856 for (size_t i = 0; i < entries().size(); ++i) { 856 for (size_t i = 0; i < entries().size(); ++i) {
857 if (entries()[i].is_directory) { 857 if (entries()[i].is_directory) {
858 EXPECT_EQ(child_dir_path.BaseName().value(), 858 EXPECT_EQ(VirtualPath::BaseName(child_dir_path).value(),
859 entries()[i].name); 859 entries()[i].name);
860 } else { 860 } else {
861 EXPECT_EQ(child_file_path.BaseName().value(), 861 EXPECT_EQ(VirtualPath::BaseName(child_file_path).value(),
862 entries()[i].name); 862 entries()[i].name);
863 } 863 }
864 } 864 }
865 EXPECT_EQ(1, quota_manager_proxy()->storage_accessed_count()); 865 EXPECT_EQ(1, quota_manager_proxy()->storage_accessed_count());
866 } 866 }
867 867
868 TEST_F(FileSystemOperationTest, TestRemoveFailure) { 868 TEST_F(FileSystemOperationTest, TestRemoveFailure) {
869 // Path doesn't exist. 869 // Path doesn't exist.
870 FilePath nonexisting_path(FilePath( 870 FilePath nonexisting_path(FilePath(
871 FILE_PATH_LITERAL("NonExistingDir"))); 871 FILE_PATH_LITERAL("NonExistingDir")));
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
1058 EXPECT_EQ(base::PLATFORM_FILE_OK, status()); 1058 EXPECT_EQ(base::PLATFORM_FILE_OK, status());
1059 EXPECT_FALSE(info().is_directory); 1059 EXPECT_FALSE(info().is_directory);
1060 EXPECT_EQ(PlatformPath(file_path), path()); 1060 EXPECT_EQ(PlatformPath(file_path), path());
1061 1061
1062 // The FileSystemOpration implementation does not set the deletable 1062 // The FileSystemOpration implementation does not set the deletable
1063 // file reference. 1063 // file reference.
1064 EXPECT_EQ(NULL, deletable_file_ref()); 1064 EXPECT_EQ(NULL, deletable_file_ref());
1065 } 1065 }
1066 1066
1067 } // namespace fileapi 1067 } // namespace fileapi
OLDNEW
« no previous file with comments | « webkit/fileapi/file_system_operation.cc ('k') | webkit/fileapi/file_system_quota_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698