diff options
Diffstat (limited to 'chromium/webkit/common/fileapi/file_system_util_unittest.cc')
-rw-r--r-- | chromium/webkit/common/fileapi/file_system_util_unittest.cc | 263 |
1 files changed, 0 insertions, 263 deletions
diff --git a/chromium/webkit/common/fileapi/file_system_util_unittest.cc b/chromium/webkit/common/fileapi/file_system_util_unittest.cc deleted file mode 100644 index 2cc340242eb..00000000000 --- a/chromium/webkit/common/fileapi/file_system_util_unittest.cc +++ /dev/null @@ -1,263 +0,0 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "webkit/common/fileapi/file_system_util.h" - -#include "base/files/file_path.h" -#include "testing/gtest/include/gtest/gtest.h" -#include "url/gurl.h" - -namespace fileapi { -namespace { - -class FileSystemUtilTest : public testing::Test {}; - -TEST_F(FileSystemUtilTest, GetTempFileSystemRootURI) { - GURL origin_url("http://chromium.org"); - fileapi::FileSystemType type = fileapi::kFileSystemTypeTemporary; - GURL uri = GURL("filesystem:http://chromium.org/temporary/"); - EXPECT_EQ(uri, GetFileSystemRootURI(origin_url, type)); -} - -TEST_F(FileSystemUtilTest, GetPersistentFileSystemRootURI) { - GURL origin_url("http://chromium.org"); - fileapi::FileSystemType type = fileapi::kFileSystemTypePersistent; - GURL uri = GURL("filesystem:http://chromium.org/persistent/"); - EXPECT_EQ(uri, GetFileSystemRootURI(origin_url, type)); -} - -TEST_F(FileSystemUtilTest, VirtualPathBaseName) { - struct test_data { - const base::FilePath::StringType path; - const base::FilePath::StringType base_name; - } test_cases[] = { - { FILE_PATH_LITERAL("foo/bar"), FILE_PATH_LITERAL("bar") }, - { FILE_PATH_LITERAL("foo/b:bar"), FILE_PATH_LITERAL("b:bar") }, - { FILE_PATH_LITERAL(""), FILE_PATH_LITERAL("") }, - { FILE_PATH_LITERAL("/"), FILE_PATH_LITERAL("/") }, - { FILE_PATH_LITERAL("foo//////bar"), FILE_PATH_LITERAL("bar") }, - { FILE_PATH_LITERAL("foo/bar/"), FILE_PATH_LITERAL("bar") }, - { FILE_PATH_LITERAL("foo/bar/////"), FILE_PATH_LITERAL("bar") }, - { FILE_PATH_LITERAL("/bar/////"), FILE_PATH_LITERAL("bar") }, - { FILE_PATH_LITERAL("bar/////"), FILE_PATH_LITERAL("bar") }, - { FILE_PATH_LITERAL("bar/"), FILE_PATH_LITERAL("bar") }, - { FILE_PATH_LITERAL("/bar"), FILE_PATH_LITERAL("bar") }, - { FILE_PATH_LITERAL("////bar"), FILE_PATH_LITERAL("bar") }, - { FILE_PATH_LITERAL("bar"), FILE_PATH_LITERAL("bar") } - }; - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { - base::FilePath input = base::FilePath(test_cases[i].path); - base::FilePath base_name = VirtualPath::BaseName(input); - EXPECT_EQ(test_cases[i].base_name, base_name.value()); - } -} - -TEST_F(FileSystemUtilTest, VirtualPathDirName) { - struct test_data { - const base::FilePath::StringType path; - const base::FilePath::StringType dir_name; - } test_cases[] = { - { FILE_PATH_LITERAL("foo/bar"), FILE_PATH_LITERAL("foo") }, - { FILE_PATH_LITERAL("foo/b:bar"), FILE_PATH_LITERAL("foo") }, - { FILE_PATH_LITERAL(""), FILE_PATH_LITERAL(".") }, - { FILE_PATH_LITERAL("/"), FILE_PATH_LITERAL("/") }, - { FILE_PATH_LITERAL("foo//////bar"), FILE_PATH_LITERAL("foo") }, - { FILE_PATH_LITERAL("foo/bar/"), FILE_PATH_LITERAL("foo") }, - { FILE_PATH_LITERAL("foo/bar/////"), FILE_PATH_LITERAL("foo") }, - { FILE_PATH_LITERAL("/bar/////"), FILE_PATH_LITERAL("/") }, - { FILE_PATH_LITERAL("bar/////"), FILE_PATH_LITERAL(".") }, - { FILE_PATH_LITERAL("bar/"), FILE_PATH_LITERAL(".") }, - { FILE_PATH_LITERAL("/bar"), FILE_PATH_LITERAL("/") }, - { FILE_PATH_LITERAL("////bar"), FILE_PATH_LITERAL("/") }, - { FILE_PATH_LITERAL("bar"), FILE_PATH_LITERAL(".") }, - { FILE_PATH_LITERAL("c:bar"), FILE_PATH_LITERAL(".") }, -#ifdef FILE_PATH_USES_WIN_SEPARATORS - { FILE_PATH_LITERAL("foo\\bar"), FILE_PATH_LITERAL("foo") }, - { FILE_PATH_LITERAL("foo\\b:bar"), FILE_PATH_LITERAL("foo") }, - { FILE_PATH_LITERAL("\\"), FILE_PATH_LITERAL("\\") }, - { FILE_PATH_LITERAL("foo\\\\\\\\\\\\bar"), FILE_PATH_LITERAL("foo") }, - { FILE_PATH_LITERAL("foo\\bar\\"), FILE_PATH_LITERAL("foo") }, - { FILE_PATH_LITERAL("foo\\bar\\\\\\\\\\"), FILE_PATH_LITERAL("foo") }, - { FILE_PATH_LITERAL("\\bar\\\\\\\\\\"), FILE_PATH_LITERAL("\\") }, - { FILE_PATH_LITERAL("bar\\\\\\\\\\"), FILE_PATH_LITERAL(".") }, - { FILE_PATH_LITERAL("bar\\"), FILE_PATH_LITERAL(".") }, - { FILE_PATH_LITERAL("\\bar"), FILE_PATH_LITERAL("\\") }, - { FILE_PATH_LITERAL("\\\\\\\\bar"), FILE_PATH_LITERAL("\\") }, -#endif - }; - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { - base::FilePath input = base::FilePath(test_cases[i].path); - base::FilePath dir_name = VirtualPath::DirName(input); - EXPECT_EQ(test_cases[i].dir_name, dir_name.value()); - } -} - -TEST_F(FileSystemUtilTest, GetNormalizedFilePath) { - struct test_data { - const base::FilePath::StringType path; - const base::FilePath::StringType normalized_path; - } test_cases[] = { - { FILE_PATH_LITERAL(""), FILE_PATH_LITERAL("/") }, - { FILE_PATH_LITERAL("/"), FILE_PATH_LITERAL("/") }, - { FILE_PATH_LITERAL("foo/bar"), FILE_PATH_LITERAL("/foo/bar") }, - { FILE_PATH_LITERAL("/foo/bar"), FILE_PATH_LITERAL("/foo/bar") }, -#if defined(FILE_PATH_USES_WIN_SEPARATORS) - { FILE_PATH_LITERAL("\\foo"), FILE_PATH_LITERAL("/foo") }, -#endif - }; - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { - base::FilePath input = base::FilePath(test_cases[i].path); - base::FilePath::StringType normalized_path_string = - VirtualPath::GetNormalizedFilePath(input); - EXPECT_EQ(test_cases[i].normalized_path, normalized_path_string); - } -} - -TEST_F(FileSystemUtilTest, IsAbsolutePath) { - EXPECT_TRUE(VirtualPath::IsAbsolute(FILE_PATH_LITERAL("/"))); - EXPECT_TRUE(VirtualPath::IsAbsolute(FILE_PATH_LITERAL("/foo/bar"))); - EXPECT_FALSE(VirtualPath::IsAbsolute(base::FilePath::StringType())); - EXPECT_FALSE(VirtualPath::IsAbsolute(FILE_PATH_LITERAL("foo/bar"))); -} - -TEST_F(FileSystemUtilTest, IsRootPath) { - EXPECT_TRUE(VirtualPath::IsRootPath(base::FilePath(FILE_PATH_LITERAL("")))); - EXPECT_TRUE(VirtualPath::IsRootPath(base::FilePath())); - EXPECT_TRUE(VirtualPath::IsRootPath(base::FilePath(FILE_PATH_LITERAL("/")))); - EXPECT_TRUE(VirtualPath::IsRootPath(base::FilePath(FILE_PATH_LITERAL("//")))); - EXPECT_FALSE(VirtualPath::IsRootPath( - base::FilePath(FILE_PATH_LITERAL("c:/")))); -#if defined(FILE_PATH_USES_WIN_SEPARATORS) - EXPECT_TRUE(VirtualPath::IsRootPath(base::FilePath(FILE_PATH_LITERAL("\\")))); - EXPECT_FALSE(VirtualPath::IsRootPath( - base::FilePath(FILE_PATH_LITERAL("c:\\")))); -#endif -} - -TEST_F(FileSystemUtilTest, VirtualPathGetComponents) { - struct test_data { - const base::FilePath::StringType path; - size_t count; - const base::FilePath::StringType components[3]; - } test_cases[] = { - { FILE_PATH_LITERAL("foo/bar"), - 2, - { FILE_PATH_LITERAL("foo"), FILE_PATH_LITERAL("bar") } }, - { FILE_PATH_LITERAL("foo"), - 1, - { FILE_PATH_LITERAL("foo") } }, - { FILE_PATH_LITERAL("foo////bar"), - 2, - { FILE_PATH_LITERAL("foo"), FILE_PATH_LITERAL("bar") } }, - { FILE_PATH_LITERAL("foo/c:bar"), - 2, - { FILE_PATH_LITERAL("foo"), FILE_PATH_LITERAL("c:bar") } }, - { FILE_PATH_LITERAL("c:foo/bar"), - 2, - { FILE_PATH_LITERAL("c:foo"), FILE_PATH_LITERAL("bar") } }, - { FILE_PATH_LITERAL("foo/bar"), - 2, - { FILE_PATH_LITERAL("foo"), FILE_PATH_LITERAL("bar") } }, - { FILE_PATH_LITERAL("/foo/bar"), - 2, - { FILE_PATH_LITERAL("foo"), FILE_PATH_LITERAL("bar") } }, - { FILE_PATH_LITERAL("c:/bar"), - 2, - { FILE_PATH_LITERAL("c:"), FILE_PATH_LITERAL("bar") } }, -#ifdef FILE_PATH_USES_WIN_SEPARATORS - { FILE_PATH_LITERAL("c:\\bar"), - 2, - { FILE_PATH_LITERAL("c:"), FILE_PATH_LITERAL("bar") } }, -#endif - }; - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { - base::FilePath input = base::FilePath(test_cases[i].path); - std::vector<base::FilePath::StringType> components; - VirtualPath::GetComponents(input, &components); - EXPECT_EQ(test_cases[i].count, components.size()); - for (size_t j = 0; j < components.size(); ++j) - EXPECT_EQ(test_cases[i].components[j], components[j]); - } - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(test_cases); ++i) { - base::FilePath input = base::FilePath(test_cases[i].path); - std::vector<std::string> components; - VirtualPath::GetComponentsUTF8Unsafe(input, &components); - EXPECT_EQ(test_cases[i].count, components.size()); - for (size_t j = 0; j < components.size(); ++j) { - EXPECT_EQ(base::FilePath(test_cases[i].components[j]).AsUTF8Unsafe(), - components[j]); - } - } -} - -TEST_F(FileSystemUtilTest, GetIsolatedFileSystemName) { - GURL origin_url("http://foo"); - std::string fsname1 = GetIsolatedFileSystemName(origin_url, "bar"); - EXPECT_EQ("http_foo_0:Isolated_bar", fsname1); -} - -TEST_F(FileSystemUtilTest, CrackIsolatedFileSystemName) { - std::string fsid; - EXPECT_TRUE(CrackIsolatedFileSystemName("foo:Isolated_bar", &fsid)); - EXPECT_EQ("bar", fsid); - EXPECT_TRUE(CrackIsolatedFileSystemName("foo:isolated_bar", &fsid)); - EXPECT_EQ("bar", fsid); - EXPECT_TRUE(CrackIsolatedFileSystemName("foo:Isolated__bar", &fsid)); - EXPECT_EQ("_bar", fsid); - EXPECT_TRUE(CrackIsolatedFileSystemName("foo::Isolated_bar", &fsid)); - EXPECT_EQ("bar", fsid); -} - -TEST_F(FileSystemUtilTest, RejectBadIsolatedFileSystemName) { - std::string fsid; - EXPECT_FALSE(CrackIsolatedFileSystemName("foobar", &fsid)); - EXPECT_FALSE(CrackIsolatedFileSystemName("foo:_bar", &fsid)); - EXPECT_FALSE(CrackIsolatedFileSystemName("foo:Isolatedbar", &fsid)); - EXPECT_FALSE(CrackIsolatedFileSystemName("fooIsolatedbar", &fsid)); - EXPECT_FALSE(CrackIsolatedFileSystemName("foo:Persistent", &fsid)); - EXPECT_FALSE(CrackIsolatedFileSystemName("foo:Temporary", &fsid)); - EXPECT_FALSE(CrackIsolatedFileSystemName("foo:External", &fsid)); - EXPECT_FALSE(CrackIsolatedFileSystemName(":Isolated_bar", &fsid)); - EXPECT_FALSE(CrackIsolatedFileSystemName("foo:Isolated_", &fsid)); -} - -TEST_F(FileSystemUtilTest, ValidateIsolatedFileSystemId) { - EXPECT_TRUE(ValidateIsolatedFileSystemId("ABCDEF0123456789ABCDEF0123456789")); - EXPECT_TRUE(ValidateIsolatedFileSystemId("ABCDEFABCDEFABCDEFABCDEFABCDEFAB")); - EXPECT_TRUE(ValidateIsolatedFileSystemId("01234567890123456789012345678901")); - - const size_t kExpectedFileSystemIdSize = 32; - - // Should not contain lowercase characters. - const std::string kLowercaseId = "abcdef0123456789abcdef0123456789"; - EXPECT_EQ(kExpectedFileSystemIdSize, kLowercaseId.size()); - EXPECT_FALSE(ValidateIsolatedFileSystemId(kLowercaseId)); - - // Should not be shorter/longer than expected. - EXPECT_FALSE(ValidateIsolatedFileSystemId(std::string())); - - const std::string kShorterId = "ABCDEF0123456789ABCDEF"; - EXPECT_GT(kExpectedFileSystemIdSize, kShorterId.size()); - EXPECT_FALSE(ValidateIsolatedFileSystemId(kShorterId)); - - const std::string kLongerId = "ABCDEF0123456789ABCDEF0123456789ABCDEF"; - EXPECT_LT(kExpectedFileSystemIdSize, kLongerId.size()); - EXPECT_FALSE(ValidateIsolatedFileSystemId(kLongerId)); - - // Should not contain not alphabetical nor numerical characters. - const std::string kSlashId = "ABCD/EFGH/IJKL/MNOP/QRST/UVWX/YZ"; - EXPECT_EQ(kExpectedFileSystemIdSize, kSlashId.size()); - EXPECT_FALSE(ValidateIsolatedFileSystemId(kSlashId)); - - const std::string kBackslashId = "ABCD\\EFGH\\IJKL\\MNOP\\QRST\\UVWX\\YZ"; - EXPECT_EQ(kExpectedFileSystemIdSize, kBackslashId.size()); - EXPECT_FALSE(ValidateIsolatedFileSystemId(kBackslashId)); - - const std::string kSpaceId = "ABCD EFGH IJKL MNOP QRST UVWX YZ"; - EXPECT_EQ(kExpectedFileSystemIdSize, kSpaceId.size()); - EXPECT_FALSE(ValidateIsolatedFileSystemId(kSpaceId)); -} - -} // namespace -} // namespace fileapi |