Chromium Code Reviews| Index: webkit/fileapi/syncable/local_file_change_tracker_unittest.cc |
| diff --git a/webkit/fileapi/syncable/local_file_change_tracker_unittest.cc b/webkit/fileapi/syncable/local_file_change_tracker_unittest.cc |
| index 0eb77af71934bb5b41c21695e1eca7b68f2bb5fd..d8df1dc22c58417559cad6b649de885ebc88dd1b 100644 |
| --- a/webkit/fileapi/syncable/local_file_change_tracker_unittest.cc |
| +++ b/webkit/fileapi/syncable/local_file_change_tracker_unittest.cc |
| @@ -8,7 +8,9 @@ |
| #include "base/memory/scoped_ptr.h" |
| #include "base/message_loop.h" |
| #include "base/message_loop_proxy.h" |
| +#include "base/scoped_temp_dir.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| +#include "webkit/fileapi/isolated_context.h" |
| #include "webkit/fileapi/syncable/local_file_change_tracker.h" |
| #include "webkit/fileapi/syncable/local_file_sync_status.h" |
| @@ -24,6 +26,8 @@ const char kURL2[] = "filesystem:http://foo.com/test/foo.txt"; |
| const char kURL3[] = "filesystem:http://foo.com/test/bar"; |
| const char kURL4[] = "filesystem:http://foo.com/temporary/dir a"; |
| +const char kExternalFileSystemID[] = "drive"; |
| + |
| FileSystemURL URL(const char* spec) { |
| return FileSystemURL(GURL(spec)); |
| } |
| @@ -33,9 +37,19 @@ FileSystemURL URL(const char* spec) { |
| class LocalFileChangeTrackerTest : public testing::Test { |
| public: |
| LocalFileChangeTrackerTest() |
| - : sync_status_(new LocalFileSyncStatus), |
| - change_tracker_(new LocalFileChangeTracker( |
| - sync_status_.get(), base::MessageLoopProxy::current())) {} |
| + : sync_status_(new LocalFileSyncStatus) {} |
| + |
| + void SetUp() { |
|
tzik
2012/09/21 04:16:32
nit: please add "virtual" and "OVERRIDE"
nhiroki
2012/09/21 06:21:09
Done.
|
| + EXPECT_TRUE(data_dir_.CreateUniqueTempDir()); |
| + change_tracker_.reset(new LocalFileChangeTracker( |
| + sync_status_.get(), |
| + data_dir_.path(), |
| + base::MessageLoopProxy::current())); |
| + IsolatedContext::GetInstance()->RegisterExternalFileSystem( |
| + kExternalFileSystemID, |
| + kFileSystemTypeSyncable, |
| + FilePath()); |
| + } |
| protected: |
| LocalFileSyncStatus* sync_status() const { |
| @@ -46,6 +60,14 @@ class LocalFileChangeTrackerTest : public testing::Test { |
| return change_tracker_.get(); |
| } |
| + std::string SerializeExternalFileSystemURL(const FileSystemURL& url) { |
| + return change_tracker_->SerializeExternalFileSystemURL(url); |
| + } |
| + |
| + FileSystemURL DeserializeExternalFileSystemURL(const std::string& url) { |
| + return change_tracker_->DeserializeExternalFileSystemURL(url); |
| + } |
| + |
| void VerifyChange(const FileSystemURL& url, |
| const FileChange& expected_change) { |
| SCOPED_TRACE(testing::Message() << url.spec() << |
| @@ -73,6 +95,7 @@ class LocalFileChangeTrackerTest : public testing::Test { |
| } |
| private: |
| + ScopedTempDir data_dir_; |
| MessageLoop message_loop_; |
| scoped_ptr<LocalFileSyncStatus> sync_status_; |
| scoped_ptr<LocalFileChangeTracker> change_tracker_; |
| @@ -114,4 +137,15 @@ TEST_F(LocalFileChangeTrackerTest, GetChanges) { |
| FileChange::FILE_TYPE_FILE)); |
| } |
| +TEST_F(LocalFileChangeTrackerTest, SerializeExternalFileSystemURL) { |
| + const std::string kFileSystemRootURI = "filesystem:http://foo.com/external/"; |
| + const std::string kExternalFileSystemURL = |
| + kFileSystemRootURI + kExternalFileSystemID + "/dir a/file"; |
| + FileSystemURL url = FileSystemURL(GURL(kExternalFileSystemURL)); |
| + |
| + std::string serialized = SerializeExternalFileSystemURL(url); |
| + EXPECT_EQ(kExternalFileSystemURL, serialized); |
| + EXPECT_EQ(url, DeserializeExternalFileSystemURL(serialized)); |
| +} |
| + |
|
tzik
2012/09/21 04:16:32
Could you test to ensure we can use the database c
nhiroki
2012/09/21 06:21:09
I think a method to get dirty urls from DB is usef
|
| } // namespace fileapi |