| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "storage/common/fileapi/file_system_util.h" | 5 #include "storage/common/fileapi/file_system_util.h" |
| 6 | 6 |
| 7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
| 8 #include "testing/gtest/include/gtest/gtest.h" | 8 #include "testing/gtest/include/gtest/gtest.h" |
| 9 #include "url/gurl.h" | 9 #include "url/gurl.h" |
| 10 | 10 |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 62 { FILE_PATH_LITERAL("foo//////bar"), FILE_PATH_LITERAL("bar") }, | 62 { FILE_PATH_LITERAL("foo//////bar"), FILE_PATH_LITERAL("bar") }, |
| 63 { FILE_PATH_LITERAL("foo/bar/"), FILE_PATH_LITERAL("bar") }, | 63 { FILE_PATH_LITERAL("foo/bar/"), FILE_PATH_LITERAL("bar") }, |
| 64 { FILE_PATH_LITERAL("foo/bar/////"), FILE_PATH_LITERAL("bar") }, | 64 { FILE_PATH_LITERAL("foo/bar/////"), FILE_PATH_LITERAL("bar") }, |
| 65 { FILE_PATH_LITERAL("/bar/////"), FILE_PATH_LITERAL("bar") }, | 65 { FILE_PATH_LITERAL("/bar/////"), FILE_PATH_LITERAL("bar") }, |
| 66 { FILE_PATH_LITERAL("bar/////"), FILE_PATH_LITERAL("bar") }, | 66 { FILE_PATH_LITERAL("bar/////"), FILE_PATH_LITERAL("bar") }, |
| 67 { FILE_PATH_LITERAL("bar/"), FILE_PATH_LITERAL("bar") }, | 67 { FILE_PATH_LITERAL("bar/"), FILE_PATH_LITERAL("bar") }, |
| 68 { FILE_PATH_LITERAL("/bar"), FILE_PATH_LITERAL("bar") }, | 68 { FILE_PATH_LITERAL("/bar"), FILE_PATH_LITERAL("bar") }, |
| 69 { FILE_PATH_LITERAL("////bar"), FILE_PATH_LITERAL("bar") }, | 69 { FILE_PATH_LITERAL("////bar"), FILE_PATH_LITERAL("bar") }, |
| 70 { FILE_PATH_LITERAL("bar"), FILE_PATH_LITERAL("bar") } | 70 { FILE_PATH_LITERAL("bar"), FILE_PATH_LITERAL("bar") } |
| 71 }; | 71 }; |
| 72 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { | 72 for (size_t i = 0; i < arraysize(test_cases); ++i) { |
| 73 base::FilePath input = base::FilePath(test_cases[i].path); | 73 base::FilePath input = base::FilePath(test_cases[i].path); |
| 74 base::FilePath base_name = VirtualPath::BaseName(input); | 74 base::FilePath base_name = VirtualPath::BaseName(input); |
| 75 EXPECT_EQ(test_cases[i].base_name, base_name.value()); | 75 EXPECT_EQ(test_cases[i].base_name, base_name.value()); |
| 76 } | 76 } |
| 77 } | 77 } |
| 78 | 78 |
| 79 TEST_F(FileSystemUtilTest, VirtualPathDirName) { | 79 TEST_F(FileSystemUtilTest, VirtualPathDirName) { |
| 80 struct test_data { | 80 struct test_data { |
| 81 const base::FilePath::StringType path; | 81 const base::FilePath::StringType path; |
| 82 const base::FilePath::StringType dir_name; | 82 const base::FilePath::StringType dir_name; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 102 { FILE_PATH_LITERAL("foo\\\\\\\\\\\\bar"), FILE_PATH_LITERAL("foo") }, | 102 { FILE_PATH_LITERAL("foo\\\\\\\\\\\\bar"), FILE_PATH_LITERAL("foo") }, |
| 103 { FILE_PATH_LITERAL("foo\\bar\\"), FILE_PATH_LITERAL("foo") }, | 103 { FILE_PATH_LITERAL("foo\\bar\\"), FILE_PATH_LITERAL("foo") }, |
| 104 { FILE_PATH_LITERAL("foo\\bar\\\\\\\\\\"), FILE_PATH_LITERAL("foo") }, | 104 { FILE_PATH_LITERAL("foo\\bar\\\\\\\\\\"), FILE_PATH_LITERAL("foo") }, |
| 105 { FILE_PATH_LITERAL("\\bar\\\\\\\\\\"), FILE_PATH_LITERAL("\\") }, | 105 { FILE_PATH_LITERAL("\\bar\\\\\\\\\\"), FILE_PATH_LITERAL("\\") }, |
| 106 { FILE_PATH_LITERAL("bar\\\\\\\\\\"), FILE_PATH_LITERAL(".") }, | 106 { FILE_PATH_LITERAL("bar\\\\\\\\\\"), FILE_PATH_LITERAL(".") }, |
| 107 { FILE_PATH_LITERAL("bar\\"), FILE_PATH_LITERAL(".") }, | 107 { FILE_PATH_LITERAL("bar\\"), FILE_PATH_LITERAL(".") }, |
| 108 { FILE_PATH_LITERAL("\\bar"), FILE_PATH_LITERAL("\\") }, | 108 { FILE_PATH_LITERAL("\\bar"), FILE_PATH_LITERAL("\\") }, |
| 109 { FILE_PATH_LITERAL("\\\\\\\\bar"), FILE_PATH_LITERAL("\\") }, | 109 { FILE_PATH_LITERAL("\\\\\\\\bar"), FILE_PATH_LITERAL("\\") }, |
| 110 #endif | 110 #endif |
| 111 }; | 111 }; |
| 112 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { | 112 for (size_t i = 0; i < arraysize(test_cases); ++i) { |
| 113 base::FilePath input = base::FilePath(test_cases[i].path); | 113 base::FilePath input = base::FilePath(test_cases[i].path); |
| 114 base::FilePath dir_name = VirtualPath::DirName(input); | 114 base::FilePath dir_name = VirtualPath::DirName(input); |
| 115 EXPECT_EQ(test_cases[i].dir_name, dir_name.value()); | 115 EXPECT_EQ(test_cases[i].dir_name, dir_name.value()); |
| 116 } | 116 } |
| 117 } | 117 } |
| 118 | 118 |
| 119 TEST_F(FileSystemUtilTest, GetNormalizedFilePath) { | 119 TEST_F(FileSystemUtilTest, GetNormalizedFilePath) { |
| 120 struct test_data { | 120 struct test_data { |
| 121 const base::FilePath::StringType path; | 121 const base::FilePath::StringType path; |
| 122 const base::FilePath::StringType normalized_path; | 122 const base::FilePath::StringType normalized_path; |
| 123 } test_cases[] = { | 123 } test_cases[] = { |
| 124 { FILE_PATH_LITERAL(""), FILE_PATH_LITERAL("/") }, | 124 { FILE_PATH_LITERAL(""), FILE_PATH_LITERAL("/") }, |
| 125 { FILE_PATH_LITERAL("/"), FILE_PATH_LITERAL("/") }, | 125 { FILE_PATH_LITERAL("/"), FILE_PATH_LITERAL("/") }, |
| 126 { FILE_PATH_LITERAL("foo/bar"), FILE_PATH_LITERAL("/foo/bar") }, | 126 { FILE_PATH_LITERAL("foo/bar"), FILE_PATH_LITERAL("/foo/bar") }, |
| 127 { FILE_PATH_LITERAL("/foo/bar"), FILE_PATH_LITERAL("/foo/bar") }, | 127 { FILE_PATH_LITERAL("/foo/bar"), FILE_PATH_LITERAL("/foo/bar") }, |
| 128 #if defined(FILE_PATH_USES_WIN_SEPARATORS) | 128 #if defined(FILE_PATH_USES_WIN_SEPARATORS) |
| 129 { FILE_PATH_LITERAL("\\foo"), FILE_PATH_LITERAL("/foo") }, | 129 { FILE_PATH_LITERAL("\\foo"), FILE_PATH_LITERAL("/foo") }, |
| 130 #endif | 130 #endif |
| 131 }; | 131 }; |
| 132 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { | 132 for (size_t i = 0; i < arraysize(test_cases); ++i) { |
| 133 base::FilePath input = base::FilePath(test_cases[i].path); | 133 base::FilePath input = base::FilePath(test_cases[i].path); |
| 134 base::FilePath::StringType normalized_path_string = | 134 base::FilePath::StringType normalized_path_string = |
| 135 VirtualPath::GetNormalizedFilePath(input); | 135 VirtualPath::GetNormalizedFilePath(input); |
| 136 EXPECT_EQ(test_cases[i].normalized_path, normalized_path_string); | 136 EXPECT_EQ(test_cases[i].normalized_path, normalized_path_string); |
| 137 } | 137 } |
| 138 } | 138 } |
| 139 | 139 |
| 140 TEST_F(FileSystemUtilTest, IsAbsolutePath) { | 140 TEST_F(FileSystemUtilTest, IsAbsolutePath) { |
| 141 EXPECT_TRUE(VirtualPath::IsAbsolute(FILE_PATH_LITERAL("/"))); | 141 EXPECT_TRUE(VirtualPath::IsAbsolute(FILE_PATH_LITERAL("/"))); |
| 142 EXPECT_TRUE(VirtualPath::IsAbsolute(FILE_PATH_LITERAL("/foo/bar"))); | 142 EXPECT_TRUE(VirtualPath::IsAbsolute(FILE_PATH_LITERAL("/foo/bar"))); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 187 { FILE_PATH_LITERAL("foo"), FILE_PATH_LITERAL("bar") } }, | 187 { FILE_PATH_LITERAL("foo"), FILE_PATH_LITERAL("bar") } }, |
| 188 { FILE_PATH_LITERAL("c:/bar"), | 188 { FILE_PATH_LITERAL("c:/bar"), |
| 189 2, | 189 2, |
| 190 { FILE_PATH_LITERAL("c:"), FILE_PATH_LITERAL("bar") } }, | 190 { FILE_PATH_LITERAL("c:"), FILE_PATH_LITERAL("bar") } }, |
| 191 #ifdef FILE_PATH_USES_WIN_SEPARATORS | 191 #ifdef FILE_PATH_USES_WIN_SEPARATORS |
| 192 { FILE_PATH_LITERAL("c:\\bar"), | 192 { FILE_PATH_LITERAL("c:\\bar"), |
| 193 2, | 193 2, |
| 194 { FILE_PATH_LITERAL("c:"), FILE_PATH_LITERAL("bar") } }, | 194 { FILE_PATH_LITERAL("c:"), FILE_PATH_LITERAL("bar") } }, |
| 195 #endif | 195 #endif |
| 196 }; | 196 }; |
| 197 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { | 197 for (size_t i = 0; i < arraysize(test_cases); ++i) { |
| 198 base::FilePath input = base::FilePath(test_cases[i].path); | 198 base::FilePath input = base::FilePath(test_cases[i].path); |
| 199 std::vector<base::FilePath::StringType> components; | 199 std::vector<base::FilePath::StringType> components; |
| 200 VirtualPath::GetComponents(input, &components); | 200 VirtualPath::GetComponents(input, &components); |
| 201 EXPECT_EQ(test_cases[i].count, components.size()); | 201 EXPECT_EQ(test_cases[i].count, components.size()); |
| 202 for (size_t j = 0; j < components.size(); ++j) | 202 for (size_t j = 0; j < components.size(); ++j) |
| 203 EXPECT_EQ(test_cases[i].components[j], components[j]); | 203 EXPECT_EQ(test_cases[i].components[j], components[j]); |
| 204 } | 204 } |
| 205 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { | 205 for (size_t i = 0; i < arraysize(test_cases); ++i) { |
| 206 base::FilePath input = base::FilePath(test_cases[i].path); | 206 base::FilePath input = base::FilePath(test_cases[i].path); |
| 207 std::vector<std::string> components; | 207 std::vector<std::string> components; |
| 208 VirtualPath::GetComponentsUTF8Unsafe(input, &components); | 208 VirtualPath::GetComponentsUTF8Unsafe(input, &components); |
| 209 EXPECT_EQ(test_cases[i].count, components.size()); | 209 EXPECT_EQ(test_cases[i].count, components.size()); |
| 210 for (size_t j = 0; j < components.size(); ++j) { | 210 for (size_t j = 0; j < components.size(); ++j) { |
| 211 EXPECT_EQ(base::FilePath(test_cases[i].components[j]).AsUTF8Unsafe(), | 211 EXPECT_EQ(base::FilePath(test_cases[i].components[j]).AsUTF8Unsafe(), |
| 212 components[j]); | 212 components[j]); |
| 213 } | 213 } |
| 214 } | 214 } |
| 215 } | 215 } |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 298 // Percents must be escaped, otherwise they will be unintentionally unescaped. | 298 // Percents must be escaped, otherwise they will be unintentionally unescaped. |
| 299 const std::string kMountName = "X%20Y"; | 299 const std::string kMountName = "X%20Y"; |
| 300 | 300 |
| 301 const std::string url_string = | 301 const std::string url_string = |
| 302 GetExternalFileSystemRootURIString(kOriginURL, kMountName); | 302 GetExternalFileSystemRootURIString(kOriginURL, kMountName); |
| 303 EXPECT_EQ("filesystem:http://foo/external/X%2520Y/", url_string); | 303 EXPECT_EQ("filesystem:http://foo/external/X%2520Y/", url_string); |
| 304 } | 304 } |
| 305 | 305 |
| 306 } // namespace | 306 } // namespace |
| 307 } // namespace content | 307 } // namespace content |
| OLD | NEW |