| 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 "chrome/browser/chromeos/drive/file_system.h" | 5 #include "chrome/browser/chromeos/drive/file_system.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 762 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 773 google_apis::test_util::CreateCopyResultCallback(&error)); | 773 google_apis::test_util::CreateCopyResultCallback(&error)); |
| 774 content::RunAllBlockingPoolTasksUntilIdle(); | 774 content::RunAllBlockingPoolTasksUntilIdle(); |
| 775 | 775 |
| 776 EXPECT_EQ(FILE_ERROR_OK, error); | 776 EXPECT_EQ(FILE_ERROR_OK, error); |
| 777 | 777 |
| 778 scoped_ptr<ResourceEntry> entry(GetResourceEntrySync(new_directory)); | 778 scoped_ptr<ResourceEntry> entry(GetResourceEntrySync(new_directory)); |
| 779 ASSERT_TRUE(entry); | 779 ASSERT_TRUE(entry); |
| 780 EXPECT_TRUE(entry->file_info().is_directory()); | 780 EXPECT_TRUE(entry->file_info().is_directory()); |
| 781 } | 781 } |
| 782 | 782 |
| 783 TEST_F(FileSystemTest, ReadDirectoryAfterUpdateWhileLoading) { |
| 784 // Simulate the situation that full feed fetching takes very long time, |
| 785 // to test the recursive "fast fetch" feature is properly working. |
| 786 fake_drive_service_->set_never_return_all_file_list(true); |
| 787 |
| 788 // On the fake server, create the test directory. |
| 789 scoped_ptr<google_apis::FileResource> parent; |
| 790 { |
| 791 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
| 792 fake_drive_service_->AddNewDirectory( |
| 793 fake_drive_service_->GetRootResourceId(), |
| 794 "UpdateWhileLoadingTestDir", |
| 795 DriveServiceInterface::AddNewDirectoryOptions(), |
| 796 google_apis::test_util::CreateCopyResultCallback(&error, &parent)); |
| 797 base::RunLoop().RunUntilIdle(); |
| 798 ASSERT_EQ(google_apis::HTTP_CREATED, error); |
| 799 } |
| 800 |
| 801 // Fetch the directory. Currently it is empty. |
| 802 scoped_ptr<ResourceEntryVector> before = ReadDirectorySync(base::FilePath( |
| 803 FILE_PATH_LITERAL("drive/root/UpdateWhileLoadingTestDir"))); |
| 804 ASSERT_TRUE(before); |
| 805 EXPECT_EQ(0u, before->size()); |
| 806 |
| 807 // Create a file in the test directory. |
| 808 scoped_ptr<google_apis::FileResource> entry; |
| 809 { |
| 810 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
| 811 fake_drive_service_->AddNewFile( |
| 812 "text/plain", |
| 813 "(dummy data)", |
| 814 parent->file_id(), |
| 815 "TestFile", |
| 816 false, // shared_with_me |
| 817 google_apis::test_util::CreateCopyResultCallback(&error, &entry)); |
| 818 base::RunLoop().RunUntilIdle(); |
| 819 ASSERT_EQ(google_apis::HTTP_CREATED, error); |
| 820 } |
| 821 |
| 822 // Notify the update to the file system. |
| 823 file_system_->CheckForUpdates(); |
| 824 |
| 825 // Read the directory once again. Although the full feed fetching is not yet |
| 826 // finished, the "fast fetch" of the directory works and the refreshed content |
| 827 // is returned. |
| 828 scoped_ptr<ResourceEntryVector> after = ReadDirectorySync(base::FilePath( |
| 829 FILE_PATH_LITERAL("drive/root/UpdateWhileLoadingTestDir"))); |
| 830 ASSERT_TRUE(after); |
| 831 EXPECT_EQ(1u, after->size()); |
| 832 } |
| 833 |
| 783 TEST_F(FileSystemTest, PinAndUnpin) { | 834 TEST_F(FileSystemTest, PinAndUnpin) { |
| 784 ASSERT_TRUE(LoadFullResourceList()); | 835 ASSERT_TRUE(LoadFullResourceList()); |
| 785 | 836 |
| 786 base::FilePath file_path(FILE_PATH_LITERAL("drive/root/File 1.txt")); | 837 base::FilePath file_path(FILE_PATH_LITERAL("drive/root/File 1.txt")); |
| 787 | 838 |
| 788 // Get the file info. | 839 // Get the file info. |
| 789 scoped_ptr<ResourceEntry> entry(GetResourceEntrySync(file_path)); | 840 scoped_ptr<ResourceEntry> entry(GetResourceEntrySync(file_path)); |
| 790 ASSERT_TRUE(entry); | 841 ASSERT_TRUE(entry); |
| 791 | 842 |
| 792 // Pin the file. | 843 // Pin the file. |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 916 kEmbedOrigin, | 967 kEmbedOrigin, |
| 917 google_apis::test_util::CreateCopyResultCallback(&error, &share_url)); | 968 google_apis::test_util::CreateCopyResultCallback(&error, &share_url)); |
| 918 content::RunAllBlockingPoolTasksUntilIdle(); | 969 content::RunAllBlockingPoolTasksUntilIdle(); |
| 919 | 970 |
| 920 // Verify the share url to the sharing dialog. | 971 // Verify the share url to the sharing dialog. |
| 921 EXPECT_EQ(FILE_ERROR_OK, error); | 972 EXPECT_EQ(FILE_ERROR_OK, error); |
| 922 EXPECT_TRUE(share_url.is_valid()); | 973 EXPECT_TRUE(share_url.is_valid()); |
| 923 } | 974 } |
| 924 | 975 |
| 925 } // namespace drive | 976 } // namespace drive |
| OLD | NEW |