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 |