OLD | NEW |
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 "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 <shellapi.h> | 9 #include <shellapi.h> |
10 #include <shlobj.h> | 10 #include <shlobj.h> |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 int mode = 0; | 123 int mode = 0; |
124 ASSERT_TRUE(file_util::GetPosixFilePermissions(path, &mode)); | 124 ASSERT_TRUE(file_util::GetPosixFilePermissions(path, &mode)); |
125 mode |= mode_bits_to_set; | 125 mode |= mode_bits_to_set; |
126 mode &= ~mode_bits_to_clear; | 126 mode &= ~mode_bits_to_clear; |
127 ASSERT_TRUE(file_util::SetPosixFilePermissions(path, mode)); | 127 ASSERT_TRUE(file_util::SetPosixFilePermissions(path, mode)); |
128 } | 128 } |
129 #endif // defined(OS_POSIX) | 129 #endif // defined(OS_POSIX) |
130 | 130 |
131 const wchar_t bogus_content[] = L"I'm cannon fodder."; | 131 const wchar_t bogus_content[] = L"I'm cannon fodder."; |
132 | 132 |
133 const file_util::FileEnumerator::FileType FILES_AND_DIRECTORIES = | 133 const int FILES_AND_DIRECTORIES = |
134 static_cast<file_util::FileEnumerator::FileType>( | 134 file_util::FileEnumerator::FILES | file_util::FileEnumerator::DIRECTORIES; |
135 file_util::FileEnumerator::FILES | | |
136 file_util::FileEnumerator::DIRECTORIES); | |
137 | 135 |
138 // file_util winds up using autoreleased objects on the Mac, so this needs | 136 // file_util winds up using autoreleased objects on the Mac, so this needs |
139 // to be a PlatformTest | 137 // to be a PlatformTest |
140 class FileUtilTest : public PlatformTest { | 138 class FileUtilTest : public PlatformTest { |
141 protected: | 139 protected: |
142 virtual void SetUp() OVERRIDE { | 140 virtual void SetUp() OVERRIDE { |
143 PlatformTest::SetUp(); | 141 PlatformTest::SetUp(); |
144 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 142 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
145 } | 143 } |
146 | 144 |
(...skipping 1713 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1860 } | 1858 } |
1861 | 1859 |
1862 TEST_F(FileUtilTest, FileEnumeratorTest) { | 1860 TEST_F(FileUtilTest, FileEnumeratorTest) { |
1863 // Test an empty directory. | 1861 // Test an empty directory. |
1864 file_util::FileEnumerator f0(temp_dir_.path(), true, FILES_AND_DIRECTORIES); | 1862 file_util::FileEnumerator f0(temp_dir_.path(), true, FILES_AND_DIRECTORIES); |
1865 EXPECT_EQ(f0.Next().value(), FILE_PATH_LITERAL("")); | 1863 EXPECT_EQ(f0.Next().value(), FILE_PATH_LITERAL("")); |
1866 EXPECT_EQ(f0.Next().value(), FILE_PATH_LITERAL("")); | 1864 EXPECT_EQ(f0.Next().value(), FILE_PATH_LITERAL("")); |
1867 | 1865 |
1868 // Test an empty directory, non-recursively, including "..". | 1866 // Test an empty directory, non-recursively, including "..". |
1869 file_util::FileEnumerator f0_dotdot(temp_dir_.path(), false, | 1867 file_util::FileEnumerator f0_dotdot(temp_dir_.path(), false, |
1870 static_cast<file_util::FileEnumerator::FileType>( | 1868 FILES_AND_DIRECTORIES | file_util::FileEnumerator::INCLUDE_DOT_DOT); |
1871 FILES_AND_DIRECTORIES | file_util::FileEnumerator::INCLUDE_DOT_DOT)); | |
1872 EXPECT_EQ(temp_dir_.path().Append(FILE_PATH_LITERAL("..")).value(), | 1869 EXPECT_EQ(temp_dir_.path().Append(FILE_PATH_LITERAL("..")).value(), |
1873 f0_dotdot.Next().value()); | 1870 f0_dotdot.Next().value()); |
1874 EXPECT_EQ(FILE_PATH_LITERAL(""), | 1871 EXPECT_EQ(FILE_PATH_LITERAL(""), |
1875 f0_dotdot.Next().value()); | 1872 f0_dotdot.Next().value()); |
1876 | 1873 |
1877 // create the directories | 1874 // create the directories |
1878 FilePath dir1 = temp_dir_.path().Append(FILE_PATH_LITERAL("dir1")); | 1875 FilePath dir1 = temp_dir_.path().Append(FILE_PATH_LITERAL("dir1")); |
1879 EXPECT_TRUE(file_util::CreateDirectory(dir1)); | 1876 EXPECT_TRUE(file_util::CreateDirectory(dir1)); |
1880 FilePath dir2 = temp_dir_.path().Append(FILE_PATH_LITERAL("dir2")); | 1877 FilePath dir2 = temp_dir_.path().Append(FILE_PATH_LITERAL("dir2")); |
1881 EXPECT_TRUE(file_util::CreateDirectory(dir2)); | 1878 EXPECT_TRUE(file_util::CreateDirectory(dir2)); |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1916 | 1913 |
1917 // Only enumerate directories non-recursively. | 1914 // Only enumerate directories non-recursively. |
1918 file_util::FileEnumerator f2_non_recursive( | 1915 file_util::FileEnumerator f2_non_recursive( |
1919 temp_dir_.path(), false, file_util::FileEnumerator::DIRECTORIES); | 1916 temp_dir_.path(), false, file_util::FileEnumerator::DIRECTORIES); |
1920 FindResultCollector c2_non_recursive(f2_non_recursive); | 1917 FindResultCollector c2_non_recursive(f2_non_recursive); |
1921 EXPECT_TRUE(c2_non_recursive.HasFile(dir1)); | 1918 EXPECT_TRUE(c2_non_recursive.HasFile(dir1)); |
1922 EXPECT_TRUE(c2_non_recursive.HasFile(dir2)); | 1919 EXPECT_TRUE(c2_non_recursive.HasFile(dir2)); |
1923 EXPECT_EQ(c2_non_recursive.size(), 2); | 1920 EXPECT_EQ(c2_non_recursive.size(), 2); |
1924 | 1921 |
1925 // Only enumerate directories, non-recursively, including "..". | 1922 // Only enumerate directories, non-recursively, including "..". |
1926 file_util::FileEnumerator f2_dotdot( | 1923 file_util::FileEnumerator f2_dotdot(temp_dir_.path(), false, |
1927 temp_dir_.path(), false, | 1924 file_util::FileEnumerator::DIRECTORIES | |
1928 static_cast<file_util::FileEnumerator::FileType>( | 1925 file_util::FileEnumerator::INCLUDE_DOT_DOT); |
1929 file_util::FileEnumerator::DIRECTORIES | | |
1930 file_util::FileEnumerator::INCLUDE_DOT_DOT)); | |
1931 FindResultCollector c2_dotdot(f2_dotdot); | 1926 FindResultCollector c2_dotdot(f2_dotdot); |
1932 EXPECT_TRUE(c2_dotdot.HasFile(dir1)); | 1927 EXPECT_TRUE(c2_dotdot.HasFile(dir1)); |
1933 EXPECT_TRUE(c2_dotdot.HasFile(dir2)); | 1928 EXPECT_TRUE(c2_dotdot.HasFile(dir2)); |
1934 EXPECT_TRUE(c2_dotdot.HasFile( | 1929 EXPECT_TRUE(c2_dotdot.HasFile( |
1935 temp_dir_.path().Append(FILE_PATH_LITERAL("..")))); | 1930 temp_dir_.path().Append(FILE_PATH_LITERAL("..")))); |
1936 EXPECT_EQ(c2_dotdot.size(), 3); | 1931 EXPECT_EQ(c2_dotdot.size(), 3); |
1937 | 1932 |
1938 // Enumerate files and directories. | 1933 // Enumerate files and directories. |
1939 file_util::FileEnumerator f3(temp_dir_.path(), true, FILES_AND_DIRECTORIES); | 1934 file_util::FileEnumerator f3(temp_dir_.path(), true, FILES_AND_DIRECTORIES); |
1940 FindResultCollector c3(f3); | 1935 FindResultCollector c3(f3); |
(...skipping 522 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2463 file_util::VerifyPathControlledByUser( | 2458 file_util::VerifyPathControlledByUser( |
2464 base_dir_, text_file_, uid_, ok_gids_)); | 2459 base_dir_, text_file_, uid_, ok_gids_)); |
2465 EXPECT_TRUE( | 2460 EXPECT_TRUE( |
2466 file_util::VerifyPathControlledByUser( | 2461 file_util::VerifyPathControlledByUser( |
2467 sub_dir_, text_file_, uid_, ok_gids_)); | 2462 sub_dir_, text_file_, uid_, ok_gids_)); |
2468 } | 2463 } |
2469 | 2464 |
2470 #endif // defined(OS_POSIX) | 2465 #endif // defined(OS_POSIX) |
2471 | 2466 |
2472 } // namespace | 2467 } // namespace |
OLD | NEW |