Index: webkit/fileapi/local_file_system_operation_write_unittest.cc |
diff --git a/webkit/fileapi/local_file_system_operation_write_unittest.cc b/webkit/fileapi/local_file_system_operation_write_unittest.cc |
index 04ac98fdff2cf4985a51a884537965c04c9f118d..afd2525a4f93f204fecf6e46f55ff93e5718cf75 100644 |
--- a/webkit/fileapi/local_file_system_operation_write_unittest.cc |
+++ b/webkit/fileapi/local_file_system_operation_write_unittest.cc |
@@ -24,6 +24,7 @@ |
#include "webkit/fileapi/local_file_system_operation.h" |
#include "webkit/fileapi/local_file_system_test_helper.h" |
#include "webkit/fileapi/local_file_util.h" |
+#include "webkit/fileapi/mock_file_change_observer.h" |
#include "webkit/quota/quota_manager.h" |
using quota::QuotaManager; |
@@ -76,7 +77,9 @@ class LocalFileSystemOperationWriteTest |
status_(base::PLATFORM_FILE_OK), |
cancel_status_(base::PLATFORM_FILE_ERROR_FAILED), |
bytes_written_(0), |
- complete_(false) {} |
+ complete_(false) { |
+ change_observers_ = MockFileChangeObserver::CreateList(&change_observer_); |
+ } |
LocalFileSystemOperation* operation(); |
@@ -94,6 +97,14 @@ class LocalFileSystemOperationWriteTest |
virtual void TearDown(); |
protected: |
+ const ChangeObserverList& change_observers() const { |
+ return change_observers_; |
+ } |
+ |
+ MockFileChangeObserver* change_observer() { |
+ return &change_observer_; |
+ } |
+ |
FileSystemURL URLForPath(const FilePath& path) const { |
return test_helper_.CreateURL(path); |
} |
@@ -147,6 +158,10 @@ class LocalFileSystemOperationWriteTest |
bool complete_; |
DISALLOW_COPY_AND_ASSIGN(LocalFileSystemOperationWriteTest); |
+ |
+ private: |
+ MockFileChangeObserver change_observer_; |
+ ChangeObserverList change_observers_; |
}; |
namespace { |
@@ -222,7 +237,9 @@ void LocalFileSystemOperationWriteTest::TearDown() { |
} |
LocalFileSystemOperation* LocalFileSystemOperationWriteTest::operation() { |
- return test_helper_.NewOperation(); |
+ LocalFileSystemOperation* operation = test_helper_.NewOperation(); |
+ operation->operation_context()->set_change_observers(change_observers()); |
+ return operation; |
} |
TEST_F(LocalFileSystemOperationWriteTest, TestWriteSuccess) { |
@@ -243,6 +260,8 @@ TEST_F(LocalFileSystemOperationWriteTest, TestWriteSuccess) { |
EXPECT_EQ(14, bytes_written()); |
EXPECT_EQ(base::PLATFORM_FILE_OK, status()); |
EXPECT_TRUE(complete()); |
+ |
+ EXPECT_EQ(1, change_observer()->get_and_reset_modify_file_count()); |
} |
TEST_F(LocalFileSystemOperationWriteTest, TestWriteZero) { |
@@ -262,6 +281,8 @@ TEST_F(LocalFileSystemOperationWriteTest, TestWriteZero) { |
EXPECT_EQ(0, bytes_written()); |
EXPECT_EQ(base::PLATFORM_FILE_OK, status()); |
EXPECT_TRUE(complete()); |
+ |
+ EXPECT_EQ(1, change_observer()->get_and_reset_modify_file_count()); |
} |
TEST_F(LocalFileSystemOperationWriteTest, TestWriteInvalidBlobUrl) { |
@@ -274,6 +295,8 @@ TEST_F(LocalFileSystemOperationWriteTest, TestWriteInvalidBlobUrl) { |
EXPECT_EQ(0, bytes_written()); |
EXPECT_EQ(base::PLATFORM_FILE_ERROR_FAILED, status()); |
EXPECT_TRUE(complete()); |
+ |
+ EXPECT_EQ(0, change_observer()->get_and_reset_modify_file_count()); |
} |
TEST_F(LocalFileSystemOperationWriteTest, TestWriteInvalidFile) { |
@@ -295,6 +318,8 @@ TEST_F(LocalFileSystemOperationWriteTest, TestWriteInvalidFile) { |
EXPECT_EQ(0, bytes_written()); |
EXPECT_EQ(base::PLATFORM_FILE_ERROR_NOT_FOUND, status()); |
EXPECT_TRUE(complete()); |
+ |
+ EXPECT_EQ(1, change_observer()->get_and_reset_modify_file_count()); |
} |
TEST_F(LocalFileSystemOperationWriteTest, TestWriteDir) { |
@@ -325,6 +350,8 @@ TEST_F(LocalFileSystemOperationWriteTest, TestWriteDir) { |
status() == base::PLATFORM_FILE_ERROR_ACCESS_DENIED || |
status() == base::PLATFORM_FILE_ERROR_FAILED); |
EXPECT_TRUE(complete()); |
+ |
+ EXPECT_EQ(1, change_observer()->get_and_reset_modify_file_count()); |
} |
TEST_F(LocalFileSystemOperationWriteTest, TestWriteFailureByQuota) { |
@@ -346,6 +373,8 @@ TEST_F(LocalFileSystemOperationWriteTest, TestWriteFailureByQuota) { |
EXPECT_EQ(10, bytes_written()); |
EXPECT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE, status()); |
EXPECT_TRUE(complete()); |
+ |
+ EXPECT_EQ(1, change_observer()->get_and_reset_modify_file_count()); |
} |
TEST_F(LocalFileSystemOperationWriteTest, TestImmediateCancelSuccessfulWrite) { |
@@ -374,6 +403,8 @@ TEST_F(LocalFileSystemOperationWriteTest, TestImmediateCancelSuccessfulWrite) { |
EXPECT_EQ(base::PLATFORM_FILE_ERROR_ABORT, status()); |
EXPECT_EQ(base::PLATFORM_FILE_OK, cancel_status()); |
EXPECT_TRUE(complete()); |
+ |
+ EXPECT_EQ(0, change_observer()->get_and_reset_modify_file_count()); |
} |
TEST_F(LocalFileSystemOperationWriteTest, TestImmediateCancelFailingWrite) { |
@@ -403,6 +434,8 @@ TEST_F(LocalFileSystemOperationWriteTest, TestImmediateCancelFailingWrite) { |
EXPECT_EQ(base::PLATFORM_FILE_ERROR_ABORT, status()); |
EXPECT_EQ(base::PLATFORM_FILE_OK, cancel_status()); |
EXPECT_TRUE(complete()); |
+ |
+ EXPECT_EQ(0, change_observer()->get_and_reset_modify_file_count()); |
} |
// TODO(ericu,dmikurube,kinuko): Add more tests for cancel cases. |