#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "storage/browser/file_system/dragged_file_util.h"
#include <stddef.h>
#include <map>
#include <memory>
#include <set>
#include <string>
#include <vector>
#include "base/check.h"
#include "base/containers/contains.h"
#include "base/containers/queue.h"
#include "base/files/file_enumerator.h"
#include "base/files/file_util.h"
#include "base/files/scoped_temp_dir.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/task_environment.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "components/services/filesystem/public/mojom/types.mojom.h"
#include "storage/browser/file_system/file_system_context.h"
#include "storage/browser/file_system/file_system_operation_context.h"
#include "storage/browser/file_system/isolated_context.h"
#include "storage/browser/file_system/local_file_util.h"
#include "storage/browser/file_system/native_file_util.h"
#include "storage/browser/quota/quota_manager_proxy.h"
#include "storage/browser/test/async_file_test_helper.h"
#include "storage/browser/test/file_system_test_file_set.h"
#include "storage/browser/test/mock_quota_manager.h"
#include "storage/browser/test/mock_quota_manager_proxy.h"
#include "storage/browser/test/mock_special_storage_policy.h"
#include "storage/browser/test/test_file_system_context.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/storage_key/storage_key.h"
#include "url/gurl.h"
namespace storage {
namespace {
FileEntryList;
constexpr const base::FilePath::CharType* kRootPaths[] = …;
base::FilePath GetTopLevelPath(const base::FilePath& path) { … }
bool IsDirectoryEmpty(FileSystemContext* context, const FileSystemURL& url) { … }
FileSystemURL GetEntryURL(FileSystemContext* file_system_context,
const FileSystemURL& dir,
const base::FilePath::StringType& name) { … }
base::FilePath GetRelativeVirtualPath(const FileSystemURL& root,
const FileSystemURL& url) { … }
FileSystemURL GetOtherURL(FileSystemContext* file_system_context,
const FileSystemURL& root,
const FileSystemURL& other_root,
const FileSystemURL& url) { … }
}
class DraggedFileUtilTest : public testing::Test { … };
TEST_F(DraggedFileUtilTest, BasicTest) { … }
TEST_F(DraggedFileUtilTest, UnregisteredPathsTest) { … }
TEST_F(DraggedFileUtilTest, ReadDirectoryTest) { … }
TEST_F(DraggedFileUtilTest, GetLocalFilePathTest) { … }
TEST_F(DraggedFileUtilTest, CopyOutFileTest) { … }
TEST_F(DraggedFileUtilTest, CopyOutDirectoryTest) { … }
#if !BUILDFLAG(IS_FUCHSIA)
TEST_F(DraggedFileUtilTest, TouchTest) { … }
#endif
TEST_F(DraggedFileUtilTest, TruncateTest) { … }
TEST_F(DraggedFileUtilTest, EnumerateTest) { … }
TEST_F(DraggedFileUtilTest, EnumerateRecursivelyTest) { … }
}