chromium/storage/browser/test/file_system_test_file_set.h

// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef STORAGE_BROWSER_TEST_FILE_SYSTEM_TEST_FILE_SET_H_
#define STORAGE_BROWSER_TEST_FILE_SYSTEM_TEST_FILE_SET_H_

#include <stddef.h>
#include <stdint.h>

#include "base/files/file_path.h"

// Common test data structures and test cases.

namespace storage {

// For tests using blocking, this indicates whether a file should be blocked or
// allowed and additionally marks the expectation.
enum class TestBlockAction {};

struct FileSystemTestCaseRecord {};

extern const FileSystemTestCaseRecord kRegularFileSystemTestCases[];
extern const size_t kRegularFileSystemTestCaseSize;

size_t GetRegularFileSystemTestCaseSize();

// Creates one file or directory specified by |record|.
void SetUpOneFileSystemTestCase(const base::FilePath& root_path,
                                const FileSystemTestCaseRecord& record);

// Creates the files and directories specified in kRegularTestCases.
void SetUpRegularFileSystemTestCases(const base::FilePath& root_path);

}  // namespace storage

#endif  // STORAGE_BROWSER_TEST_FILE_SYSTEM_TEST_FILE_SET_H_