OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <set> | 5 #include <set> |
6 #include <string> | 6 #include <string> |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
11 #include "base/file_util.h" | 11 #include "base/file_util.h" |
12 #include "base/files/scoped_temp_dir.h" | 12 #include "base/files/scoped_temp_dir.h" |
13 #include "base/memory/scoped_ptr.h" | 13 #include "base/memory/scoped_ptr.h" |
14 #include "base/message_loop.h" | 14 #include "base/message_loop.h" |
15 #include "base/platform_file.h" | 15 #include "base/platform_file.h" |
16 #include "testing/gtest/include/gtest/gtest.h" | 16 #include "testing/gtest/include/gtest/gtest.h" |
| 17 #include "webkit/fileapi/async_file_test_helper.h" |
17 #include "webkit/fileapi/external_mount_points.h" | 18 #include "webkit/fileapi/external_mount_points.h" |
18 #include "webkit/fileapi/file_system_context.h" | 19 #include "webkit/fileapi/file_system_context.h" |
19 #include "webkit/fileapi/file_system_operation_context.h" | 20 #include "webkit/fileapi/file_system_operation_context.h" |
20 #include "webkit/fileapi/file_system_task_runners.h" | 21 #include "webkit/fileapi/file_system_task_runners.h" |
21 #include "webkit/fileapi/file_system_usage_cache.h" | 22 #include "webkit/fileapi/file_system_usage_cache.h" |
22 #include "webkit/fileapi/file_util_helper.h" | |
23 #include "webkit/fileapi/local_file_system_test_helper.h" | 23 #include "webkit/fileapi/local_file_system_test_helper.h" |
24 #include "webkit/fileapi/mock_file_change_observer.h" | 24 #include "webkit/fileapi/mock_file_change_observer.h" |
25 #include "webkit/fileapi/mock_file_system_options.h" | 25 #include "webkit/fileapi/mock_file_system_options.h" |
26 #include "webkit/fileapi/obfuscated_file_util.h" | 26 #include "webkit/fileapi/obfuscated_file_util.h" |
27 #include "webkit/fileapi/test_file_set.h" | 27 #include "webkit/fileapi/test_file_set.h" |
28 #include "webkit/quota/mock_special_storage_policy.h" | 28 #include "webkit/quota/mock_special_storage_policy.h" |
29 #include "webkit/quota/quota_manager.h" | 29 #include "webkit/quota/quota_manager.h" |
30 #include "webkit/quota/quota_types.h" | 30 #include "webkit/quota/quota_types.h" |
31 | 31 |
32 namespace fileapi { | 32 namespace fileapi { |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 fileapi::FileSystemType type() const { | 221 fileapi::FileSystemType type() const { |
222 return type_; | 222 return type_; |
223 } | 223 } |
224 | 224 |
225 int64 ComputeTotalFileSize() { | 225 int64 ComputeTotalFileSize() { |
226 return test_helper_.ComputeCurrentOriginUsage() - | 226 return test_helper_.ComputeCurrentOriginUsage() - |
227 test_helper_.ComputeCurrentDirectoryDatabaseUsage(); | 227 test_helper_.ComputeCurrentDirectoryDatabaseUsage(); |
228 } | 228 } |
229 | 229 |
230 void GetUsageFromQuotaManager() { | 230 void GetUsageFromQuotaManager() { |
231 quota_manager_->GetUsageAndQuota( | 231 int64 quota = -1; |
232 origin(), test_helper_.storage_type(), | 232 quota_status_ = AsyncFileTestHelper::GetUsageAndQuota( |
233 base::Bind(&ObfuscatedFileUtilTest::OnGetUsage, | 233 quota_manager_, origin(), test_helper_.type(), |
234 weak_factory_.GetWeakPtr())); | 234 &usage_, "a); |
235 MessageLoop::current()->RunUntilIdle(); | |
236 EXPECT_EQ(quota::kQuotaStatusOk, quota_status_); | 235 EXPECT_EQ(quota::kQuotaStatusOk, quota_status_); |
237 } | 236 } |
238 | 237 |
239 void RevokeUsageCache() { | 238 void RevokeUsageCache() { |
240 quota_manager_->ResetUsageTracker(test_helper_.storage_type()); | 239 quota_manager_->ResetUsageTracker(test_helper_.storage_type()); |
241 file_util::Delete(test_helper_.GetUsageCachePath(), false); | 240 file_util::Delete(test_helper_.GetUsageCachePath(), false); |
242 } | 241 } |
243 | 242 |
244 int64 SizeByQuotaUtil() { | 243 int64 SizeByQuotaUtil() { |
245 return test_helper_.GetCachedOriginUsage(); | 244 return test_helper_.GetCachedOriginUsage(); |
246 } | 245 } |
247 | 246 |
248 int64 SizeInUsageFile() { | 247 int64 SizeInUsageFile() { |
249 MessageLoop::current()->RunUntilIdle(); | 248 MessageLoop::current()->RunUntilIdle(); |
250 return FileSystemUsageCache::GetUsage(test_helper_.GetUsageCachePath()); | 249 return FileSystemUsageCache::GetUsage(test_helper_.GetUsageCachePath()); |
251 } | 250 } |
252 | 251 |
253 bool PathExists(const FileSystemURL& url) { | 252 bool PathExists(const FileSystemURL& url) { |
254 scoped_ptr<FileSystemOperationContext> context(NewContext(NULL)); | 253 scoped_ptr<FileSystemOperationContext> context(NewContext(NULL)); |
255 base::PlatformFileInfo file_info; | 254 base::PlatformFileInfo file_info; |
256 base::FilePath platform_path; | 255 base::FilePath platform_path; |
257 base::PlatformFileError error = ofu()->GetFileInfo( | 256 base::PlatformFileError error = ofu()->GetFileInfo( |
258 context.get(), url, &file_info, &platform_path); | 257 context.get(), url, &file_info, &platform_path); |
259 return error == base::PLATFORM_FILE_OK; | 258 return error == base::PLATFORM_FILE_OK; |
260 } | 259 } |
261 | 260 |
262 bool DirectoryExists(const FileSystemURL& url) { | 261 bool DirectoryExists(const FileSystemURL& url) { |
263 scoped_ptr<FileSystemOperationContext> context(NewContext(NULL)); | 262 return AsyncFileTestHelper::DirectoryExists(file_system_context(), url); |
264 return FileUtilHelper::DirectoryExists(context.get(), ofu(), url); | |
265 } | 263 } |
266 | 264 |
267 int64 usage() const { return usage_; } | 265 int64 usage() const { return usage_; } |
268 | 266 |
269 FileSystemURL CreateURLFromUTF8(const std::string& path) { | 267 FileSystemURL CreateURLFromUTF8(const std::string& path) { |
270 return test_helper_.CreateURLFromUTF8(path); | 268 return test_helper_.CreateURLFromUTF8(path); |
271 } | 269 } |
272 | 270 |
273 int64 PathCost(const FileSystemURL& url) { | 271 int64 PathCost(const FileSystemURL& url) { |
274 return ObfuscatedFileUtil::ComputeFilePathCost(url.path()); | 272 return ObfuscatedFileUtil::ComputeFilePathCost(url.path()); |
275 } | 273 } |
276 | 274 |
277 FileSystemURL CreateURL(const base::FilePath& path) { | 275 FileSystemURL CreateURL(const base::FilePath& path) { |
278 return test_helper_.CreateURL(path); | 276 return test_helper_.CreateURL(path); |
279 } | 277 } |
280 | 278 |
281 void OnGetUsage(quota::QuotaStatusCode status, int64 usage, int64 unused) { | |
282 EXPECT_EQ(quota::kQuotaStatusOk, status); | |
283 quota_status_ = status; | |
284 usage_ = usage; | |
285 } | |
286 | |
287 void CheckFileAndCloseHandle( | 279 void CheckFileAndCloseHandle( |
288 const FileSystemURL& url, base::PlatformFile file_handle) { | 280 const FileSystemURL& url, base::PlatformFile file_handle) { |
289 scoped_ptr<FileSystemOperationContext> context(NewContext(NULL)); | 281 scoped_ptr<FileSystemOperationContext> context(NewContext(NULL)); |
290 base::FilePath local_path; | 282 base::FilePath local_path; |
291 EXPECT_EQ(base::PLATFORM_FILE_OK, ofu()->GetLocalFilePath( | 283 EXPECT_EQ(base::PLATFORM_FILE_OK, ofu()->GetLocalFilePath( |
292 context.get(), url, &local_path)); | 284 context.get(), url, &local_path)); |
293 | 285 |
294 base::PlatformFileInfo file_info0; | 286 base::PlatformFileInfo file_info0; |
295 base::FilePath data_path; | 287 base::FilePath data_path; |
296 EXPECT_EQ(base::PLATFORM_FILE_OK, ofu()->GetFileInfo( | 288 EXPECT_EQ(base::PLATFORM_FILE_OK, ofu()->GetFileInfo( |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
405 int64 usage = test_helper_.GetCachedOriginUsage(); | 397 int64 usage = test_helper_.GetCachedOriginUsage(); |
406 return scoped_ptr<UsageVerifyHelper>(new UsageVerifyHelper( | 398 return scoped_ptr<UsageVerifyHelper>(new UsageVerifyHelper( |
407 LimitedContext(requested_growth - 1), &test_helper_, usage)); | 399 LimitedContext(requested_growth - 1), &test_helper_, usage)); |
408 } | 400 } |
409 | 401 |
410 void FillTestDirectory( | 402 void FillTestDirectory( |
411 const FileSystemURL& root_url, | 403 const FileSystemURL& root_url, |
412 std::set<base::FilePath::StringType>* files, | 404 std::set<base::FilePath::StringType>* files, |
413 std::set<base::FilePath::StringType>* directories) { | 405 std::set<base::FilePath::StringType>* directories) { |
414 scoped_ptr<FileSystemOperationContext> context; | 406 scoped_ptr<FileSystemOperationContext> context; |
415 context.reset(NewContext(NULL)); | |
416 std::vector<base::FileUtilProxy::Entry> entries; | 407 std::vector<base::FileUtilProxy::Entry> entries; |
417 EXPECT_EQ(base::PLATFORM_FILE_OK, | 408 EXPECT_EQ(base::PLATFORM_FILE_OK, |
418 FileUtilHelper::ReadDirectory( | 409 AsyncFileTestHelper::ReadDirectory( |
419 context.get(), ofu(), root_url, &entries)); | 410 file_system_context(), root_url, &entries)); |
420 EXPECT_EQ(0UL, entries.size()); | 411 EXPECT_EQ(0UL, entries.size()); |
421 | 412 |
422 files->clear(); | 413 files->clear(); |
423 files->insert(FILE_PATH_LITERAL("first")); | 414 files->insert(FILE_PATH_LITERAL("first")); |
424 files->insert(FILE_PATH_LITERAL("second")); | 415 files->insert(FILE_PATH_LITERAL("second")); |
425 files->insert(FILE_PATH_LITERAL("third")); | 416 files->insert(FILE_PATH_LITERAL("third")); |
426 directories->clear(); | 417 directories->clear(); |
427 directories->insert(FILE_PATH_LITERAL("fourth")); | 418 directories->insert(FILE_PATH_LITERAL("fourth")); |
428 directories->insert(FILE_PATH_LITERAL("fifth")); | 419 directories->insert(FILE_PATH_LITERAL("fifth")); |
429 directories->insert(FILE_PATH_LITERAL("sixth")); | 420 directories->insert(FILE_PATH_LITERAL("sixth")); |
(...skipping 23 matching lines...) Expand all Loading... |
453 | 444 |
454 void TestReadDirectoryHelper(const FileSystemURL& root_url) { | 445 void TestReadDirectoryHelper(const FileSystemURL& root_url) { |
455 std::set<base::FilePath::StringType> files; | 446 std::set<base::FilePath::StringType> files; |
456 std::set<base::FilePath::StringType> directories; | 447 std::set<base::FilePath::StringType> directories; |
457 FillTestDirectory(root_url, &files, &directories); | 448 FillTestDirectory(root_url, &files, &directories); |
458 | 449 |
459 scoped_ptr<FileSystemOperationContext> context; | 450 scoped_ptr<FileSystemOperationContext> context; |
460 std::vector<base::FileUtilProxy::Entry> entries; | 451 std::vector<base::FileUtilProxy::Entry> entries; |
461 context.reset(NewContext(NULL)); | 452 context.reset(NewContext(NULL)); |
462 EXPECT_EQ(base::PLATFORM_FILE_OK, | 453 EXPECT_EQ(base::PLATFORM_FILE_OK, |
463 FileUtilHelper::ReadDirectory( | 454 AsyncFileTestHelper::ReadDirectory( |
464 context.get(), ofu(), root_url, &entries)); | 455 file_system_context(), root_url, &entries)); |
465 std::vector<base::FileUtilProxy::Entry>::iterator entry_iter; | 456 std::vector<base::FileUtilProxy::Entry>::iterator entry_iter; |
466 EXPECT_EQ(files.size() + directories.size(), entries.size()); | 457 EXPECT_EQ(files.size() + directories.size(), entries.size()); |
467 EXPECT_TRUE(change_observer()->HasNoChange()); | 458 EXPECT_TRUE(change_observer()->HasNoChange()); |
468 for (entry_iter = entries.begin(); entry_iter != entries.end(); | 459 for (entry_iter = entries.begin(); entry_iter != entries.end(); |
469 ++entry_iter) { | 460 ++entry_iter) { |
470 const base::FileUtilProxy::Entry& entry = *entry_iter; | 461 const base::FileUtilProxy::Entry& entry = *entry_iter; |
471 std::set<base::FilePath::StringType>::iterator iter = files.find(entry.nam
e); | 462 std::set<base::FilePath::StringType>::iterator iter = files.find(entry.nam
e); |
472 if (iter != files.end()) { | 463 if (iter != files.end()) { |
473 EXPECT_FALSE(entry.is_directory); | 464 EXPECT_FALSE(entry.is_directory); |
474 files.erase(iter); | 465 files.erase(iter); |
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
648 | 639 |
649 int64 ComputeCurrentUsage() { | 640 int64 ComputeCurrentUsage() { |
650 return test_helper().ComputeCurrentOriginUsage() - | 641 return test_helper().ComputeCurrentOriginUsage() - |
651 test_helper().ComputeCurrentDirectoryDatabaseUsage(); | 642 test_helper().ComputeCurrentDirectoryDatabaseUsage(); |
652 } | 643 } |
653 | 644 |
654 const LocalFileSystemTestOriginHelper& test_helper() const { | 645 const LocalFileSystemTestOriginHelper& test_helper() const { |
655 return test_helper_; | 646 return test_helper_; |
656 } | 647 } |
657 | 648 |
| 649 FileSystemContext* file_system_context() { |
| 650 return test_helper_.file_system_context(); |
| 651 } |
| 652 |
658 private: | 653 private: |
659 base::ScopedTempDir data_dir_; | 654 base::ScopedTempDir data_dir_; |
660 MessageLoop message_loop_; | 655 MessageLoop message_loop_; |
661 scoped_refptr<quota::QuotaManager> quota_manager_; | 656 scoped_refptr<quota::QuotaManager> quota_manager_; |
662 scoped_refptr<FileSystemContext> file_system_context_; | 657 scoped_refptr<FileSystemContext> file_system_context_; |
663 GURL origin_; | 658 GURL origin_; |
664 fileapi::FileSystemType type_; | 659 fileapi::FileSystemType type_; |
665 base::WeakPtrFactory<ObfuscatedFileUtilTest> weak_factory_; | 660 base::WeakPtrFactory<ObfuscatedFileUtilTest> weak_factory_; |
666 LocalFileSystemTestOriginHelper test_helper_; | 661 LocalFileSystemTestOriginHelper test_helper_; |
667 quota::QuotaStatusCode quota_status_; | 662 quota::QuotaStatusCode quota_status_; |
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1091 | 1086 |
1092 TEST_F(ObfuscatedFileUtilTest, TestReadDirectoryOnFile) { | 1087 TEST_F(ObfuscatedFileUtilTest, TestReadDirectoryOnFile) { |
1093 FileSystemURL url = CreateURLFromUTF8("file"); | 1088 FileSystemURL url = CreateURLFromUTF8("file"); |
1094 scoped_ptr<FileSystemOperationContext> context(NewContext(NULL)); | 1089 scoped_ptr<FileSystemOperationContext> context(NewContext(NULL)); |
1095 | 1090 |
1096 bool created = false; | 1091 bool created = false; |
1097 ASSERT_EQ(base::PLATFORM_FILE_OK, | 1092 ASSERT_EQ(base::PLATFORM_FILE_OK, |
1098 ofu()->EnsureFileExists(context.get(), url, &created)); | 1093 ofu()->EnsureFileExists(context.get(), url, &created)); |
1099 ASSERT_TRUE(created); | 1094 ASSERT_TRUE(created); |
1100 | 1095 |
1101 context.reset(NewContext(NULL)); | |
1102 std::vector<base::FileUtilProxy::Entry> entries; | 1096 std::vector<base::FileUtilProxy::Entry> entries; |
1103 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NOT_A_DIRECTORY, | 1097 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NOT_A_DIRECTORY, |
1104 FileUtilHelper::ReadDirectory( | 1098 AsyncFileTestHelper::ReadDirectory( |
1105 context.get(), ofu(), url, &entries)); | 1099 file_system_context(), url, &entries)); |
1106 | 1100 |
1107 EXPECT_TRUE(ofu()->IsDirectoryEmpty(context.get(), url)); | 1101 EXPECT_TRUE(ofu()->IsDirectoryEmpty(context.get(), url)); |
1108 } | 1102 } |
1109 | 1103 |
1110 TEST_F(ObfuscatedFileUtilTest, TestTouch) { | 1104 TEST_F(ObfuscatedFileUtilTest, TestTouch) { |
1111 FileSystemURL url = CreateURLFromUTF8("file"); | 1105 FileSystemURL url = CreateURLFromUTF8("file"); |
1112 scoped_ptr<FileSystemOperationContext> context(NewContext(NULL)); | 1106 scoped_ptr<FileSystemOperationContext> context(NewContext(NULL)); |
1113 | 1107 |
1114 base::Time last_access_time = base::Time::Now(); | 1108 base::Time last_access_time = base::Time::Now(); |
1115 base::Time last_modified_time = base::Time::Now(); | 1109 base::Time last_modified_time = base::Time::Now(); |
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1410 ASSERT_EQ(base::PLATFORM_FILE_OK, ofu()->CreateDirectory( | 1404 ASSERT_EQ(base::PLATFORM_FILE_OK, ofu()->CreateDirectory( |
1411 context.get(), src_url, exclusive, recursive)); | 1405 context.get(), src_url, exclusive, recursive)); |
1412 | 1406 |
1413 std::set<base::FilePath::StringType> files; | 1407 std::set<base::FilePath::StringType> files; |
1414 std::set<base::FilePath::StringType> directories; | 1408 std::set<base::FilePath::StringType> directories; |
1415 FillTestDirectory(src_url, &files, &directories); | 1409 FillTestDirectory(src_url, &files, &directories); |
1416 | 1410 |
1417 FileSystemURL dest_url = CreateURLFromUTF8("destination dir"); | 1411 FileSystemURL dest_url = CreateURLFromUTF8("destination dir"); |
1418 | 1412 |
1419 EXPECT_FALSE(DirectoryExists(dest_url)); | 1413 EXPECT_FALSE(DirectoryExists(dest_url)); |
1420 context.reset(NewContext(NULL)); | |
1421 ASSERT_EQ(base::PLATFORM_FILE_OK, | 1414 ASSERT_EQ(base::PLATFORM_FILE_OK, |
1422 test_helper().SameFileUtilCopy(context.get(), src_url, dest_url)); | 1415 AsyncFileTestHelper::Copy( |
| 1416 test_helper().file_system_context(), src_url, dest_url)); |
1423 | 1417 |
1424 ValidateTestDirectory(dest_url, files, directories); | 1418 ValidateTestDirectory(dest_url, files, directories); |
1425 EXPECT_TRUE(DirectoryExists(src_url)); | 1419 EXPECT_TRUE(DirectoryExists(src_url)); |
1426 EXPECT_TRUE(DirectoryExists(dest_url)); | 1420 EXPECT_TRUE(DirectoryExists(dest_url)); |
1427 context.reset(NewContext(NULL)); | |
1428 recursive = true; | 1421 recursive = true; |
1429 ASSERT_EQ(base::PLATFORM_FILE_OK, | 1422 ASSERT_EQ(base::PLATFORM_FILE_OK, |
1430 FileUtilHelper::Delete(context.get(), ofu(), | 1423 AsyncFileTestHelper::Remove( |
1431 dest_url, recursive)); | 1424 file_system_context(), dest_url, recursive)); |
1432 EXPECT_FALSE(DirectoryExists(dest_url)); | 1425 EXPECT_FALSE(DirectoryExists(dest_url)); |
1433 } | 1426 } |
1434 | 1427 |
1435 TEST_F(ObfuscatedFileUtilTest, TestOriginEnumerator) { | 1428 TEST_F(ObfuscatedFileUtilTest, TestOriginEnumerator) { |
1436 scoped_ptr<ObfuscatedFileUtil::AbstractOriginEnumerator> | 1429 scoped_ptr<ObfuscatedFileUtil::AbstractOriginEnumerator> |
1437 enumerator(ofu()->CreateOriginEnumerator()); | 1430 enumerator(ofu()->CreateOriginEnumerator()); |
1438 // The test helper starts out with a single filesystem. | 1431 // The test helper starts out with a single filesystem. |
1439 EXPECT_TRUE(enumerator.get()); | 1432 EXPECT_TRUE(enumerator.get()); |
1440 EXPECT_EQ(origin(), enumerator->Next()); | 1433 EXPECT_EQ(origin(), enumerator->Next()); |
1441 ASSERT_TRUE(type() == kFileSystemTypeTemporary); | 1434 ASSERT_TRUE(type() == kFileSystemTypeTemporary); |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1650 scoped_ptr<FileSystemOperationContext> context; | 1643 scoped_ptr<FileSystemOperationContext> context; |
1651 | 1644 |
1652 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kPath); ++i) { | 1645 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kPath); ++i) { |
1653 bool created = false; | 1646 bool created = false; |
1654 context.reset(NewContext(NULL)); | 1647 context.reset(NewContext(NULL)); |
1655 EXPECT_EQ(base::PLATFORM_FILE_OK, | 1648 EXPECT_EQ(base::PLATFORM_FILE_OK, |
1656 ofu()->EnsureFileExists(context.get(), kPath[i], &created)); | 1649 ofu()->EnsureFileExists(context.get(), kPath[i], &created)); |
1657 EXPECT_TRUE(created); | 1650 EXPECT_TRUE(created); |
1658 } | 1651 } |
1659 | 1652 |
1660 context.reset(NewContext(NULL)); | |
1661 std::vector<base::FileUtilProxy::Entry> entries; | 1653 std::vector<base::FileUtilProxy::Entry> entries; |
1662 EXPECT_EQ(base::PLATFORM_FILE_OK, | 1654 EXPECT_EQ(base::PLATFORM_FILE_OK, |
1663 FileUtilHelper::ReadDirectory( | 1655 AsyncFileTestHelper::ReadDirectory( |
1664 context.get(), ofu(), empty_path, &entries)); | 1656 file_system_context(), empty_path, &entries)); |
1665 EXPECT_EQ(3u, entries.size()); | 1657 EXPECT_EQ(3u, entries.size()); |
1666 | 1658 |
1667 context.reset(NewContext(NULL)); | |
1668 base::FilePath local_path; | 1659 base::FilePath local_path; |
1669 EXPECT_EQ(base::PLATFORM_FILE_OK, | 1660 EXPECT_EQ(base::PLATFORM_FILE_OK, |
1670 ofu()->GetLocalFilePath(context.get(), kPath[0], &local_path)); | 1661 ofu()->GetLocalFilePath(context.get(), kPath[0], &local_path)); |
1671 EXPECT_TRUE(file_util::Delete(local_path, false)); | 1662 EXPECT_TRUE(file_util::Delete(local_path, false)); |
1672 | 1663 |
1673 context.reset(NewContext(NULL)); | |
1674 entries.clear(); | 1664 entries.clear(); |
1675 EXPECT_EQ(base::PLATFORM_FILE_OK, | 1665 EXPECT_EQ(base::PLATFORM_FILE_OK, |
1676 FileUtilHelper::ReadDirectory( | 1666 AsyncFileTestHelper::ReadDirectory( |
1677 context.get(), ofu(), empty_path, &entries)); | 1667 file_system_context(), empty_path, &entries)); |
1678 EXPECT_EQ(ARRAYSIZE_UNSAFE(kPath) - 1, entries.size()); | 1668 EXPECT_EQ(ARRAYSIZE_UNSAFE(kPath) - 1, entries.size()); |
1679 } | 1669 } |
1680 | 1670 |
1681 TEST_F(ObfuscatedFileUtilTest, TestDirectoryTimestampForCreation) { | 1671 TEST_F(ObfuscatedFileUtilTest, TestDirectoryTimestampForCreation) { |
1682 scoped_ptr<FileSystemOperationContext> context(NewContext(NULL)); | 1672 scoped_ptr<FileSystemOperationContext> context(NewContext(NULL)); |
1683 const FileSystemURL dir_url = CreateURLFromUTF8("foo_dir"); | 1673 const FileSystemURL dir_url = CreateURLFromUTF8("foo_dir"); |
1684 | 1674 |
1685 // Create working directory. | 1675 // Create working directory. |
1686 EXPECT_EQ(base::PLATFORM_FILE_OK, | 1676 EXPECT_EQ(base::PLATFORM_FILE_OK, |
1687 ofu()->CreateDirectory(context.get(), dir_url, false, false)); | 1677 ofu()->CreateDirectory(context.get(), dir_url, false, false)); |
(...skipping 498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2186 dfile2, 120)); | 2176 dfile2, 120)); |
2187 ASSERT_EQ(1480, ComputeTotalFileSize()); | 2177 ASSERT_EQ(1480, ComputeTotalFileSize()); |
2188 | 2178 |
2189 ASSERT_EQ(base::PLATFORM_FILE_OK, | 2179 ASSERT_EQ(base::PLATFORM_FILE_OK, |
2190 ofu()->DeleteFile( | 2180 ofu()->DeleteFile( |
2191 AllowUsageIncrease(-PathCost(file) - 340)->context(), | 2181 AllowUsageIncrease(-PathCost(file) - 340)->context(), |
2192 file)); | 2182 file)); |
2193 ASSERT_EQ(1140, ComputeTotalFileSize()); | 2183 ASSERT_EQ(1140, ComputeTotalFileSize()); |
2194 | 2184 |
2195 ASSERT_EQ(base::PLATFORM_FILE_OK, | 2185 ASSERT_EQ(base::PLATFORM_FILE_OK, |
2196 FileUtilHelper::Delete( | 2186 AsyncFileTestHelper::Remove( |
2197 AllowUsageIncrease(-PathCost(dir) - | 2187 file_system_context(), dir, true /* recursive */)); |
2198 PathCost(dfile1) - | |
2199 PathCost(dfile2) - | |
2200 1020 - 120)->context(), | |
2201 ofu(), dir, true)); | |
2202 ASSERT_EQ(0, ComputeTotalFileSize()); | 2188 ASSERT_EQ(0, ComputeTotalFileSize()); |
2203 } | 2189 } |
2204 | 2190 |
2205 TEST_F(ObfuscatedFileUtilTest, TestQuotaOnOpen) { | 2191 TEST_F(ObfuscatedFileUtilTest, TestQuotaOnOpen) { |
2206 FileSystemURL file(CreateURLFromUTF8("file")); | 2192 FileSystemURL file(CreateURLFromUTF8("file")); |
2207 base::PlatformFile file_handle; | 2193 base::PlatformFile file_handle; |
2208 bool created; | 2194 bool created; |
2209 | 2195 |
2210 // Creating a file. | 2196 // Creating a file. |
2211 ASSERT_EQ(base::PLATFORM_FILE_OK, | 2197 ASSERT_EQ(base::PLATFORM_FILE_OK, |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2249 ASSERT_EQ(base::PLATFORM_FILE_OK, | 2235 ASSERT_EQ(base::PLATFORM_FILE_OK, |
2250 ofu()->CreateOrOpen( | 2236 ofu()->CreateOrOpen( |
2251 AllowUsageIncrease(-length)->context(), file, | 2237 AllowUsageIncrease(-length)->context(), file, |
2252 base::PLATFORM_FILE_OPEN_TRUNCATED | base::PLATFORM_FILE_WRITE, | 2238 base::PLATFORM_FILE_OPEN_TRUNCATED | base::PLATFORM_FILE_WRITE, |
2253 &file_handle, &created)); | 2239 &file_handle, &created)); |
2254 ASSERT_EQ(0, ComputeTotalFileSize()); | 2240 ASSERT_EQ(0, ComputeTotalFileSize()); |
2255 EXPECT_TRUE(base::ClosePlatformFile(file_handle)); | 2241 EXPECT_TRUE(base::ClosePlatformFile(file_handle)); |
2256 } | 2242 } |
2257 | 2243 |
2258 } // namespace fileapi | 2244 } // namespace fileapi |
OLD | NEW |