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

Side by Side Diff: chrome/browser/chromeos/drive/file_system/copy_operation_unittest.cc

Issue 343073003: Files.app: Provide detailed change information on onDirectoryChanged event (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 5 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 | Annotate | Revision Log
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 "chrome/browser/chromeos/drive/file_system/copy_operation.h" 5 #include "chrome/browser/chromeos/drive/file_system/copy_operation.h"
6 6
7 #include "base/file_util.h" 7 #include "base/file_util.h"
8 #include "base/task_runner_util.h" 8 #include "base/task_runner_util.h"
9 #include "chrome/browser/chromeos/drive/file_cache.h" 9 #include "chrome/browser/chromeos/drive/file_cache.h"
10 #include "chrome/browser/chromeos/drive/file_change.h"
10 #include "chrome/browser/chromeos/drive/file_system/operation_test_base.h" 11 #include "chrome/browser/chromeos/drive/file_system/operation_test_base.h"
11 #include "chrome/browser/chromeos/drive/file_system_util.h" 12 #include "chrome/browser/chromeos/drive/file_system_util.h"
12 #include "chrome/browser/drive/drive_api_util.h" 13 #include "chrome/browser/drive/drive_api_util.h"
13 #include "chrome/browser/drive/fake_drive_service.h" 14 #include "chrome/browser/drive/fake_drive_service.h"
14 #include "google_apis/drive/drive_api_parser.h" 15 #include "google_apis/drive/drive_api_parser.h"
15 #include "google_apis/drive/test_util.h" 16 #include "google_apis/drive/test_util.h"
16 #include "testing/gtest/include/gtest/gtest.h" 17 #include "testing/gtest/include/gtest/gtest.h"
17 18
18 namespace drive { 19 namespace drive {
19 namespace file_system { 20 namespace file_system {
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 test_util::RunBlockingPoolTask(); 57 test_util::RunBlockingPoolTask();
57 EXPECT_EQ(FILE_ERROR_OK, error); 58 EXPECT_EQ(FILE_ERROR_OK, error);
58 59
59 // TransferFileFromLocalToRemote stores a copy of the local file in the cache, 60 // TransferFileFromLocalToRemote stores a copy of the local file in the cache,
60 // marks it dirty and requests the observer to upload the file. 61 // marks it dirty and requests the observer to upload the file.
61 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(remote_dest_path, &entry)); 62 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(remote_dest_path, &entry));
62 EXPECT_EQ(1U, observer()->updated_local_ids().count(entry.local_id())); 63 EXPECT_EQ(1U, observer()->updated_local_ids().count(entry.local_id()));
63 EXPECT_TRUE(entry.file_specific_info().cache_state().is_present()); 64 EXPECT_TRUE(entry.file_specific_info().cache_state().is_present());
64 EXPECT_TRUE(entry.file_specific_info().cache_state().is_dirty()); 65 EXPECT_TRUE(entry.file_specific_info().cache_state().is_dirty());
65 66
66 EXPECT_EQ(1U, observer()->get_changed_paths().size()); 67 EXPECT_EQ(1U, observer()->get_changed_files().size());
67 EXPECT_TRUE(observer()->get_changed_paths().count( 68 EXPECT_TRUE(observer()->get_changed_files().count(remote_dest_path));
68 remote_dest_path.DirName()));
69 } 69 }
70 70
71 TEST_F(CopyOperationTest, TransferFileFromLocalToRemote_Overwrite) { 71 TEST_F(CopyOperationTest, TransferFileFromLocalToRemote_Overwrite) {
72 const base::FilePath local_src_path = temp_dir().AppendASCII("local.txt"); 72 const base::FilePath local_src_path = temp_dir().AppendASCII("local.txt");
73 const base::FilePath remote_dest_path( 73 const base::FilePath remote_dest_path(
74 FILE_PATH_LITERAL("drive/root/File 1.txt")); 74 FILE_PATH_LITERAL("drive/root/File 1.txt"));
75 75
76 // Prepare a local file. 76 // Prepare a local file.
77 EXPECT_TRUE( 77 EXPECT_TRUE(
78 google_apis::test_util::WriteStringToFile(local_src_path, "hello")); 78 google_apis::test_util::WriteStringToFile(local_src_path, "hello"));
(...skipping 10 matching lines...) Expand all
89 test_util::RunBlockingPoolTask(); 89 test_util::RunBlockingPoolTask();
90 EXPECT_EQ(FILE_ERROR_OK, error); 90 EXPECT_EQ(FILE_ERROR_OK, error);
91 91
92 // TransferFileFromLocalToRemote stores a copy of the local file in the cache, 92 // TransferFileFromLocalToRemote stores a copy of the local file in the cache,
93 // marks it dirty and requests the observer to upload the file. 93 // marks it dirty and requests the observer to upload the file.
94 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(remote_dest_path, &entry)); 94 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(remote_dest_path, &entry));
95 EXPECT_EQ(1U, observer()->updated_local_ids().count(entry.local_id())); 95 EXPECT_EQ(1U, observer()->updated_local_ids().count(entry.local_id()));
96 EXPECT_TRUE(entry.file_specific_info().cache_state().is_present()); 96 EXPECT_TRUE(entry.file_specific_info().cache_state().is_present());
97 EXPECT_TRUE(entry.file_specific_info().cache_state().is_dirty()); 97 EXPECT_TRUE(entry.file_specific_info().cache_state().is_dirty());
98 98
99 EXPECT_EQ(1U, observer()->get_changed_paths().size()); 99 EXPECT_EQ(1U, observer()->get_changed_files().size());
100 EXPECT_TRUE(observer()->get_changed_paths().count( 100 EXPECT_TRUE(observer()->get_changed_files().count(remote_dest_path));
101 remote_dest_path.DirName()));
102 } 101 }
103 102
104 TEST_F(CopyOperationTest, 103 TEST_F(CopyOperationTest,
105 TransferFileFromLocalToRemote_ExistingHostedDocument) { 104 TransferFileFromLocalToRemote_ExistingHostedDocument) {
106 const base::FilePath local_src_path = temp_dir().AppendASCII("local.gdoc"); 105 const base::FilePath local_src_path = temp_dir().AppendASCII("local.gdoc");
107 const base::FilePath remote_dest_path(FILE_PATH_LITERAL( 106 const base::FilePath remote_dest_path(FILE_PATH_LITERAL(
108 "drive/root/Directory 1/copied.gdoc")); 107 "drive/root/Directory 1/copied.gdoc"));
109 108
110 // Prepare a local file, which is a json file of a hosted document, which 109 // Prepare a local file, which is a json file of a hosted document, which
111 // matches "drive/root/Document 1 excludeDir-test". 110 // matches "drive/root/Document 1 excludeDir-test".
(...skipping 10 matching lines...) Expand all
122 FileError error = FILE_ERROR_FAILED; 121 FileError error = FILE_ERROR_FAILED;
123 operation_->TransferFileFromLocalToRemote( 122 operation_->TransferFileFromLocalToRemote(
124 local_src_path, 123 local_src_path,
125 remote_dest_path, 124 remote_dest_path,
126 google_apis::test_util::CreateCopyResultCallback(&error)); 125 google_apis::test_util::CreateCopyResultCallback(&error));
127 test_util::RunBlockingPoolTask(); 126 test_util::RunBlockingPoolTask();
128 EXPECT_EQ(FILE_ERROR_OK, error); 127 EXPECT_EQ(FILE_ERROR_OK, error);
129 128
130 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(remote_dest_path, &entry)); 129 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(remote_dest_path, &entry));
131 130
132 EXPECT_EQ(1U, observer()->get_changed_paths().size()); 131 EXPECT_EQ(1U, observer()->get_changed_files().size());
133 EXPECT_TRUE( 132 EXPECT_TRUE(observer()->get_changed_files().count(remote_dest_path));
134 observer()->get_changed_paths().count(remote_dest_path.DirName()));
135 // New copy is created. 133 // New copy is created.
136 EXPECT_NE("document:5_document_resource_id", entry.resource_id()); 134 EXPECT_NE("document:5_document_resource_id", entry.resource_id());
137 } 135 }
138 136
139 TEST_F(CopyOperationTest, TransferFileFromLocalToRemote_OrphanHostedDocument) { 137 TEST_F(CopyOperationTest, TransferFileFromLocalToRemote_OrphanHostedDocument) {
140 const base::FilePath local_src_path = temp_dir().AppendASCII("local.gdoc"); 138 const base::FilePath local_src_path = temp_dir().AppendASCII("local.gdoc");
141 const base::FilePath remote_dest_path(FILE_PATH_LITERAL( 139 const base::FilePath remote_dest_path(FILE_PATH_LITERAL(
142 "drive/root/Directory 1/moved.gdoc")); 140 "drive/root/Directory 1/moved.gdoc"));
143 141
144 // Prepare a local file, which is a json file of a hosted document, which 142 // Prepare a local file, which is a json file of a hosted document, which
(...skipping 13 matching lines...) Expand all
158 local_src_path, 156 local_src_path,
159 remote_dest_path, 157 remote_dest_path,
160 google_apis::test_util::CreateCopyResultCallback(&error)); 158 google_apis::test_util::CreateCopyResultCallback(&error));
161 test_util::RunBlockingPoolTask(); 159 test_util::RunBlockingPoolTask();
162 EXPECT_EQ(FILE_ERROR_OK, error); 160 EXPECT_EQ(FILE_ERROR_OK, error);
163 161
164 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(remote_dest_path, &entry)); 162 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(remote_dest_path, &entry));
165 EXPECT_EQ(ResourceEntry::DIRTY, entry.metadata_edit_state()); 163 EXPECT_EQ(ResourceEntry::DIRTY, entry.metadata_edit_state());
166 EXPECT_TRUE(observer()->updated_local_ids().count(entry.local_id())); 164 EXPECT_TRUE(observer()->updated_local_ids().count(entry.local_id()));
167 165
168 EXPECT_EQ(1U, observer()->get_changed_paths().size()); 166 EXPECT_EQ(1U, observer()->get_changed_files().size());
169 EXPECT_TRUE( 167 EXPECT_TRUE(observer()->get_changed_files().count(remote_dest_path));
170 observer()->get_changed_paths().count(remote_dest_path.DirName()));
171 // The original document got new parent. 168 // The original document got new parent.
172 EXPECT_EQ("document:orphan_doc_1", entry.resource_id()); 169 EXPECT_EQ("document:orphan_doc_1", entry.resource_id());
173 } 170 }
174 171
175 TEST_F(CopyOperationTest, TransferFileFromLocalToRemote_NewHostedDocument) { 172 TEST_F(CopyOperationTest, TransferFileFromLocalToRemote_NewHostedDocument) {
176 const base::FilePath local_src_path = temp_dir().AppendASCII("local.gdoc"); 173 const base::FilePath local_src_path = temp_dir().AppendASCII("local.gdoc");
177 const base::FilePath remote_dest_path(FILE_PATH_LITERAL( 174 const base::FilePath remote_dest_path(FILE_PATH_LITERAL(
178 "drive/root/Directory 1/moved.gdoc")); 175 "drive/root/Directory 1/moved.gdoc"));
179 176
180 // Create a hosted document on the server that is not synced to local yet. 177 // Create a hosted document on the server that is not synced to local yet.
(...skipping 20 matching lines...) Expand all
201 FileError error = FILE_ERROR_FAILED; 198 FileError error = FILE_ERROR_FAILED;
202 operation_->TransferFileFromLocalToRemote( 199 operation_->TransferFileFromLocalToRemote(
203 local_src_path, 200 local_src_path,
204 remote_dest_path, 201 remote_dest_path,
205 google_apis::test_util::CreateCopyResultCallback(&error)); 202 google_apis::test_util::CreateCopyResultCallback(&error));
206 test_util::RunBlockingPoolTask(); 203 test_util::RunBlockingPoolTask();
207 EXPECT_EQ(FILE_ERROR_OK, error); 204 EXPECT_EQ(FILE_ERROR_OK, error);
208 205
209 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(remote_dest_path, &entry)); 206 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(remote_dest_path, &entry));
210 207
211 EXPECT_EQ(1U, observer()->get_changed_paths().size()); 208 EXPECT_EQ(1U, observer()->get_changed_files().size());
212 EXPECT_TRUE( 209 EXPECT_TRUE(observer()->get_changed_files().count(remote_dest_path));
213 observer()->get_changed_paths().count(remote_dest_path.DirName()));
214 // The original document got new parent. 210 // The original document got new parent.
215 EXPECT_EQ(new_gdoc_entry->file_id(), entry.resource_id()); 211 EXPECT_EQ(new_gdoc_entry->file_id(), entry.resource_id());
216 } 212 }
217 213
218 TEST_F(CopyOperationTest, CopyNotExistingFile) { 214 TEST_F(CopyOperationTest, CopyNotExistingFile) {
219 base::FilePath src_path(FILE_PATH_LITERAL("drive/root/Dummy file.txt")); 215 base::FilePath src_path(FILE_PATH_LITERAL("drive/root/Dummy file.txt"));
220 base::FilePath dest_path(FILE_PATH_LITERAL("drive/root/Test.log")); 216 base::FilePath dest_path(FILE_PATH_LITERAL("drive/root/Test.log"));
221 217
222 ResourceEntry entry; 218 ResourceEntry entry;
223 ASSERT_EQ(FILE_ERROR_NOT_FOUND, GetLocalResourceEntry(src_path, &entry)); 219 ASSERT_EQ(FILE_ERROR_NOT_FOUND, GetLocalResourceEntry(src_path, &entry));
224 220
225 FileError error = FILE_ERROR_OK; 221 FileError error = FILE_ERROR_OK;
226 operation_->Copy(src_path, 222 operation_->Copy(src_path,
227 dest_path, 223 dest_path,
228 false, 224 false,
229 google_apis::test_util::CreateCopyResultCallback(&error)); 225 google_apis::test_util::CreateCopyResultCallback(&error));
230 test_util::RunBlockingPoolTask(); 226 test_util::RunBlockingPoolTask();
231 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error); 227 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error);
232 228
233 EXPECT_EQ(FILE_ERROR_NOT_FOUND, GetLocalResourceEntry(src_path, &entry)); 229 EXPECT_EQ(FILE_ERROR_NOT_FOUND, GetLocalResourceEntry(src_path, &entry));
234 EXPECT_EQ(FILE_ERROR_NOT_FOUND, GetLocalResourceEntry(dest_path, &entry)); 230 EXPECT_EQ(FILE_ERROR_NOT_FOUND, GetLocalResourceEntry(dest_path, &entry));
235 EXPECT_TRUE(observer()->get_changed_paths().empty()); 231 EXPECT_TRUE(observer()->get_changed_files().empty());
236 } 232 }
237 233
238 TEST_F(CopyOperationTest, CopyFileToNonExistingDirectory) { 234 TEST_F(CopyOperationTest, CopyFileToNonExistingDirectory) {
239 base::FilePath src_path(FILE_PATH_LITERAL("drive/root/File 1.txt")); 235 base::FilePath src_path(FILE_PATH_LITERAL("drive/root/File 1.txt"));
240 base::FilePath dest_path(FILE_PATH_LITERAL("drive/root/Dummy/Test.log")); 236 base::FilePath dest_path(FILE_PATH_LITERAL("drive/root/Dummy/Test.log"));
241 237
242 ResourceEntry entry; 238 ResourceEntry entry;
243 ASSERT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(src_path, &entry)); 239 ASSERT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(src_path, &entry));
244 ASSERT_EQ(FILE_ERROR_NOT_FOUND, 240 ASSERT_EQ(FILE_ERROR_NOT_FOUND,
245 GetLocalResourceEntry(dest_path.DirName(), &entry)); 241 GetLocalResourceEntry(dest_path.DirName(), &entry));
246 242
247 FileError error = FILE_ERROR_OK; 243 FileError error = FILE_ERROR_OK;
248 operation_->Copy(src_path, 244 operation_->Copy(src_path,
249 dest_path, 245 dest_path,
250 false, 246 false,
251 google_apis::test_util::CreateCopyResultCallback(&error)); 247 google_apis::test_util::CreateCopyResultCallback(&error));
252 test_util::RunBlockingPoolTask(); 248 test_util::RunBlockingPoolTask();
253 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error); 249 EXPECT_EQ(FILE_ERROR_NOT_FOUND, error);
254 250
255 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(src_path, &entry)); 251 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(src_path, &entry));
256 EXPECT_EQ(FILE_ERROR_NOT_FOUND, GetLocalResourceEntry(dest_path, &entry)); 252 EXPECT_EQ(FILE_ERROR_NOT_FOUND, GetLocalResourceEntry(dest_path, &entry));
257 EXPECT_TRUE(observer()->get_changed_paths().empty()); 253 EXPECT_TRUE(observer()->get_changed_files().empty());
258 } 254 }
259 255
260 // Test the case where the parent of the destination path is an existing file, 256 // Test the case where the parent of the destination path is an existing file,
261 // not a directory. 257 // not a directory.
262 TEST_F(CopyOperationTest, CopyFileToInvalidPath) { 258 TEST_F(CopyOperationTest, CopyFileToInvalidPath) {
263 base::FilePath src_path(FILE_PATH_LITERAL( 259 base::FilePath src_path(FILE_PATH_LITERAL(
264 "drive/root/Document 1 excludeDir-test.gdoc")); 260 "drive/root/Document 1 excludeDir-test.gdoc"));
265 base::FilePath dest_path(FILE_PATH_LITERAL( 261 base::FilePath dest_path(FILE_PATH_LITERAL(
266 "drive/root/Duplicate Name.txt/Document 1 excludeDir-test.gdoc")); 262 "drive/root/Duplicate Name.txt/Document 1 excludeDir-test.gdoc"));
267 263
268 ResourceEntry entry; 264 ResourceEntry entry;
269 ASSERT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(src_path, &entry)); 265 ASSERT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(src_path, &entry));
270 ASSERT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(dest_path.DirName(), &entry)); 266 ASSERT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(dest_path.DirName(), &entry));
271 ASSERT_FALSE(entry.file_info().is_directory()); 267 ASSERT_FALSE(entry.file_info().is_directory());
272 268
273 FileError error = FILE_ERROR_OK; 269 FileError error = FILE_ERROR_OK;
274 operation_->Copy(src_path, 270 operation_->Copy(src_path,
275 dest_path, 271 dest_path,
276 false, 272 false,
277 google_apis::test_util::CreateCopyResultCallback(&error)); 273 google_apis::test_util::CreateCopyResultCallback(&error));
278 test_util::RunBlockingPoolTask(); 274 test_util::RunBlockingPoolTask();
279 EXPECT_EQ(FILE_ERROR_NOT_A_DIRECTORY, error); 275 EXPECT_EQ(FILE_ERROR_NOT_A_DIRECTORY, error);
280 276
281 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(src_path, &entry)); 277 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(src_path, &entry));
282 EXPECT_EQ(FILE_ERROR_NOT_FOUND, GetLocalResourceEntry(dest_path, &entry)); 278 EXPECT_EQ(FILE_ERROR_NOT_FOUND, GetLocalResourceEntry(dest_path, &entry));
283 EXPECT_TRUE(observer()->get_changed_paths().empty()); 279 EXPECT_TRUE(observer()->get_changed_files().empty());
284 } 280 }
285 281
286 TEST_F(CopyOperationTest, CopyDirtyFile) { 282 TEST_F(CopyOperationTest, CopyDirtyFile) {
287 base::FilePath src_path(FILE_PATH_LITERAL("drive/root/File 1.txt")); 283 base::FilePath src_path(FILE_PATH_LITERAL("drive/root/File 1.txt"));
288 base::FilePath dest_path(FILE_PATH_LITERAL( 284 base::FilePath dest_path(FILE_PATH_LITERAL(
289 "drive/root/Directory 1/New File.txt")); 285 "drive/root/Directory 1/New File.txt"));
290 286
291 ResourceEntry src_entry; 287 ResourceEntry src_entry;
292 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(src_path, &src_entry)); 288 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(src_path, &src_entry));
293 289
(...skipping 23 matching lines...) Expand all
317 google_apis::test_util::CreateCopyResultCallback(&error)); 313 google_apis::test_util::CreateCopyResultCallback(&error));
318 test_util::RunBlockingPoolTask(); 314 test_util::RunBlockingPoolTask();
319 EXPECT_EQ(FILE_ERROR_OK, error); 315 EXPECT_EQ(FILE_ERROR_OK, error);
320 316
321 ResourceEntry dest_entry; 317 ResourceEntry dest_entry;
322 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(dest_path, &dest_entry)); 318 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(dest_path, &dest_entry));
323 EXPECT_EQ(ResourceEntry::DIRTY, dest_entry.metadata_edit_state()); 319 EXPECT_EQ(ResourceEntry::DIRTY, dest_entry.metadata_edit_state());
324 320
325 EXPECT_EQ(1u, observer()->updated_local_ids().size()); 321 EXPECT_EQ(1u, observer()->updated_local_ids().size());
326 EXPECT_TRUE(observer()->updated_local_ids().count(dest_entry.local_id())); 322 EXPECT_TRUE(observer()->updated_local_ids().count(dest_entry.local_id()));
327 EXPECT_EQ(1u, observer()->get_changed_paths().size()); 323 EXPECT_EQ(1u, observer()->get_changed_files().size());
328 EXPECT_TRUE(observer()->get_changed_paths().count(dest_path.DirName())); 324 EXPECT_TRUE(observer()->get_changed_files().count(dest_path));
329 325
330 // Copied cache file should be dirty. 326 // Copied cache file should be dirty.
331 EXPECT_TRUE(dest_entry.file_specific_info().cache_state().is_dirty()); 327 EXPECT_TRUE(dest_entry.file_specific_info().cache_state().is_dirty());
332 328
333 // File contents should match. 329 // File contents should match.
334 base::FilePath cache_file_path; 330 base::FilePath cache_file_path;
335 base::PostTaskAndReplyWithResult( 331 base::PostTaskAndReplyWithResult(
336 blocking_task_runner(), 332 blocking_task_runner(),
337 FROM_HERE, 333 FROM_HERE,
338 base::Bind(&internal::FileCache::GetFile, 334 base::Bind(&internal::FileCache::GetFile,
(...skipping 23 matching lines...) Expand all
362 false, 358 false,
363 google_apis::test_util::CreateCopyResultCallback(&error)); 359 google_apis::test_util::CreateCopyResultCallback(&error));
364 test_util::RunBlockingPoolTask(); 360 test_util::RunBlockingPoolTask();
365 EXPECT_EQ(FILE_ERROR_OK, error); 361 EXPECT_EQ(FILE_ERROR_OK, error);
366 362
367 ResourceEntry new_dest_entry; 363 ResourceEntry new_dest_entry;
368 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(dest_path, &new_dest_entry)); 364 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(dest_path, &new_dest_entry));
369 365
370 EXPECT_EQ(1u, observer()->updated_local_ids().size()); 366 EXPECT_EQ(1u, observer()->updated_local_ids().size());
371 EXPECT_TRUE(observer()->updated_local_ids().count(old_dest_entry.local_id())); 367 EXPECT_TRUE(observer()->updated_local_ids().count(old_dest_entry.local_id()));
372 EXPECT_EQ(1u, observer()->get_changed_paths().size()); 368 EXPECT_EQ(1u, observer()->get_changed_files().size());
373 EXPECT_TRUE(observer()->get_changed_paths().count(dest_path.DirName())); 369 EXPECT_TRUE(observer()->get_changed_files().count(dest_path));
374 } 370 }
375 371
376 TEST_F(CopyOperationTest, CopyFileOverwriteDirectory) { 372 TEST_F(CopyOperationTest, CopyFileOverwriteDirectory) {
377 base::FilePath src_path(FILE_PATH_LITERAL("drive/root/File 1.txt")); 373 base::FilePath src_path(FILE_PATH_LITERAL("drive/root/File 1.txt"));
378 base::FilePath dest_path(FILE_PATH_LITERAL("drive/root/Directory 1")); 374 base::FilePath dest_path(FILE_PATH_LITERAL("drive/root/Directory 1"));
379 375
380 FileError error = FILE_ERROR_OK; 376 FileError error = FILE_ERROR_OK;
381 operation_->Copy(src_path, 377 operation_->Copy(src_path,
382 dest_path, 378 dest_path,
383 false, 379 false,
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
424 420
425 ResourceEntry entry2; 421 ResourceEntry entry2;
426 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(src_path, &entry)); 422 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(src_path, &entry));
427 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(dest_path, &entry2)); 423 EXPECT_EQ(FILE_ERROR_OK, GetLocalResourceEntry(dest_path, &entry2));
428 EXPECT_EQ(entry.file_info().last_modified(), 424 EXPECT_EQ(entry.file_info().last_modified(),
429 entry2.file_info().last_modified()); 425 entry2.file_info().last_modified());
430 } 426 }
431 427
432 } // namespace file_system 428 } // namespace file_system
433 } // namespace drive 429 } // namespace drive
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698