| OLD | NEW |
| 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 "chrome/browser/sync_file_system/local/local_file_sync_context.h" | 5 #include "chrome/browser/sync_file_system/local/local_file_sync_context.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 231 } | 231 } |
| 232 } | 232 } |
| 233 | 233 |
| 234 void PrepareForSync_Basic(LocalFileSyncContext::SyncMode sync_mode, | 234 void PrepareForSync_Basic(LocalFileSyncContext::SyncMode sync_mode, |
| 235 SyncStatusCode simulate_sync_finish_status) { | 235 SyncStatusCode simulate_sync_finish_status) { |
| 236 CannedSyncableFileSystem file_system(GURL(kOrigin1), | 236 CannedSyncableFileSystem file_system(GURL(kOrigin1), |
| 237 in_memory_env_.get(), | 237 in_memory_env_.get(), |
| 238 io_task_runner_.get(), | 238 io_task_runner_.get(), |
| 239 file_task_runner_.get()); | 239 file_task_runner_.get()); |
| 240 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 240 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); |
| 241 sync_context_ = new LocalFileSyncContext( | 241 sync_context_ = |
| 242 dir_.path(), in_memory_env_.get(), | 242 new LocalFileSyncContext(dir_.GetPath(), in_memory_env_.get(), |
| 243 ui_task_runner_.get(), io_task_runner_.get()); | 243 ui_task_runner_.get(), io_task_runner_.get()); |
| 244 ASSERT_EQ(SYNC_STATUS_OK, | 244 ASSERT_EQ(SYNC_STATUS_OK, |
| 245 file_system.MaybeInitializeFileSystemContext( | 245 file_system.MaybeInitializeFileSystemContext( |
| 246 sync_context_.get())); | 246 sync_context_.get())); |
| 247 ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 247 ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); |
| 248 | 248 |
| 249 const FileSystemURL kFile(file_system.URL("file")); | 249 const FileSystemURL kFile(file_system.URL("file")); |
| 250 EXPECT_EQ(base::File::FILE_OK, file_system.CreateFile(kFile)); | 250 EXPECT_EQ(base::File::FILE_OK, file_system.CreateFile(kFile)); |
| 251 | 251 |
| 252 SyncFileMetadata metadata; | 252 SyncFileMetadata metadata; |
| 253 FileChangeList changes; | 253 FileChangeList changes; |
| (...skipping 29 matching lines...) Expand all Loading... |
| 283 file_system.TearDown(); | 283 file_system.TearDown(); |
| 284 } | 284 } |
| 285 | 285 |
| 286 void PrepareForSync_WriteDuringSync( | 286 void PrepareForSync_WriteDuringSync( |
| 287 LocalFileSyncContext::SyncMode sync_mode) { | 287 LocalFileSyncContext::SyncMode sync_mode) { |
| 288 CannedSyncableFileSystem file_system(GURL(kOrigin1), | 288 CannedSyncableFileSystem file_system(GURL(kOrigin1), |
| 289 in_memory_env_.get(), | 289 in_memory_env_.get(), |
| 290 io_task_runner_.get(), | 290 io_task_runner_.get(), |
| 291 file_task_runner_.get()); | 291 file_task_runner_.get()); |
| 292 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 292 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); |
| 293 sync_context_ = new LocalFileSyncContext( | 293 sync_context_ = |
| 294 dir_.path(), in_memory_env_.get(), | 294 new LocalFileSyncContext(dir_.GetPath(), in_memory_env_.get(), |
| 295 ui_task_runner_.get(), io_task_runner_.get()); | 295 ui_task_runner_.get(), io_task_runner_.get()); |
| 296 ASSERT_EQ(SYNC_STATUS_OK, | 296 ASSERT_EQ(SYNC_STATUS_OK, |
| 297 file_system.MaybeInitializeFileSystemContext( | 297 file_system.MaybeInitializeFileSystemContext( |
| 298 sync_context_.get())); | 298 sync_context_.get())); |
| 299 ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 299 ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); |
| 300 | 300 |
| 301 const FileSystemURL kFile(file_system.URL("file")); | 301 const FileSystemURL kFile(file_system.URL("file")); |
| 302 EXPECT_EQ(base::File::FILE_OK, file_system.CreateFile(kFile)); | 302 EXPECT_EQ(base::File::FILE_OK, file_system.CreateFile(kFile)); |
| 303 | 303 |
| 304 SyncFileMetadata metadata; | 304 SyncFileMetadata metadata; |
| 305 FileChangeList changes; | 305 FileChangeList changes; |
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 361 scoped_refptr<LocalFileSyncContext> sync_context_; | 361 scoped_refptr<LocalFileSyncContext> sync_context_; |
| 362 | 362 |
| 363 SyncStatusCode status_; | 363 SyncStatusCode status_; |
| 364 base::File::Error file_error_; | 364 base::File::Error file_error_; |
| 365 bool async_modify_finished_; | 365 bool async_modify_finished_; |
| 366 bool has_inflight_prepare_for_sync_; | 366 bool has_inflight_prepare_for_sync_; |
| 367 }; | 367 }; |
| 368 | 368 |
| 369 TEST_F(LocalFileSyncContextTest, ConstructAndDestruct) { | 369 TEST_F(LocalFileSyncContextTest, ConstructAndDestruct) { |
| 370 sync_context_ = | 370 sync_context_ = |
| 371 new LocalFileSyncContext( | 371 new LocalFileSyncContext(dir_.GetPath(), in_memory_env_.get(), |
| 372 dir_.path(), in_memory_env_.get(), | 372 ui_task_runner_.get(), io_task_runner_.get()); |
| 373 ui_task_runner_.get(), io_task_runner_.get()); | |
| 374 sync_context_->ShutdownOnUIThread(); | 373 sync_context_->ShutdownOnUIThread(); |
| 375 } | 374 } |
| 376 | 375 |
| 377 TEST_F(LocalFileSyncContextTest, InitializeFileSystemContext) { | 376 TEST_F(LocalFileSyncContextTest, InitializeFileSystemContext) { |
| 378 CannedSyncableFileSystem file_system(GURL(kOrigin1), | 377 CannedSyncableFileSystem file_system(GURL(kOrigin1), |
| 379 in_memory_env_.get(), | 378 in_memory_env_.get(), |
| 380 io_task_runner_.get(), | 379 io_task_runner_.get(), |
| 381 file_task_runner_.get()); | 380 file_task_runner_.get()); |
| 382 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 381 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); |
| 383 | 382 |
| 384 sync_context_ = new LocalFileSyncContext( | 383 sync_context_ = |
| 385 dir_.path(), in_memory_env_.get(), | 384 new LocalFileSyncContext(dir_.GetPath(), in_memory_env_.get(), |
| 386 ui_task_runner_.get(), io_task_runner_.get()); | 385 ui_task_runner_.get(), io_task_runner_.get()); |
| 387 | 386 |
| 388 // Initializes file_system using |sync_context_|. | 387 // Initializes file_system using |sync_context_|. |
| 389 EXPECT_EQ(SYNC_STATUS_OK, | 388 EXPECT_EQ(SYNC_STATUS_OK, |
| 390 file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 389 file_system.MaybeInitializeFileSystemContext(sync_context_.get())); |
| 391 | 390 |
| 392 // Make sure everything's set up for file_system to be able to handle | 391 // Make sure everything's set up for file_system to be able to handle |
| 393 // syncable file system operations. | 392 // syncable file system operations. |
| 394 EXPECT_TRUE(file_system.backend()->sync_context() != nullptr); | 393 EXPECT_TRUE(file_system.backend()->sync_context() != nullptr); |
| 395 EXPECT_TRUE(file_system.backend()->change_tracker() != nullptr); | 394 EXPECT_TRUE(file_system.backend()->change_tracker() != nullptr); |
| 396 EXPECT_EQ(sync_context_.get(), file_system.backend()->sync_context()); | 395 EXPECT_EQ(sync_context_.get(), file_system.backend()->sync_context()); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 422 in_memory_env_.get(), | 421 in_memory_env_.get(), |
| 423 io_task_runner_.get(), | 422 io_task_runner_.get(), |
| 424 file_task_runner_.get()); | 423 file_task_runner_.get()); |
| 425 CannedSyncableFileSystem file_system2(GURL(kOrigin2), | 424 CannedSyncableFileSystem file_system2(GURL(kOrigin2), |
| 426 in_memory_env_.get(), | 425 in_memory_env_.get(), |
| 427 io_task_runner_.get(), | 426 io_task_runner_.get(), |
| 428 file_task_runner_.get()); | 427 file_task_runner_.get()); |
| 429 file_system1.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 428 file_system1.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); |
| 430 file_system2.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 429 file_system2.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); |
| 431 | 430 |
| 432 sync_context_ = new LocalFileSyncContext( | 431 sync_context_ = |
| 433 dir_.path(), in_memory_env_.get(), | 432 new LocalFileSyncContext(dir_.GetPath(), in_memory_env_.get(), |
| 434 ui_task_runner_.get(), io_task_runner_.get()); | 433 ui_task_runner_.get(), io_task_runner_.get()); |
| 435 | 434 |
| 436 // Initializes file_system1 and file_system2. | 435 // Initializes file_system1 and file_system2. |
| 437 EXPECT_EQ(SYNC_STATUS_OK, | 436 EXPECT_EQ(SYNC_STATUS_OK, |
| 438 file_system1.MaybeInitializeFileSystemContext(sync_context_.get())); | 437 file_system1.MaybeInitializeFileSystemContext(sync_context_.get())); |
| 439 EXPECT_EQ(SYNC_STATUS_OK, | 438 EXPECT_EQ(SYNC_STATUS_OK, |
| 440 file_system2.MaybeInitializeFileSystemContext(sync_context_.get())); | 439 file_system2.MaybeInitializeFileSystemContext(sync_context_.get())); |
| 441 | 440 |
| 442 EXPECT_EQ(base::File::FILE_OK, file_system1.OpenFileSystem()); | 441 EXPECT_EQ(base::File::FILE_OK, file_system1.OpenFileSystem()); |
| 443 EXPECT_EQ(base::File::FILE_OK, file_system2.OpenFileSystem()); | 442 EXPECT_EQ(base::File::FILE_OK, file_system2.OpenFileSystem()); |
| 444 | 443 |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 535 // LocalFileSyncContextTest.PrepareSyncWhileWriting is flaky on android. | 534 // LocalFileSyncContextTest.PrepareSyncWhileWriting is flaky on android. |
| 536 // http://crbug.com/239793 | 535 // http://crbug.com/239793 |
| 537 // It is also flaky on the TSAN v2 bots, and hangs other bots. | 536 // It is also flaky on the TSAN v2 bots, and hangs other bots. |
| 538 // http://crbug.com/305905. | 537 // http://crbug.com/305905. |
| 539 TEST_F(LocalFileSyncContextTest, DISABLED_PrepareSyncWhileWriting) { | 538 TEST_F(LocalFileSyncContextTest, DISABLED_PrepareSyncWhileWriting) { |
| 540 CannedSyncableFileSystem file_system(GURL(kOrigin1), | 539 CannedSyncableFileSystem file_system(GURL(kOrigin1), |
| 541 in_memory_env_.get(), | 540 in_memory_env_.get(), |
| 542 io_task_runner_.get(), | 541 io_task_runner_.get(), |
| 543 file_task_runner_.get()); | 542 file_task_runner_.get()); |
| 544 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 543 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); |
| 545 sync_context_ = new LocalFileSyncContext( | 544 sync_context_ = |
| 546 dir_.path(), in_memory_env_.get(), | 545 new LocalFileSyncContext(dir_.GetPath(), in_memory_env_.get(), |
| 547 ui_task_runner_.get(), io_task_runner_.get()); | 546 ui_task_runner_.get(), io_task_runner_.get()); |
| 548 EXPECT_EQ(SYNC_STATUS_OK, | 547 EXPECT_EQ(SYNC_STATUS_OK, |
| 549 file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 548 file_system.MaybeInitializeFileSystemContext(sync_context_.get())); |
| 550 | 549 |
| 551 EXPECT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 550 EXPECT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); |
| 552 | 551 |
| 553 const FileSystemURL kURL1(file_system.URL("foo")); | 552 const FileSystemURL kURL1(file_system.URL("foo")); |
| 554 | 553 |
| 555 // Creates a file in file_system. | 554 // Creates a file in file_system. |
| 556 EXPECT_EQ(base::File::FILE_OK, file_system.CreateFile(kURL1)); | 555 EXPECT_EQ(base::File::FILE_OK, file_system.CreateFile(kURL1)); |
| 557 | 556 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 599 file_system.TearDown(); | 598 file_system.TearDown(); |
| 600 } | 599 } |
| 601 | 600 |
| 602 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForDeletion) { | 601 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForDeletion) { |
| 603 CannedSyncableFileSystem file_system(GURL(kOrigin1), | 602 CannedSyncableFileSystem file_system(GURL(kOrigin1), |
| 604 in_memory_env_.get(), | 603 in_memory_env_.get(), |
| 605 io_task_runner_.get(), | 604 io_task_runner_.get(), |
| 606 file_task_runner_.get()); | 605 file_task_runner_.get()); |
| 607 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 606 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); |
| 608 | 607 |
| 609 sync_context_ = new LocalFileSyncContext( | 608 sync_context_ = |
| 610 dir_.path(), in_memory_env_.get(), | 609 new LocalFileSyncContext(dir_.GetPath(), in_memory_env_.get(), |
| 611 ui_task_runner_.get(), io_task_runner_.get()); | 610 ui_task_runner_.get(), io_task_runner_.get()); |
| 612 ASSERT_EQ(SYNC_STATUS_OK, | 611 ASSERT_EQ(SYNC_STATUS_OK, |
| 613 file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 612 file_system.MaybeInitializeFileSystemContext(sync_context_.get())); |
| 614 ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 613 ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); |
| 615 | 614 |
| 616 // Record the initial usage (likely 0). | 615 // Record the initial usage (likely 0). |
| 617 int64_t initial_usage = -1; | 616 int64_t initial_usage = -1; |
| 618 int64_t quota = -1; | 617 int64_t quota = -1; |
| 619 EXPECT_EQ(storage::kQuotaStatusOk, | 618 EXPECT_EQ(storage::kQuotaStatusOk, |
| 620 file_system.GetUsageAndQuota(&initial_usage, "a)); | 619 file_system.GetUsageAndQuota(&initial_usage, "a)); |
| 621 | 620 |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 687 file_system.TearDown(); | 686 file_system.TearDown(); |
| 688 } | 687 } |
| 689 | 688 |
| 690 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForDeletion_ForRoot) { | 689 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForDeletion_ForRoot) { |
| 691 CannedSyncableFileSystem file_system(GURL(kOrigin1), | 690 CannedSyncableFileSystem file_system(GURL(kOrigin1), |
| 692 in_memory_env_.get(), | 691 in_memory_env_.get(), |
| 693 io_task_runner_.get(), | 692 io_task_runner_.get(), |
| 694 file_task_runner_.get()); | 693 file_task_runner_.get()); |
| 695 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 694 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); |
| 696 | 695 |
| 697 sync_context_ = new LocalFileSyncContext( | 696 sync_context_ = |
| 698 dir_.path(), in_memory_env_.get(), | 697 new LocalFileSyncContext(dir_.GetPath(), in_memory_env_.get(), |
| 699 ui_task_runner_.get(), io_task_runner_.get()); | 698 ui_task_runner_.get(), io_task_runner_.get()); |
| 700 ASSERT_EQ(SYNC_STATUS_OK, | 699 ASSERT_EQ(SYNC_STATUS_OK, |
| 701 file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 700 file_system.MaybeInitializeFileSystemContext(sync_context_.get())); |
| 702 ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 701 ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); |
| 703 | 702 |
| 704 // Record the initial usage (likely 0). | 703 // Record the initial usage (likely 0). |
| 705 int64_t initial_usage = -1; | 704 int64_t initial_usage = -1; |
| 706 int64_t quota = -1; | 705 int64_t quota = -1; |
| 707 EXPECT_EQ(storage::kQuotaStatusOk, | 706 EXPECT_EQ(storage::kQuotaStatusOk, |
| 708 file_system.GetUsageAndQuota(&initial_usage, "a)); | 707 file_system.GetUsageAndQuota(&initial_usage, "a)); |
| 709 | 708 |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 757 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForAddOrUpdate) { | 756 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForAddOrUpdate) { |
| 758 base::ScopedTempDir temp_dir; | 757 base::ScopedTempDir temp_dir; |
| 759 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 758 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| 760 | 759 |
| 761 CannedSyncableFileSystem file_system(GURL(kOrigin1), | 760 CannedSyncableFileSystem file_system(GURL(kOrigin1), |
| 762 in_memory_env_.get(), | 761 in_memory_env_.get(), |
| 763 io_task_runner_.get(), | 762 io_task_runner_.get(), |
| 764 file_task_runner_.get()); | 763 file_task_runner_.get()); |
| 765 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 764 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); |
| 766 | 765 |
| 767 sync_context_ = new LocalFileSyncContext( | 766 sync_context_ = |
| 768 dir_.path(), in_memory_env_.get(), | 767 new LocalFileSyncContext(dir_.GetPath(), in_memory_env_.get(), |
| 769 ui_task_runner_.get(), io_task_runner_.get()); | 768 ui_task_runner_.get(), io_task_runner_.get()); |
| 770 ASSERT_EQ(SYNC_STATUS_OK, | 769 ASSERT_EQ(SYNC_STATUS_OK, |
| 771 file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 770 file_system.MaybeInitializeFileSystemContext(sync_context_.get())); |
| 772 ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 771 ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); |
| 773 | 772 |
| 774 const FileSystemURL kFile1(file_system.URL("file1")); | 773 const FileSystemURL kFile1(file_system.URL("file1")); |
| 775 const FileSystemURL kFile2(file_system.URL("file2")); | 774 const FileSystemURL kFile2(file_system.URL("file2")); |
| 776 const FileSystemURL kDir(file_system.URL("dir")); | 775 const FileSystemURL kDir(file_system.URL("dir")); |
| 777 | 776 |
| 778 const char kTestFileData0[] = "0123456789"; | 777 const char kTestFileData0[] = "0123456789"; |
| 779 const char kTestFileData1[] = "Lorem ipsum!"; | 778 const char kTestFileData1[] = "Lorem ipsum!"; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 791 file_system.DirectoryExists(kDir)); | 790 file_system.DirectoryExists(kDir)); |
| 792 | 791 |
| 793 // file_system's change tracker must have recorded the creation. | 792 // file_system's change tracker must have recorded the creation. |
| 794 FileSystemURLSet urls; | 793 FileSystemURLSet urls; |
| 795 file_system.GetChangedURLsInTracker(&urls); | 794 file_system.GetChangedURLsInTracker(&urls); |
| 796 ASSERT_EQ(1U, urls.size()); | 795 ASSERT_EQ(1U, urls.size()); |
| 797 EXPECT_TRUE(base::ContainsKey(urls, kFile1)); | 796 EXPECT_TRUE(base::ContainsKey(urls, kFile1)); |
| 798 file_system.ClearChangeForURLInTracker(*urls.begin()); | 797 file_system.ClearChangeForURLInTracker(*urls.begin()); |
| 799 | 798 |
| 800 // Prepare temporary files which represent the remote file data. | 799 // Prepare temporary files which represent the remote file data. |
| 801 const base::FilePath kFilePath1(temp_dir.path().Append(FPL("file1"))); | 800 const base::FilePath kFilePath1(temp_dir.GetPath().Append(FPL("file1"))); |
| 802 const base::FilePath kFilePath2(temp_dir.path().Append(FPL("file2"))); | 801 const base::FilePath kFilePath2(temp_dir.GetPath().Append(FPL("file2"))); |
| 803 | 802 |
| 804 ASSERT_EQ(static_cast<int>(arraysize(kTestFileData1) - 1), | 803 ASSERT_EQ(static_cast<int>(arraysize(kTestFileData1) - 1), |
| 805 base::WriteFile(kFilePath1, kTestFileData1, | 804 base::WriteFile(kFilePath1, kTestFileData1, |
| 806 arraysize(kTestFileData1) - 1)); | 805 arraysize(kTestFileData1) - 1)); |
| 807 ASSERT_EQ(static_cast<int>(arraysize(kTestFileData2) - 1), | 806 ASSERT_EQ(static_cast<int>(arraysize(kTestFileData2) - 1), |
| 808 base::WriteFile(kFilePath2, kTestFileData2, | 807 base::WriteFile(kFilePath2, kTestFileData2, |
| 809 arraysize(kTestFileData2) - 1)); | 808 arraysize(kTestFileData2) - 1)); |
| 810 | 809 |
| 811 // Record the usage. | 810 // Record the usage. |
| 812 int64_t usage = -1, new_usage = -1; | 811 int64_t usage = -1, new_usage = -1; |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 908 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForAddOrUpdate_NoParent) { | 907 TEST_F(LocalFileSyncContextTest, ApplyRemoteChangeForAddOrUpdate_NoParent) { |
| 909 base::ScopedTempDir temp_dir; | 908 base::ScopedTempDir temp_dir; |
| 910 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); | 909 ASSERT_TRUE(temp_dir.CreateUniqueTempDir()); |
| 911 | 910 |
| 912 CannedSyncableFileSystem file_system(GURL(kOrigin1), | 911 CannedSyncableFileSystem file_system(GURL(kOrigin1), |
| 913 in_memory_env_.get(), | 912 in_memory_env_.get(), |
| 914 io_task_runner_.get(), | 913 io_task_runner_.get(), |
| 915 file_task_runner_.get()); | 914 file_task_runner_.get()); |
| 916 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); | 915 file_system.SetUp(CannedSyncableFileSystem::QUOTA_ENABLED); |
| 917 | 916 |
| 918 sync_context_ = new LocalFileSyncContext( | 917 sync_context_ = |
| 919 dir_.path(), in_memory_env_.get(), | 918 new LocalFileSyncContext(dir_.GetPath(), in_memory_env_.get(), |
| 920 ui_task_runner_.get(), io_task_runner_.get()); | 919 ui_task_runner_.get(), io_task_runner_.get()); |
| 921 ASSERT_EQ(SYNC_STATUS_OK, | 920 ASSERT_EQ(SYNC_STATUS_OK, |
| 922 file_system.MaybeInitializeFileSystemContext(sync_context_.get())); | 921 file_system.MaybeInitializeFileSystemContext(sync_context_.get())); |
| 923 ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); | 922 ASSERT_EQ(base::File::FILE_OK, file_system.OpenFileSystem()); |
| 924 | 923 |
| 925 const char kTestFileData[] = "Lorem ipsum!"; | 924 const char kTestFileData[] = "Lorem ipsum!"; |
| 926 const FileSystemURL kDir(file_system.URL("dir")); | 925 const FileSystemURL kDir(file_system.URL("dir")); |
| 927 const FileSystemURL kFile(file_system.URL("dir/file")); | 926 const FileSystemURL kFile(file_system.URL("dir/file")); |
| 928 | 927 |
| 929 // Either kDir or kFile not exist yet. | 928 // Either kDir or kFile not exist yet. |
| 930 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, file_system.FileExists(kDir)); | 929 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, file_system.FileExists(kDir)); |
| 931 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, file_system.FileExists(kFile)); | 930 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, file_system.FileExists(kFile)); |
| 932 | 931 |
| 933 // Prepare a temporary file which represents remote file data. | 932 // Prepare a temporary file which represents remote file data. |
| 934 const base::FilePath kFilePath(temp_dir.path().Append(FPL("file"))); | 933 const base::FilePath kFilePath(temp_dir.GetPath().Append(FPL("file"))); |
| 935 ASSERT_EQ(static_cast<int>(arraysize(kTestFileData) - 1), | 934 ASSERT_EQ(static_cast<int>(arraysize(kTestFileData) - 1), |
| 936 base::WriteFile(kFilePath, kTestFileData, | 935 base::WriteFile(kFilePath, kTestFileData, |
| 937 arraysize(kTestFileData) - 1)); | 936 arraysize(kTestFileData) - 1)); |
| 938 | 937 |
| 939 // Calling ApplyChange's with kFilePath should create | 938 // Calling ApplyChange's with kFilePath should create |
| 940 // kFile along with kDir. | 939 // kFile along with kDir. |
| 941 FileChange change(FileChange::FILE_CHANGE_ADD_OR_UPDATE, | 940 FileChange change(FileChange::FILE_CHANGE_ADD_OR_UPDATE, |
| 942 SYNC_FILE_TYPE_FILE); | 941 SYNC_FILE_TYPE_FILE); |
| 943 EXPECT_EQ(SYNC_STATUS_OK, | 942 EXPECT_EQ(SYNC_STATUS_OK, |
| 944 ApplyRemoteChange(file_system.file_system_context(), | 943 ApplyRemoteChange(file_system.file_system_context(), |
| 945 change, kFilePath, kFile, | 944 change, kFilePath, kFile, |
| 946 SYNC_FILE_TYPE_UNKNOWN)); | 945 SYNC_FILE_TYPE_UNKNOWN)); |
| 947 | 946 |
| 948 // The changes applied by ApplyRemoteChange should not be recorded in | 947 // The changes applied by ApplyRemoteChange should not be recorded in |
| 949 // the change tracker. | 948 // the change tracker. |
| 950 FileSystemURLSet urls; | 949 FileSystemURLSet urls; |
| 951 urls.clear(); | 950 urls.clear(); |
| 952 file_system.GetChangedURLsInTracker(&urls); | 951 file_system.GetChangedURLsInTracker(&urls); |
| 953 EXPECT_TRUE(urls.empty()); | 952 EXPECT_TRUE(urls.empty()); |
| 954 | 953 |
| 955 // Make sure kDir and kFile are created by ApplyRemoteChange. | 954 // Make sure kDir and kFile are created by ApplyRemoteChange. |
| 956 EXPECT_EQ(base::File::FILE_OK, file_system.FileExists(kFile)); | 955 EXPECT_EQ(base::File::FILE_OK, file_system.FileExists(kFile)); |
| 957 EXPECT_EQ(base::File::FILE_OK, file_system.DirectoryExists(kDir)); | 956 EXPECT_EQ(base::File::FILE_OK, file_system.DirectoryExists(kDir)); |
| 958 | 957 |
| 959 sync_context_->ShutdownOnUIThread(); | 958 sync_context_->ShutdownOnUIThread(); |
| 960 file_system.TearDown(); | 959 file_system.TearDown(); |
| 961 } | 960 } |
| 962 | 961 |
| 963 } // namespace sync_file_system | 962 } // namespace sync_file_system |
| OLD | NEW |