Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2310)

Unified Diff: chrome/browser/chromeos/file_system_provider/fake_provided_file_system.h

Issue 393233002: [fsp] Refactor FakeProvidedFileSystem to be more flexible. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/file_system_provider/fake_provided_file_system.h
diff --git a/chrome/browser/chromeos/file_system_provider/fake_provided_file_system.h b/chrome/browser/chromeos/file_system_provider/fake_provided_file_system.h
index cf8b75119a0a98f4eab66b6ad08929724b94e1df..b4223642c3085412ab21510993d3b867ba22b490 100644
--- a/chrome/browser/chromeos/file_system_provider/fake_provided_file_system.h
+++ b/chrome/browser/chromeos/file_system_provider/fake_provided_file_system.h
@@ -13,6 +13,10 @@
class Profile;
+namespace base {
+class Time;
+} // namespace base
+
namespace net {
class IOBuffer;
} // namespace net
@@ -22,11 +26,22 @@ namespace file_system_provider {
class RequestManager;
-extern const char kFakeFileName[];
+// Path of a sample fake file, which is added to the fake file system by
+// default.
extern const char kFakeFilePath[];
-extern const char kFakeFileText[];
-extern const size_t kFakeFileSize;
-extern const char kFakeFileModificationTime[];
+
+// Represents a file or a directory on a fake file system.
+struct FakeEntry {
+ FakeEntry() {}
+
+ FakeEntry(EntryMetadata& metadata, const std::string& contents)
+ : metadata(metadata), contents(contents) {}
+
+ virtual ~FakeEntry() {}
+
+ EntryMetadata metadata;
+ std::string contents;
+};
// Fake provided file system implementation. Does not communicate with target
// extensions. Used for unit tests.
@@ -36,6 +51,20 @@ class FakeProvidedFileSystem : public ProvidedFileSystemInterface {
const ProvidedFileSystemInfo& file_system_info);
virtual ~FakeProvidedFileSystem();
+ // Adds a fake entry to the fake file system.
+ void AddEntry(const base::FilePath& entry_path,
+ bool is_directory,
+ const std::string& name,
+ int64 size,
+ base::Time modification_time,
+ std::string mime_type,
+ std::string contents);
+
+ // Fetches a pointer to a fake entry registered in the fake file system. If
+ // found, then the result is written to |fake_entry| and true is returned.
+ // Otherwise, false is returned. |fake_entry| must not be NULL.
+ bool GetEntry(const base::FilePath& entry_path, FakeEntry* fake_entry) const;
+
// ProvidedFileSystemInterface overrides.
virtual void RequestUnmount(
const fileapi::AsyncFileUtil::StatusCallback& callback) OVERRIDE;
@@ -77,9 +106,11 @@ class FakeProvidedFileSystem : public ProvidedFileSystemInterface {
const ProvidedFileSystemInfo& file_system_info);
private:
+ typedef std::map<base::FilePath, FakeEntry> Entries;
typedef std::map<int, base::FilePath> OpenedFilesMap;
ProvidedFileSystemInfo file_system_info_;
+ Entries entries_;
OpenedFilesMap opened_files_;
int last_file_handle_;

Powered by Google App Engine
This is Rietveld 408576698