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 |