Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(280)

Side by Side Diff: content/browser/fileapi/file_system_operation_impl_unittest.cc

Issue 522543002: Modify test case to support streaming operation in sandbox file system. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | content/browser/fileapi/obfuscated_file_util_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/browser/fileapi/file_system_operation_impl.h" 5 #include "webkit/browser/fileapi/file_system_operation_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/files/scoped_temp_dir.h" 9 #include "base/files/scoped_temp_dir.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 namespace { 43 namespace {
44 44
45 const int kFileOperationStatusNotSet = 1; 45 const int kFileOperationStatusNotSet = 1;
46 46
47 void AssertFileErrorEq(const tracked_objects::Location& from_here, 47 void AssertFileErrorEq(const tracked_objects::Location& from_here,
48 base::File::Error expected, 48 base::File::Error expected,
49 base::File::Error actual) { 49 base::File::Error actual) {
50 ASSERT_EQ(expected, actual) << from_here.ToString(); 50 ASSERT_EQ(expected, actual) << from_here.ToString();
51 } 51 }
52 52
53 void AssertFileErrorEqWithClosure( 53 void AssertFileErrorEqWithClosure(const tracked_objects::Location& from_here,
54 const tracked_objects::Location& from_here, 54 base::File::Error expected,
55 base::File::Error expected, 55 base::Closure closure,
56 base::Closure closure, 56 base::File::Error actual) {
57 base::File::Error actual) {
58 ASSERT_EQ(expected, actual) << from_here.ToString(); 57 ASSERT_EQ(expected, actual) << from_here.ToString();
59 closure.Run(); 58 closure.Run();
60 } 59 }
61 60
62 } // namespace 61 } // namespace
63 62
64 // Test class for FileSystemOperationImpl. 63 // Test class for FileSystemOperationImpl.
65 class FileSystemOperationImplTest 64 class FileSystemOperationImplTest
66 : public testing::Test { 65 : public testing::Test {
67 public: 66 public:
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
279 278
280 void AddQuota(int64 quota_delta) { 279 void AddQuota(int64 quota_delta) {
281 int64 quota; 280 int64 quota;
282 GetUsageAndQuota(NULL, &quota); 281 GetUsageAndQuota(NULL, &quota);
283 quota_manager()->SetQuota(sandbox_file_system_.origin(), 282 quota_manager()->SetQuota(sandbox_file_system_.origin(),
284 sandbox_file_system_.storage_type(), 283 sandbox_file_system_.storage_type(),
285 quota + quota_delta); 284 quota + quota_delta);
286 } 285 }
287 286
288 private: 287 private:
289 base::MessageLoop message_loop_; 288 base::MessageLoopForIO message_loop_;
290 scoped_refptr<QuotaManager> quota_manager_; 289 scoped_refptr<QuotaManager> quota_manager_;
291 scoped_refptr<QuotaManagerProxy> quota_manager_proxy_; 290 scoped_refptr<QuotaManagerProxy> quota_manager_proxy_;
292 291
293 // Common temp base for nondestructive uses. 292 // Common temp base for nondestructive uses.
294 base::ScopedTempDir base_; 293 base::ScopedTempDir base_;
295 294
296 SandboxFileSystemTestHelper sandbox_file_system_; 295 SandboxFileSystemTestHelper sandbox_file_system_;
297 296
298 // For post-operation status. 297 // For post-operation status.
299 int status_; 298 int status_;
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
607 FileSystemURL dest_file(CreateFile("dest")); 606 FileSystemURL dest_file(CreateFile("dest"));
608 607
609 operation_runner()->Copy(src_file, dest_file, 608 operation_runner()->Copy(src_file, dest_file,
610 FileSystemOperation::OPTION_NONE, 609 FileSystemOperation::OPTION_NONE,
611 FileSystemOperationRunner::CopyProgressCallback(), 610 FileSystemOperationRunner::CopyProgressCallback(),
612 RecordStatusCallback()); 611 RecordStatusCallback());
613 base::RunLoop().RunUntilIdle(); 612 base::RunLoop().RunUntilIdle();
614 EXPECT_EQ(base::File::FILE_OK, status()); 613 EXPECT_EQ(base::File::FILE_OK, status());
615 EXPECT_TRUE(FileExists("dest")); 614 EXPECT_TRUE(FileExists("dest"));
616 EXPECT_EQ(2, quota_manager_proxy()->notify_storage_accessed_count()); 615 EXPECT_EQ(2, quota_manager_proxy()->notify_storage_accessed_count());
616 EXPECT_EQ(1, change_observer()->get_and_reset_modify_file_count());
617 617
618 EXPECT_EQ(1, change_observer()->get_and_reset_modify_file_count());
619 EXPECT_TRUE(change_observer()->HasNoChange()); 618 EXPECT_TRUE(change_observer()->HasNoChange());
620 } 619 }
621 620
622 TEST_F(FileSystemOperationImplTest, TestCopySuccessSrcFileAndNew) { 621 TEST_F(FileSystemOperationImplTest, TestCopySuccessSrcFileAndNew) {
623 FileSystemURL src_file(CreateFile("src")); 622 FileSystemURL src_file(CreateFile("src"));
624 623
625 operation_runner()->Copy(src_file, URLForPath("new"), 624 operation_runner()->Copy(src_file, URLForPath("new"),
626 FileSystemOperation::OPTION_NONE, 625 FileSystemOperation::OPTION_NONE,
627 FileSystemOperationRunner::CopyProgressCallback(), 626 FileSystemOperationRunner::CopyProgressCallback(),
628 RecordStatusCallback()); 627 RecordStatusCallback());
(...skipping 15 matching lines...) Expand all
644 FileSystemOperationRunner::CopyProgressCallback(), 643 FileSystemOperationRunner::CopyProgressCallback(),
645 RecordStatusCallback()); 644 RecordStatusCallback());
646 base::RunLoop().RunUntilIdle(); 645 base::RunLoop().RunUntilIdle();
647 EXPECT_EQ(base::File::FILE_OK, status()); 646 EXPECT_EQ(base::File::FILE_OK, status());
648 647
649 // Make sure we've overwritten but not copied the source under the |dest_dir|. 648 // Make sure we've overwritten but not copied the source under the |dest_dir|.
650 EXPECT_TRUE(DirectoryExists("dest")); 649 EXPECT_TRUE(DirectoryExists("dest"));
651 EXPECT_FALSE(DirectoryExists("dest/src")); 650 EXPECT_FALSE(DirectoryExists("dest/src"));
652 EXPECT_GE(quota_manager_proxy()->notify_storage_accessed_count(), 3); 651 EXPECT_GE(quota_manager_proxy()->notify_storage_accessed_count(), 3);
653 652
653 EXPECT_EQ(1, change_observer()->get_and_reset_create_directory_count());
654 EXPECT_EQ(1, change_observer()->get_and_reset_remove_directory_count()); 654 EXPECT_EQ(1, change_observer()->get_and_reset_remove_directory_count());
655 EXPECT_EQ(1, change_observer()->get_and_reset_create_directory_count());
656 EXPECT_TRUE(change_observer()->HasNoChange()); 655 EXPECT_TRUE(change_observer()->HasNoChange());
657 } 656 }
658 657
659 TEST_F(FileSystemOperationImplTest, TestCopySuccessSrcDirAndNew) { 658 TEST_F(FileSystemOperationImplTest, TestCopySuccessSrcDirAndNew) {
660 FileSystemURL src_dir(CreateDirectory("src")); 659 FileSystemURL src_dir(CreateDirectory("src"));
661 FileSystemURL dest_dir_new(URLForPath("dest")); 660 FileSystemURL dest_dir_new(URLForPath("dest"));
662 661
663 operation_runner()->Copy(src_dir, dest_dir_new, 662 operation_runner()->Copy(src_dir, dest_dir_new,
664 FileSystemOperation::OPTION_NONE, 663 FileSystemOperation::OPTION_NONE,
665 FileSystemOperationRunner::CopyProgressCallback(), 664 FileSystemOperationRunner::CopyProgressCallback(),
(...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after
1259 1258
1260 const int64 child_file_size = 8000 + 700; 1259 const int64 child_file_size = 8000 + 700;
1261 const int64 grandchild_file_size = 60 + 5; 1260 const int64 grandchild_file_size = 60 + 5;
1262 const int64 all_file_size = child_file_size + grandchild_file_size; 1261 const int64 all_file_size = child_file_size + grandchild_file_size;
1263 int64 expected_usage = all_file_size + total_path_cost; 1262 int64 expected_usage = all_file_size + total_path_cost;
1264 1263
1265 usage = GetUsage(); 1264 usage = GetUsage();
1266 EXPECT_EQ(all_file_size, GetDataSizeOnDisk()); 1265 EXPECT_EQ(all_file_size, GetDataSizeOnDisk());
1267 EXPECT_EQ(expected_usage, usage); 1266 EXPECT_EQ(expected_usage, usage);
1268 1267
1269 // Copy src to dest1. 1268 {
1270 operation_runner()->Copy( 1269 base::RunLoop run_loop;
1271 src, dest1, FileSystemOperation::OPTION_NONE, 1270 // Copy src to dest1.
1272 FileSystemOperationRunner::CopyProgressCallback(), 1271 operation_runner()->Copy(src,
1273 base::Bind(&AssertFileErrorEq, FROM_HERE, base::File::FILE_OK)); 1272 dest1,
1274 base::RunLoop().RunUntilIdle(); 1273 FileSystemOperation::OPTION_NONE,
1274 FileSystemOperationRunner::CopyProgressCallback(),
1275 base::Bind(&AssertFileErrorEqWithClosure,
1276 FROM_HERE,
1277 base::File::FILE_OK,
1278 run_loop.QuitClosure()));
1279 run_loop.Run();
1280 }
1275 1281
1276 expected_usage += all_file_size + child_path_cost + grandchild_path_cost; 1282 expected_usage += all_file_size + child_path_cost + grandchild_path_cost;
1277 EXPECT_TRUE(DirectoryExists("src/dir")); 1283 EXPECT_TRUE(DirectoryExists("src/dir"));
1278 EXPECT_TRUE(FileExists("src/dir/file2")); 1284 EXPECT_TRUE(FileExists("src/dir/file2"));
1279 EXPECT_TRUE(DirectoryExists("dest1/dir")); 1285 EXPECT_TRUE(DirectoryExists("dest1/dir"));
1280 EXPECT_TRUE(FileExists("dest1/dir/file2")); 1286 EXPECT_TRUE(FileExists("dest1/dir/file2"));
1281 1287
1282 EXPECT_EQ(2 * all_file_size, GetDataSizeOnDisk()); 1288 EXPECT_EQ(2 * all_file_size, GetDataSizeOnDisk());
1283 EXPECT_EQ(expected_usage, GetUsage()); 1289 EXPECT_EQ(expected_usage, GetUsage());
1284 1290
1285 // Copy src/dir to dest2. 1291 {
1286 operation_runner()->Copy( 1292 base::RunLoop run_loop;
1287 child_dir, dest2, FileSystemOperation::OPTION_NONE, 1293 // Copy src/dir to dest2.
1288 FileSystemOperationRunner::CopyProgressCallback(), 1294 operation_runner()->Copy(child_dir,
1289 base::Bind(&AssertFileErrorEq, FROM_HERE, base::File::FILE_OK)); 1295 dest2,
1290 base::RunLoop().RunUntilIdle(); 1296 FileSystemOperation::OPTION_NONE,
1297 FileSystemOperationRunner::CopyProgressCallback(),
1298 base::Bind(&AssertFileErrorEqWithClosure,
1299 FROM_HERE,
1300 base::File::FILE_OK,
1301 run_loop.QuitClosure()));
1302 run_loop.Run();
1303 }
1291 1304
1292 expected_usage += grandchild_file_size + grandchild_path_cost; 1305 expected_usage += grandchild_file_size + grandchild_path_cost;
1293 usage = GetUsage(); 1306 usage = GetUsage();
1294 EXPECT_EQ(2 * child_file_size + 3 * grandchild_file_size, 1307 EXPECT_EQ(2 * child_file_size + 3 * grandchild_file_size,
1295 GetDataSizeOnDisk()); 1308 GetDataSizeOnDisk());
1296 EXPECT_EQ(expected_usage, usage); 1309 EXPECT_EQ(expected_usage, usage);
1297 } 1310 }
1298 1311
1299 TEST_F(FileSystemOperationImplTest, 1312 TEST_F(FileSystemOperationImplTest,
1300 TestCopySuccessSrcFileWithDifferentFileSize) { 1313 TestCopySuccessSrcFileWithDifferentFileSize) {
(...skipping 19 matching lines...) Expand all
1320 base::Bind(&AssertFileErrorEqWithClosure, 1333 base::Bind(&AssertFileErrorEqWithClosure,
1321 FROM_HERE, 1334 FROM_HERE,
1322 base::File::FILE_OK, 1335 base::File::FILE_OK,
1323 run_loop.QuitClosure())); 1336 run_loop.QuitClosure()));
1324 run_loop.Run(); 1337 run_loop.Run();
1325 } 1338 }
1326 EXPECT_EQ(0, GetFileSize("dest")); 1339 EXPECT_EQ(0, GetFileSize("dest"));
1327 } 1340 }
1328 1341
1329 } // namespace content 1342 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/browser/fileapi/obfuscated_file_util_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698