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

Side by Side Diff: base/file_util_unittest.cc

Issue 5754002: Moving away from shell api to support long path names on windows for filesystem. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years 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 (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "build/build_config.h" 5 #include "build/build_config.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <windows.h> 8 #include <windows.h>
9 #include <winioctl.h> 9 #include <winioctl.h>
10 #include <shellapi.h> 10 #include <shellapi.h>
(...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after
685 // Test recursive case, create a new file 685 // Test recursive case, create a new file
686 file_name = temp_dir_.path().Append(FPL("Test DeleteFile 2.txt")); 686 file_name = temp_dir_.path().Append(FPL("Test DeleteFile 2.txt"));
687 CreateTextFile(file_name, bogus_content); 687 CreateTextFile(file_name, bogus_content);
688 ASSERT_TRUE(file_util::PathExists(file_name)); 688 ASSERT_TRUE(file_util::PathExists(file_name));
689 689
690 // Make sure it's deleted 690 // Make sure it's deleted
691 EXPECT_TRUE(file_util::Delete(file_name, true)); 691 EXPECT_TRUE(file_util::Delete(file_name, true));
692 EXPECT_FALSE(file_util::PathExists(file_name)); 692 EXPECT_FALSE(file_util::PathExists(file_name));
693 } 693 }
694 694
695 #if defined(OS_WIN)
696 // Tests that the Delete function works for wild cards, especially
697 // with the recursion flag. Also coincidentally tests PathExists.
698 // TODO(erikkay): see if anyone's actually using this feature of the API
699 TEST_F(FileUtilTest, DeleteWildCard) {
700 // Create a file and a directory
701 FilePath file_name = temp_dir_.path().Append(FPL("Test DeleteWildCard.txt"));
702 CreateTextFile(file_name, bogus_content);
703 ASSERT_TRUE(file_util::PathExists(file_name));
704
705 FilePath subdir_path = temp_dir_.path().Append(FPL("DeleteWildCardDir"));
706 file_util::CreateDirectory(subdir_path);
707 ASSERT_TRUE(file_util::PathExists(subdir_path));
708
709 // Create the wildcard path
710 FilePath directory_contents = temp_dir_.path();
711 directory_contents = directory_contents.Append(FPL("*"));
712
713 // Delete non-recursively and check that only the file is deleted
714 EXPECT_TRUE(file_util::Delete(directory_contents, false));
715 EXPECT_FALSE(file_util::PathExists(file_name));
716 EXPECT_TRUE(file_util::PathExists(subdir_path));
717
718 // Delete recursively and make sure all contents are deleted
719 EXPECT_TRUE(file_util::Delete(directory_contents, true));
720 EXPECT_FALSE(file_util::PathExists(file_name));
721 EXPECT_FALSE(file_util::PathExists(subdir_path));
722 }
723
724 // TODO(erikkay): see if anyone's actually using this feature of the API
725 TEST_F(FileUtilTest, DeleteNonExistantWildCard) {
726 // Create a file and a directory
727 FilePath subdir_path =
728 temp_dir_.path().Append(FPL("DeleteNonExistantWildCard"));
729 file_util::CreateDirectory(subdir_path);
730 ASSERT_TRUE(file_util::PathExists(subdir_path));
731
732 // Create the wildcard path
733 FilePath directory_contents = subdir_path;
734 directory_contents = directory_contents.Append(FPL("*"));
735
736 // Delete non-recursively and check nothing got deleted
737 EXPECT_TRUE(file_util::Delete(directory_contents, false));
738 EXPECT_TRUE(file_util::PathExists(subdir_path));
739
740 // Delete recursively and check nothing got deleted
741 EXPECT_TRUE(file_util::Delete(directory_contents, true));
742 EXPECT_TRUE(file_util::PathExists(subdir_path));
743 }
744 #endif
745
746 // Tests non-recursive Delete() for a directory. 695 // Tests non-recursive Delete() for a directory.
747 TEST_F(FileUtilTest, DeleteDirNonRecursive) { 696 TEST_F(FileUtilTest, DeleteDirNonRecursive) {
748 // Create a subdirectory and put a file and two directories inside. 697 // Create a subdirectory and put a file and two directories inside.
749 FilePath test_subdir = temp_dir_.path().Append(FPL("DeleteDirNonRecursive")); 698 FilePath test_subdir = temp_dir_.path().Append(FPL("DeleteDirNonRecursive"));
750 file_util::CreateDirectory(test_subdir); 699 file_util::CreateDirectory(test_subdir);
751 ASSERT_TRUE(file_util::PathExists(test_subdir)); 700 ASSERT_TRUE(file_util::PathExists(test_subdir));
752 701
753 FilePath file_name = test_subdir.Append(FPL("Test DeleteDir.txt")); 702 FilePath file_name = test_subdir.Append(FPL("Test DeleteDir.txt"));
754 CreateTextFile(file_name, bogus_content); 703 CreateTextFile(file_name, bogus_content);
755 ASSERT_TRUE(file_util::PathExists(file_name)); 704 ASSERT_TRUE(file_util::PathExists(file_name));
(...skipping 25 matching lines...) Expand all
781 ASSERT_TRUE(file_util::PathExists(test_subdir)); 730 ASSERT_TRUE(file_util::PathExists(test_subdir));
782 731
783 FilePath file_name = test_subdir.Append(FPL("Test DeleteDirRecursive.txt")); 732 FilePath file_name = test_subdir.Append(FPL("Test DeleteDirRecursive.txt"));
784 CreateTextFile(file_name, bogus_content); 733 CreateTextFile(file_name, bogus_content);
785 ASSERT_TRUE(file_util::PathExists(file_name)); 734 ASSERT_TRUE(file_util::PathExists(file_name));
786 735
787 FilePath subdir_path1 = test_subdir.Append(FPL("TestSubDir1")); 736 FilePath subdir_path1 = test_subdir.Append(FPL("TestSubDir1"));
788 file_util::CreateDirectory(subdir_path1); 737 file_util::CreateDirectory(subdir_path1);
789 ASSERT_TRUE(file_util::PathExists(subdir_path1)); 738 ASSERT_TRUE(file_util::PathExists(subdir_path1));
790 739
740 FilePath sub_subdir_path1 = subdir_path1.Append(FPL("TestSubSubDir1"));
741 file_util::CreateDirectory(sub_subdir_path1);
742 ASSERT_TRUE(file_util::PathExists(sub_subdir_path1));
743
744 FilePath subdir_file_name =
745 sub_subdir_path1.Append(FPL("DeleteDirRecursiveSubDir.txt"));
746 CreateTextFile(subdir_file_name, bogus_content);
747 ASSERT_TRUE(file_util::PathExists(subdir_file_name));
748
791 FilePath subdir_path2 = test_subdir.Append(FPL("TestSubDir2")); 749 FilePath subdir_path2 = test_subdir.Append(FPL("TestSubDir2"));
792 file_util::CreateDirectory(subdir_path2); 750 file_util::CreateDirectory(subdir_path2);
793 ASSERT_TRUE(file_util::PathExists(subdir_path2)); 751 ASSERT_TRUE(file_util::PathExists(subdir_path2));
794 752
795 // Delete recursively and check that the empty dir got deleted 753 // Delete recursively and check that the empty dir got deleted
796 EXPECT_TRUE(file_util::Delete(subdir_path2, true)); 754 EXPECT_TRUE(file_util::Delete(subdir_path2, true));
797 EXPECT_FALSE(file_util::PathExists(subdir_path2)); 755 EXPECT_FALSE(file_util::PathExists(subdir_path2));
798 756
799 // Delete recursively and check that everything got deleted 757 // Delete recursively and check that everything got deleted
800 EXPECT_TRUE(file_util::Delete(test_subdir, true)); 758 EXPECT_TRUE(file_util::Delete(test_subdir, true));
(...skipping 1026 matching lines...) Expand 10 before | Expand all | Expand 10 after
1827 EXPECT_TRUE(file_util::IsDirectoryEmpty(empty_dir)); 1785 EXPECT_TRUE(file_util::IsDirectoryEmpty(empty_dir));
1828 1786
1829 FilePath foo(empty_dir.Append(FILE_PATH_LITERAL("foo.txt"))); 1787 FilePath foo(empty_dir.Append(FILE_PATH_LITERAL("foo.txt")));
1830 std::string bar("baz"); 1788 std::string bar("baz");
1831 ASSERT_TRUE(file_util::WriteFile(foo, bar.c_str(), bar.length())); 1789 ASSERT_TRUE(file_util::WriteFile(foo, bar.c_str(), bar.length()));
1832 1790
1833 EXPECT_FALSE(file_util::IsDirectoryEmpty(empty_dir)); 1791 EXPECT_FALSE(file_util::IsDirectoryEmpty(empty_dir));
1834 } 1792 }
1835 1793
1836 } // namespace 1794 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698