OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "webkit/fileapi/file_system_operation.h" | 5 #include "webkit/fileapi/file_system_operation.h" |
6 | 6 |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/memory/scoped_temp_dir.h" | 10 #include "base/memory/scoped_temp_dir.h" |
11 #include "base/message_loop.h" | 11 #include "base/message_loop.h" |
12 #include "testing/gtest/include/gtest/gtest.h" | 12 #include "testing/gtest/include/gtest/gtest.h" |
13 #include "webkit/fileapi/file_system_callback_dispatcher.h" | 13 #include "webkit/fileapi/file_system_callback_dispatcher.h" |
14 #include "webkit/fileapi/file_system_context.h" | 14 #include "webkit/fileapi/file_system_context.h" |
15 #include "webkit/fileapi/file_system_file_util.h" | 15 #include "webkit/fileapi/file_system_file_util.h" |
16 #include "webkit/fileapi/file_system_mount_point_provider.h" | 16 #include "webkit/fileapi/file_system_mount_point_provider.h" |
17 #include "webkit/fileapi/file_system_operation.h" | 17 #include "webkit/fileapi/file_system_operation.h" |
18 #include "webkit/fileapi/file_system_path_manager.h" | 18 #include "webkit/fileapi/file_system_path_manager.h" |
19 #include "webkit/fileapi/file_system_util.h" | 19 #include "webkit/fileapi/file_system_util.h" |
20 #include "webkit/fileapi/local_file_system_file_util.h" | 20 #include "webkit/fileapi/local_file_system_file_util.h" |
21 #include "webkit/fileapi/quota_file_util.h" | 21 #include "webkit/fileapi/quota_file_util.h" |
22 #include "webkit/quota/quota_manager.h" | 22 #include "webkit/quota/quota_manager.h" |
23 | 23 |
24 namespace fileapi { | 24 namespace fileapi { |
25 | 25 |
26 const int kFileOperationStatusNotSet = 1; | 26 const int kFileOperationStatusNotSet = 1; |
27 const int kFileOperationSucceeded = 0; | 27 const int kFileOperationSucceeded = 0; |
28 | 28 |
29 class MockDispatcher; | |
30 | |
31 namespace { | 29 namespace { |
32 | 30 |
33 class MockQuotaManager : public quota::QuotaManager { | 31 class MockQuotaManager : public quota::QuotaManager { |
34 public: | 32 public: |
35 MockQuotaManager(int64 usage, int64 quota) | 33 MockQuotaManager(int64 usage, int64 quota) |
36 : quota::QuotaManager(false /* is_incognito */, | 34 : quota::QuotaManager(false /* is_incognito */, |
37 FilePath(), | 35 FilePath(), |
38 base::MessageLoopProxy::CreateForCurrentThread(), | 36 base::MessageLoopProxy::CreateForCurrentThread(), |
39 base::MessageLoopProxy::CreateForCurrentThread()), | 37 base::MessageLoopProxy::CreateForCurrentThread()), |
40 usage_(usage), | 38 usage_(usage), |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 int status_; | 153 int status_; |
156 base::PlatformFileInfo info_; | 154 base::PlatformFileInfo info_; |
157 FilePath path_; | 155 FilePath path_; |
158 FilePath local_path_; | 156 FilePath local_path_; |
159 FilePath filesystem_dir_; | 157 FilePath filesystem_dir_; |
160 std::vector<base::FileUtilProxy::Entry> entries_; | 158 std::vector<base::FileUtilProxy::Entry> entries_; |
161 | 159 |
162 DISALLOW_COPY_AND_ASSIGN(FileSystemOperationTest); | 160 DISALLOW_COPY_AND_ASSIGN(FileSystemOperationTest); |
163 }; | 161 }; |
164 | 162 |
| 163 namespace { |
| 164 |
165 class MockDispatcher : public FileSystemCallbackDispatcher { | 165 class MockDispatcher : public FileSystemCallbackDispatcher { |
166 public: | 166 public: |
167 MockDispatcher(FileSystemOperationTest* test) : test_(test) { } | 167 MockDispatcher(FileSystemOperationTest* test) : test_(test) { } |
168 | 168 |
169 virtual void DidFail(base::PlatformFileError status) { | 169 virtual void DidFail(base::PlatformFileError status) { |
170 test_->set_status(status); | 170 test_->set_status(status); |
171 } | 171 } |
172 | 172 |
173 virtual void DidSucceed() { | 173 virtual void DidSucceed() { |
174 test_->set_status(kFileOperationSucceeded); | 174 test_->set_status(kFileOperationSucceeded); |
(...skipping 23 matching lines...) Expand all Loading... |
198 } | 198 } |
199 | 199 |
200 virtual void DidWrite(int64 bytes, bool complete) { | 200 virtual void DidWrite(int64 bytes, bool complete) { |
201 NOTREACHED(); | 201 NOTREACHED(); |
202 } | 202 } |
203 | 203 |
204 private: | 204 private: |
205 FileSystemOperationTest* test_; | 205 FileSystemOperationTest* test_; |
206 }; | 206 }; |
207 | 207 |
208 namespace { | |
209 | |
210 class MockFileSystemPathManager : public FileSystemPathManager { | 208 class MockFileSystemPathManager : public FileSystemPathManager { |
211 public: | 209 public: |
212 MockFileSystemPathManager(const FilePath& filesystem_path) | 210 MockFileSystemPathManager(const FilePath& filesystem_path) |
213 : FileSystemPathManager(base::MessageLoopProxy::CreateForCurrentThread(), | 211 : FileSystemPathManager(base::MessageLoopProxy::CreateForCurrentThread(), |
214 filesystem_path, NULL, false, true), | 212 filesystem_path, NULL, false, true), |
215 test_filesystem_path_(filesystem_path) {} | 213 test_filesystem_path_(filesystem_path) {} |
216 | 214 |
217 virtual FilePath ValidateFileSystemRootAndGetPathOnFileThread( | 215 virtual FilePath ValidateFileSystemRootAndGetPathOnFileThread( |
218 const GURL& origin_url, | 216 const GURL& origin_url, |
219 FileSystemType type, | 217 FileSystemType type, |
(...skipping 662 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
882 | 880 |
883 operation()->Truncate(URLForPath(file_path), 11); | 881 operation()->Truncate(URLForPath(file_path), 11); |
884 MessageLoop::current()->RunAllPending(); | 882 MessageLoop::current()->RunAllPending(); |
885 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE, status()); | 883 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NO_SPACE, status()); |
886 | 884 |
887 EXPECT_TRUE(file_util::GetFileInfo(PlatformPath(file_path), &info)); | 885 EXPECT_TRUE(file_util::GetFileInfo(PlatformPath(file_path), &info)); |
888 EXPECT_EQ(10, info.size); | 886 EXPECT_EQ(10, info.size); |
889 } | 887 } |
890 | 888 |
891 } // namespace fileapi | 889 } // namespace fileapi |
OLD | NEW |