OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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/chromeos/drive/file_system/create_directory_operation.h
" | 5 #include "chrome/browser/chromeos/drive/file_system/create_directory_operation.h
" |
6 | 6 |
7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
8 #include "base/threading/sequenced_worker_pool.h" | 8 #include "base/threading/sequenced_worker_pool.h" |
9 #include "chrome/browser/chromeos/drive/change_list_loader.h" | 9 #include "chrome/browser/chromeos/drive/change_list_loader.h" |
10 #include "chrome/browser/chromeos/drive/drive_cache.h" | 10 #include "chrome/browser/chromeos/drive/drive_cache.h" |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 new DriveResourceMetadata(fake_drive_service_->GetRootResourceId(), | 50 new DriveResourceMetadata(fake_drive_service_->GetRootResourceId(), |
51 blocking_task_runner_)); | 51 blocking_task_runner_)); |
52 | 52 |
53 scheduler_.reset( | 53 scheduler_.reset( |
54 new DriveScheduler(profile_.get(), fake_drive_service_.get(), NULL)); | 54 new DriveScheduler(profile_.get(), fake_drive_service_.get(), NULL)); |
55 scheduler_->Initialize(); | 55 scheduler_->Initialize(); |
56 | 56 |
57 drive_web_apps_registry_.reset(new DriveWebAppsRegistry); | 57 drive_web_apps_registry_.reset(new DriveWebAppsRegistry); |
58 | 58 |
59 fake_free_disk_space_getter_.reset(new FakeFreeDiskSpaceGetter); | 59 fake_free_disk_space_getter_.reset(new FakeFreeDiskSpaceGetter); |
60 cache_ = new DriveCache( | 60 cache_.reset(new DriveCache(DriveCache::GetCacheRootPath(profile_.get()), |
61 DriveCache::GetCacheRootPath(profile_.get()), | 61 blocking_task_runner_, |
62 blocking_task_runner_, | 62 fake_free_disk_space_getter_.get())); |
63 fake_free_disk_space_getter_.get()); | |
64 | 63 |
65 change_list_loader_.reset(new ChangeListLoader( | 64 change_list_loader_.reset(new ChangeListLoader( |
66 metadata_.get(), scheduler_.get(), drive_web_apps_registry_.get(), | 65 metadata_.get(), scheduler_.get(), drive_web_apps_registry_.get(), |
67 cache_)); | 66 cache_.get())); |
68 | 67 |
69 DriveFileError error = DRIVE_FILE_OK; | 68 DriveFileError error = DRIVE_FILE_OK; |
70 change_list_loader_->LoadFromServerIfNeeded( | 69 change_list_loader_->LoadFromServerIfNeeded( |
71 DirectoryFetchInfo(), | 70 DirectoryFetchInfo(), |
72 base::Bind(&test_util::CopyErrorCodeFromFileOperationCallback, | 71 base::Bind(&test_util::CopyErrorCodeFromFileOperationCallback, |
73 &error)); | 72 &error)); |
74 cache_->RequestInitializeForTesting(); | 73 cache_->RequestInitializeForTesting(); |
75 google_apis::test_util::RunBlockingPoolTask(); | 74 google_apis::test_util::RunBlockingPoolTask(); |
76 | 75 |
77 operation_.reset( | 76 operation_.reset( |
78 new CreateDirectoryOperation(scheduler_.get(), metadata_.get(), this)); | 77 new CreateDirectoryOperation(scheduler_.get(), metadata_.get(), this)); |
79 } | 78 } |
80 | 79 |
81 virtual void TearDown() OVERRIDE { | 80 virtual void TearDown() OVERRIDE { |
82 operation_.reset(); | 81 operation_.reset(); |
83 change_list_loader_.reset(); | 82 change_list_loader_.reset(); |
84 test_util::DeleteDriveCache(cache_); | 83 cache_.reset(); |
85 fake_free_disk_space_getter_.reset(); | 84 fake_free_disk_space_getter_.reset(); |
86 drive_web_apps_registry_.reset(); | 85 drive_web_apps_registry_.reset(); |
87 scheduler_.reset(); | 86 scheduler_.reset(); |
88 metadata_.reset(); | 87 metadata_.reset(); |
89 fake_drive_service_.reset(); | 88 fake_drive_service_.reset(); |
90 profile_.reset(); | 89 profile_.reset(); |
91 | 90 |
92 blocking_task_runner_ = NULL; | 91 blocking_task_runner_ = NULL; |
93 } | 92 } |
94 | 93 |
(...skipping 26 matching lines...) Expand all Loading... |
121 private: | 120 private: |
122 MessageLoopForUI message_loop_; | 121 MessageLoopForUI message_loop_; |
123 // The order of the test threads is important, do not change the order. | 122 // The order of the test threads is important, do not change the order. |
124 // See also content/browser/browser_thread_impl.cc. | 123 // See also content/browser/browser_thread_impl.cc. |
125 content::TestBrowserThread ui_thread_; | 124 content::TestBrowserThread ui_thread_; |
126 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; | 125 scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_; |
127 | 126 |
128 scoped_ptr<TestingProfile> profile_; | 127 scoped_ptr<TestingProfile> profile_; |
129 | 128 |
130 scoped_ptr<google_apis::FakeDriveService> fake_drive_service_; | 129 scoped_ptr<google_apis::FakeDriveService> fake_drive_service_; |
131 scoped_ptr<DriveResourceMetadata> metadata_; | 130 scoped_ptr<DriveResourceMetadata, test_util::DestroyHelperForTests> metadata_; |
132 scoped_ptr<DriveScheduler> scheduler_; | 131 scoped_ptr<DriveScheduler> scheduler_; |
133 scoped_ptr<DriveWebAppsRegistry> drive_web_apps_registry_; | 132 scoped_ptr<DriveWebAppsRegistry> drive_web_apps_registry_; |
134 scoped_ptr<FakeFreeDiskSpaceGetter> fake_free_disk_space_getter_; | 133 scoped_ptr<FakeFreeDiskSpaceGetter> fake_free_disk_space_getter_; |
135 | 134 |
136 // The way to delete the DriveCache instance is a bit tricky, so here we use | 135 scoped_ptr<DriveCache, test_util::DestroyHelperForTests> cache_; |
137 // a raw point. See TearDown method for how to delete it. | |
138 DriveCache* cache_; | |
139 scoped_ptr<ChangeListLoader> change_list_loader_; | 136 scoped_ptr<ChangeListLoader> change_list_loader_; |
140 | 137 |
141 scoped_ptr<CreateDirectoryOperation> operation_; | 138 scoped_ptr<CreateDirectoryOperation> operation_; |
142 }; | 139 }; |
143 | 140 |
144 TEST_F(CreateDirectoryOperationTest, FindFirstMissingParentDirectory) { | 141 TEST_F(CreateDirectoryOperationTest, FindFirstMissingParentDirectory) { |
145 ASSERT_TRUE(LoadRootFeedDocument("chromeos/gdata/root_feed.json")); | 142 ASSERT_TRUE(LoadRootFeedDocument("chromeos/gdata/root_feed.json")); |
146 | 143 |
147 CreateDirectoryOperation::FindFirstMissingParentDirectoryResult result; | 144 CreateDirectoryOperation::FindFirstMissingParentDirectoryResult result; |
148 | 145 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
196 base::FilePath(FILE_PATH_LITERAL("drive/Directory 1")), | 193 base::FilePath(FILE_PATH_LITERAL("drive/Directory 1")), |
197 base::Bind(&CopyResultFromFindFirstMissingParentDirectory, | 194 base::Bind(&CopyResultFromFindFirstMissingParentDirectory, |
198 &result)); | 195 &result)); |
199 google_apis::test_util::RunBlockingPoolTask(); | 196 google_apis::test_util::RunBlockingPoolTask(); |
200 EXPECT_EQ(CreateDirectoryOperation::FIND_FIRST_DIRECTORY_ALREADY_PRESENT, | 197 EXPECT_EQ(CreateDirectoryOperation::FIND_FIRST_DIRECTORY_ALREADY_PRESENT, |
201 result.error); | 198 result.error); |
202 } | 199 } |
203 | 200 |
204 } // namespace file_system | 201 } // namespace file_system |
205 } // namespace drive | 202 } // namespace drive |
OLD | NEW |