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 #import <Foundation/Foundation.h> | 5 #import <Foundation/Foundation.h> |
6 #import <ImageCaptureCore/ImageCaptureCore.h> | 6 #import <ImageCaptureCore/ImageCaptureCore.h> |
7 | 7 |
8 #include "base/file_util.h" | 8 #include "base/file_util.h" |
| 9 #include "base/files/file.h" |
9 #include "base/files/scoped_temp_dir.h" | 10 #include "base/files/scoped_temp_dir.h" |
10 #include "base/mac/cocoa_protocols.h" | 11 #include "base/mac/cocoa_protocols.h" |
11 #include "base/mac/foundation_util.h" | 12 #include "base/mac/foundation_util.h" |
12 #include "base/mac/scoped_nsobject.h" | 13 #include "base/mac/scoped_nsobject.h" |
13 #include "base/message_loop/message_loop.h" | 14 #include "base/message_loop/message_loop.h" |
14 #include "base/run_loop.h" | 15 #include "base/run_loop.h" |
15 #include "base/strings/sys_string_conversions.h" | 16 #include "base/strings/sys_string_conversions.h" |
16 #include "base/synchronization/waitable_event.h" | 17 #include "base/synchronization/waitable_event.h" |
17 #include "base/test/sequenced_worker_pool_owner.h" | 18 #include "base/test/sequenced_worker_pool_owner.h" |
18 #include "base/threading/sequenced_worker_pool.h" | 19 #include "base/threading/sequenced_worker_pool.h" |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 id<ICDeviceBrowserDelegate> delegate = manager_.device_browser(); | 188 id<ICDeviceBrowserDelegate> delegate = manager_.device_browser(); |
188 [delegate deviceBrowser:nil didRemoveDevice:camera_ moreGoing:NO]; | 189 [delegate deviceBrowser:nil didRemoveDevice:camera_ moreGoing:NO]; |
189 | 190 |
190 delegate_->CancelPendingTasksAndDeleteDelegate(); | 191 delegate_->CancelPendingTasksAndDeleteDelegate(); |
191 | 192 |
192 TestStorageMonitor::RemoveSingleton(); | 193 TestStorageMonitor::RemoveSingleton(); |
193 | 194 |
194 io_thread_->Stop(); | 195 io_thread_->Stop(); |
195 } | 196 } |
196 | 197 |
197 void OnError(base::WaitableEvent* event, base::PlatformFileError error) { | 198 void OnError(base::WaitableEvent* event, base::File::Error error) { |
198 error_ = error; | 199 error_ = error; |
199 event->Signal(); | 200 event->Signal(); |
200 } | 201 } |
201 | 202 |
202 void OverlappedOnError(base::WaitableEvent* event, | 203 void OverlappedOnError(base::WaitableEvent* event, |
203 base::PlatformFileError error) { | 204 base::File::Error error) { |
204 overlapped_error_ = error; | 205 overlapped_error_ = error; |
205 event->Signal(); | 206 event->Signal(); |
206 } | 207 } |
207 | 208 |
208 void OnFileInfo(base::WaitableEvent* event, | 209 void OnFileInfo(base::WaitableEvent* event, |
209 const base::PlatformFileInfo& info) { | 210 const base::File::Info& info) { |
210 error_ = base::PLATFORM_FILE_OK; | 211 error_ = base::File::FILE_OK; |
211 info_ = info; | 212 info_ = info; |
212 event->Signal(); | 213 event->Signal(); |
213 } | 214 } |
214 | 215 |
215 void OnReadDir(base::WaitableEvent* event, | 216 void OnReadDir(base::WaitableEvent* event, |
216 const fileapi::AsyncFileUtil::EntryList& files, | 217 const fileapi::AsyncFileUtil::EntryList& files, |
217 bool has_more) { | 218 bool has_more) { |
218 error_ = base::PLATFORM_FILE_OK; | 219 error_ = base::File::FILE_OK; |
219 ASSERT_FALSE(has_more); | 220 ASSERT_FALSE(has_more); |
220 file_list_ = files; | 221 file_list_ = files; |
221 event->Signal(); | 222 event->Signal(); |
222 } | 223 } |
223 | 224 |
224 void OverlappedOnReadDir(base::WaitableEvent* event, | 225 void OverlappedOnReadDir(base::WaitableEvent* event, |
225 const fileapi::AsyncFileUtil::EntryList& files, | 226 const fileapi::AsyncFileUtil::EntryList& files, |
226 bool has_more) { | 227 bool has_more) { |
227 overlapped_error_ = base::PLATFORM_FILE_OK; | 228 overlapped_error_ = base::File::FILE_OK; |
228 ASSERT_FALSE(has_more); | 229 ASSERT_FALSE(has_more); |
229 overlapped_file_list_ = files; | 230 overlapped_file_list_ = files; |
230 event->Signal(); | 231 event->Signal(); |
231 } | 232 } |
232 | 233 |
233 void OnDownload(base::WaitableEvent* event, | 234 void OnDownload(base::WaitableEvent* event, |
234 const base::PlatformFileInfo& file_info, | 235 const base::File::Info& file_info, |
235 const base::FilePath& local_path) { | 236 const base::FilePath& local_path) { |
236 error_ = base::PLATFORM_FILE_OK; | 237 error_ = base::File::FILE_OK; |
237 event->Signal(); | 238 event->Signal(); |
238 } | 239 } |
239 | 240 |
240 base::PlatformFileError GetFileInfo(const base::FilePath& path, | 241 base::File::Error GetFileInfo(const base::FilePath& path, |
241 base::PlatformFileInfo* info) { | 242 base::File::Info* info) { |
242 base::WaitableEvent wait(true, false); | 243 base::WaitableEvent wait(true, false); |
243 delegate_->GetFileInfo( | 244 delegate_->GetFileInfo( |
244 path, | 245 path, |
245 base::Bind(&MTPDeviceDelegateImplMacTest::OnFileInfo, | 246 base::Bind(&MTPDeviceDelegateImplMacTest::OnFileInfo, |
246 base::Unretained(this), | 247 base::Unretained(this), |
247 &wait), | 248 &wait), |
248 base::Bind(&MTPDeviceDelegateImplMacTest::OnError, | 249 base::Bind(&MTPDeviceDelegateImplMacTest::OnError, |
249 base::Unretained(this), | 250 base::Unretained(this), |
250 &wait)); | 251 &wait)); |
251 base::RunLoop loop; | 252 base::RunLoop loop; |
252 loop.RunUntilIdle(); | 253 loop.RunUntilIdle(); |
253 EXPECT_TRUE(wait.IsSignaled()); | 254 EXPECT_TRUE(wait.IsSignaled()); |
254 *info = info_; | 255 *info = info_; |
255 return error_; | 256 return error_; |
256 } | 257 } |
257 | 258 |
258 base::PlatformFileError ReadDir(const base::FilePath& path) { | 259 base::File::Error ReadDir(const base::FilePath& path) { |
259 base::WaitableEvent wait(true, false); | 260 base::WaitableEvent wait(true, false); |
260 delegate_->ReadDirectory( | 261 delegate_->ReadDirectory( |
261 path, | 262 path, |
262 base::Bind(&MTPDeviceDelegateImplMacTest::OnReadDir, | 263 base::Bind(&MTPDeviceDelegateImplMacTest::OnReadDir, |
263 base::Unretained(this), | 264 base::Unretained(this), |
264 &wait), | 265 &wait), |
265 base::Bind(&MTPDeviceDelegateImplMacTest::OnError, | 266 base::Bind(&MTPDeviceDelegateImplMacTest::OnError, |
266 base::Unretained(this), | 267 base::Unretained(this), |
267 &wait)); | 268 &wait)); |
268 base::RunLoop loop; | 269 base::RunLoop loop; |
269 loop.RunUntilIdle(); | 270 loop.RunUntilIdle(); |
270 wait.Wait(); | 271 wait.Wait(); |
271 return error_; | 272 return error_; |
272 } | 273 } |
273 | 274 |
274 base::PlatformFileError DownloadFile( | 275 base::File::Error DownloadFile( |
275 const base::FilePath& path, | 276 const base::FilePath& path, |
276 const base::FilePath& local_path) { | 277 const base::FilePath& local_path) { |
277 base::WaitableEvent wait(true, false); | 278 base::WaitableEvent wait(true, false); |
278 delegate_->CreateSnapshotFile( | 279 delegate_->CreateSnapshotFile( |
279 path, local_path, | 280 path, local_path, |
280 base::Bind(&MTPDeviceDelegateImplMacTest::OnDownload, | 281 base::Bind(&MTPDeviceDelegateImplMacTest::OnDownload, |
281 base::Unretained(this), | 282 base::Unretained(this), |
282 &wait), | 283 &wait), |
283 base::Bind(&MTPDeviceDelegateImplMacTest::OnError, | 284 base::Bind(&MTPDeviceDelegateImplMacTest::OnError, |
284 base::Unretained(this), | 285 base::Unretained(this), |
(...skipping 10 matching lines...) Expand all Loading... |
295 scoped_ptr<content::TestBrowserThread> ui_thread_; | 296 scoped_ptr<content::TestBrowserThread> ui_thread_; |
296 scoped_ptr<content::TestBrowserThread> file_thread_; | 297 scoped_ptr<content::TestBrowserThread> file_thread_; |
297 scoped_ptr<content::TestBrowserThread> io_thread_; | 298 scoped_ptr<content::TestBrowserThread> io_thread_; |
298 base::ScopedTempDir temp_dir_; | 299 base::ScopedTempDir temp_dir_; |
299 ImageCaptureDeviceManager manager_; | 300 ImageCaptureDeviceManager manager_; |
300 MockMTPICCameraDevice* camera_; | 301 MockMTPICCameraDevice* camera_; |
301 | 302 |
302 // This object needs special deletion inside the above |task_runner_|. | 303 // This object needs special deletion inside the above |task_runner_|. |
303 MTPDeviceDelegateImplMac* delegate_; | 304 MTPDeviceDelegateImplMac* delegate_; |
304 | 305 |
305 base::PlatformFileError error_; | 306 base::File::Error error_; |
306 base::PlatformFileInfo info_; | 307 base::File::Info info_; |
307 fileapi::AsyncFileUtil::EntryList file_list_; | 308 fileapi::AsyncFileUtil::EntryList file_list_; |
308 | 309 |
309 base::PlatformFileError overlapped_error_; | 310 base::File::Error overlapped_error_; |
310 fileapi::AsyncFileUtil::EntryList overlapped_file_list_; | 311 fileapi::AsyncFileUtil::EntryList overlapped_file_list_; |
311 | 312 |
312 private: | 313 private: |
313 DISALLOW_COPY_AND_ASSIGN(MTPDeviceDelegateImplMacTest); | 314 DISALLOW_COPY_AND_ASSIGN(MTPDeviceDelegateImplMacTest); |
314 }; | 315 }; |
315 | 316 |
316 TEST_F(MTPDeviceDelegateImplMacTest, TestGetRootFileInfo) { | 317 TEST_F(MTPDeviceDelegateImplMacTest, TestGetRootFileInfo) { |
317 base::PlatformFileInfo info; | 318 base::File::Info info; |
318 // Making a fresh delegate should have a single file entry for the synthetic | 319 // Making a fresh delegate should have a single file entry for the synthetic |
319 // root directory, with the name equal to the device id string. | 320 // root directory, with the name equal to the device id string. |
320 EXPECT_EQ(base::PLATFORM_FILE_OK, | 321 EXPECT_EQ(base::File::FILE_OK, |
321 GetFileInfo(base::FilePath(kDevicePath), &info)); | 322 GetFileInfo(base::FilePath(kDevicePath), &info)); |
322 EXPECT_TRUE(info.is_directory); | 323 EXPECT_TRUE(info.is_directory); |
323 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NOT_FOUND, | 324 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, |
324 GetFileInfo(base::FilePath("/nonexistent"), &info)); | 325 GetFileInfo(base::FilePath("/nonexistent"), &info)); |
325 | 326 |
326 // Signal the delegate that no files are coming. | 327 // Signal the delegate that no files are coming. |
327 delegate_->NoMoreItems(); | 328 delegate_->NoMoreItems(); |
328 | 329 |
329 EXPECT_EQ(base::PLATFORM_FILE_OK, ReadDir(base::FilePath(kDevicePath))); | 330 EXPECT_EQ(base::File::FILE_OK, ReadDir(base::FilePath(kDevicePath))); |
330 EXPECT_EQ(0U, file_list_.size()); | 331 EXPECT_EQ(0U, file_list_.size()); |
331 } | 332 } |
332 | 333 |
333 TEST_F(MTPDeviceDelegateImplMacTest, TestOverlappedReadDir) { | 334 TEST_F(MTPDeviceDelegateImplMacTest, TestOverlappedReadDir) { |
334 base::Time time1 = base::Time::Now(); | 335 base::Time time1 = base::Time::Now(); |
335 base::PlatformFileInfo info1; | 336 base::File::Info info1; |
336 info1.size = 1; | 337 info1.size = 1; |
337 info1.is_directory = false; | 338 info1.is_directory = false; |
338 info1.is_symbolic_link = false; | 339 info1.is_symbolic_link = false; |
339 info1.last_modified = time1; | 340 info1.last_modified = time1; |
340 info1.last_accessed = time1; | 341 info1.last_accessed = time1; |
341 info1.creation_time = time1; | 342 info1.creation_time = time1; |
342 delegate_->ItemAdded("name1", info1); | 343 delegate_->ItemAdded("name1", info1); |
343 | 344 |
344 base::WaitableEvent wait(true, false); | 345 base::WaitableEvent wait(true, false); |
345 | 346 |
(...skipping 16 matching lines...) Expand all Loading... |
362 &wait)); | 363 &wait)); |
363 | 364 |
364 | 365 |
365 // Signal the delegate that no files are coming. | 366 // Signal the delegate that no files are coming. |
366 delegate_->NoMoreItems(); | 367 delegate_->NoMoreItems(); |
367 | 368 |
368 base::RunLoop loop; | 369 base::RunLoop loop; |
369 loop.RunUntilIdle(); | 370 loop.RunUntilIdle(); |
370 wait.Wait(); | 371 wait.Wait(); |
371 | 372 |
372 EXPECT_EQ(base::PLATFORM_FILE_OK, error_); | 373 EXPECT_EQ(base::File::FILE_OK, error_); |
373 EXPECT_EQ(1U, file_list_.size()); | 374 EXPECT_EQ(1U, file_list_.size()); |
374 EXPECT_EQ(base::PLATFORM_FILE_OK, overlapped_error_); | 375 EXPECT_EQ(base::File::FILE_OK, overlapped_error_); |
375 EXPECT_EQ(1U, overlapped_file_list_.size()); | 376 EXPECT_EQ(1U, overlapped_file_list_.size()); |
376 } | 377 } |
377 | 378 |
378 TEST_F(MTPDeviceDelegateImplMacTest, TestGetFileInfo) { | 379 TEST_F(MTPDeviceDelegateImplMacTest, TestGetFileInfo) { |
379 base::Time time1 = base::Time::Now(); | 380 base::Time time1 = base::Time::Now(); |
380 base::PlatformFileInfo info1; | 381 base::File::Info info1; |
381 info1.size = 1; | 382 info1.size = 1; |
382 info1.is_directory = false; | 383 info1.is_directory = false; |
383 info1.is_symbolic_link = false; | 384 info1.is_symbolic_link = false; |
384 info1.last_modified = time1; | 385 info1.last_modified = time1; |
385 info1.last_accessed = time1; | 386 info1.last_accessed = time1; |
386 info1.creation_time = time1; | 387 info1.creation_time = time1; |
387 delegate_->ItemAdded("name1", info1); | 388 delegate_->ItemAdded("name1", info1); |
388 | 389 |
389 base::PlatformFileInfo info; | 390 base::File::Info info; |
390 EXPECT_EQ(base::PLATFORM_FILE_OK, | 391 EXPECT_EQ(base::File::FILE_OK, |
391 GetFileInfo(base::FilePath("/ic:id/name1"), &info)); | 392 GetFileInfo(base::FilePath("/ic:id/name1"), &info)); |
392 EXPECT_EQ(info1.size, info.size); | 393 EXPECT_EQ(info1.size, info.size); |
393 EXPECT_EQ(info1.is_directory, info.is_directory); | 394 EXPECT_EQ(info1.is_directory, info.is_directory); |
394 EXPECT_EQ(info1.last_modified, info.last_modified); | 395 EXPECT_EQ(info1.last_modified, info.last_modified); |
395 EXPECT_EQ(info1.last_accessed, info.last_accessed); | 396 EXPECT_EQ(info1.last_accessed, info.last_accessed); |
396 EXPECT_EQ(info1.creation_time, info.creation_time); | 397 EXPECT_EQ(info1.creation_time, info.creation_time); |
397 | 398 |
398 info1.size = 2; | 399 info1.size = 2; |
399 delegate_->ItemAdded("name2", info1); | 400 delegate_->ItemAdded("name2", info1); |
400 delegate_->NoMoreItems(); | 401 delegate_->NoMoreItems(); |
401 | 402 |
402 EXPECT_EQ(base::PLATFORM_FILE_OK, | 403 EXPECT_EQ(base::File::FILE_OK, |
403 GetFileInfo(base::FilePath("/ic:id/name2"), &info)); | 404 GetFileInfo(base::FilePath("/ic:id/name2"), &info)); |
404 EXPECT_EQ(info1.size, info.size); | 405 EXPECT_EQ(info1.size, info.size); |
405 | 406 |
406 EXPECT_EQ(base::PLATFORM_FILE_OK, ReadDir(base::FilePath(kDevicePath))); | 407 EXPECT_EQ(base::File::FILE_OK, ReadDir(base::FilePath(kDevicePath))); |
407 | 408 |
408 ASSERT_EQ(2U, file_list_.size()); | 409 ASSERT_EQ(2U, file_list_.size()); |
409 EXPECT_EQ(time1, file_list_[0].last_modified_time); | 410 EXPECT_EQ(time1, file_list_[0].last_modified_time); |
410 EXPECT_FALSE(file_list_[0].is_directory); | 411 EXPECT_FALSE(file_list_[0].is_directory); |
411 EXPECT_EQ("name1", file_list_[0].name); | 412 EXPECT_EQ("name1", file_list_[0].name); |
412 | 413 |
413 EXPECT_EQ(time1, file_list_[1].last_modified_time); | 414 EXPECT_EQ(time1, file_list_[1].last_modified_time); |
414 EXPECT_FALSE(file_list_[1].is_directory); | 415 EXPECT_FALSE(file_list_[1].is_directory); |
415 EXPECT_EQ("name2", file_list_[1].name); | 416 EXPECT_EQ("name2", file_list_[1].name); |
416 } | 417 } |
417 | 418 |
418 TEST_F(MTPDeviceDelegateImplMacTest, TestDirectoriesAndSorting) { | 419 TEST_F(MTPDeviceDelegateImplMacTest, TestDirectoriesAndSorting) { |
419 base::Time time1 = base::Time::Now(); | 420 base::Time time1 = base::Time::Now(); |
420 base::PlatformFileInfo info1; | 421 base::File::Info info1; |
421 info1.size = 1; | 422 info1.size = 1; |
422 info1.is_directory = false; | 423 info1.is_directory = false; |
423 info1.is_symbolic_link = false; | 424 info1.is_symbolic_link = false; |
424 info1.last_modified = time1; | 425 info1.last_modified = time1; |
425 info1.last_accessed = time1; | 426 info1.last_accessed = time1; |
426 info1.creation_time = time1; | 427 info1.creation_time = time1; |
427 delegate_->ItemAdded("name2", info1); | 428 delegate_->ItemAdded("name2", info1); |
428 | 429 |
429 info1.is_directory = true; | 430 info1.is_directory = true; |
430 delegate_->ItemAdded("dir2", info1); | 431 delegate_->ItemAdded("dir2", info1); |
431 delegate_->ItemAdded("dir1", info1); | 432 delegate_->ItemAdded("dir1", info1); |
432 | 433 |
433 info1.is_directory = false; | 434 info1.is_directory = false; |
434 delegate_->ItemAdded("name1", info1); | 435 delegate_->ItemAdded("name1", info1); |
435 delegate_->NoMoreItems(); | 436 delegate_->NoMoreItems(); |
436 | 437 |
437 EXPECT_EQ(base::PLATFORM_FILE_OK, ReadDir(base::FilePath(kDevicePath))); | 438 EXPECT_EQ(base::File::FILE_OK, ReadDir(base::FilePath(kDevicePath))); |
438 | 439 |
439 ASSERT_EQ(4U, file_list_.size()); | 440 ASSERT_EQ(4U, file_list_.size()); |
440 EXPECT_EQ("dir1", file_list_[0].name); | 441 EXPECT_EQ("dir1", file_list_[0].name); |
441 EXPECT_EQ("dir2", file_list_[1].name); | 442 EXPECT_EQ("dir2", file_list_[1].name); |
442 EXPECT_EQ(time1, file_list_[2].last_modified_time); | 443 EXPECT_EQ(time1, file_list_[2].last_modified_time); |
443 EXPECT_FALSE(file_list_[2].is_directory); | 444 EXPECT_FALSE(file_list_[2].is_directory); |
444 EXPECT_EQ("name1", file_list_[2].name); | 445 EXPECT_EQ("name1", file_list_[2].name); |
445 | 446 |
446 EXPECT_EQ(time1, file_list_[3].last_modified_time); | 447 EXPECT_EQ(time1, file_list_[3].last_modified_time); |
447 EXPECT_FALSE(file_list_[3].is_directory); | 448 EXPECT_FALSE(file_list_[3].is_directory); |
448 EXPECT_EQ("name2", file_list_[3].name); | 449 EXPECT_EQ("name2", file_list_[3].name); |
449 } | 450 } |
450 | 451 |
451 TEST_F(MTPDeviceDelegateImplMacTest, SubDirectories) { | 452 TEST_F(MTPDeviceDelegateImplMacTest, SubDirectories) { |
452 base::Time time1 = base::Time::Now(); | 453 base::Time time1 = base::Time::Now(); |
453 base::PlatformFileInfo info1; | 454 base::File::Info info1; |
454 info1.size = 0; | 455 info1.size = 0; |
455 info1.is_directory = true; | 456 info1.is_directory = true; |
456 info1.is_symbolic_link = false; | 457 info1.is_symbolic_link = false; |
457 info1.last_modified = time1; | 458 info1.last_modified = time1; |
458 info1.last_accessed = time1; | 459 info1.last_accessed = time1; |
459 info1.creation_time = time1; | 460 info1.creation_time = time1; |
460 delegate_->ItemAdded("dir1", info1); | 461 delegate_->ItemAdded("dir1", info1); |
461 | 462 |
462 info1.size = 1; | 463 info1.size = 1; |
463 info1.is_directory = false; | 464 info1.is_directory = false; |
(...skipping 15 matching lines...) Expand all Loading... |
479 info1.size = 0; | 480 info1.size = 0; |
480 delegate_->ItemAdded("dir2/subdir", info1); | 481 delegate_->ItemAdded("dir2/subdir", info1); |
481 | 482 |
482 info1.is_directory = false; | 483 info1.is_directory = false; |
483 info1.size = 1; | 484 info1.size = 1; |
484 delegate_->ItemAdded("dir2/subdir/name3", info1); | 485 delegate_->ItemAdded("dir2/subdir/name3", info1); |
485 delegate_->ItemAdded("name4", info1); | 486 delegate_->ItemAdded("name4", info1); |
486 | 487 |
487 delegate_->NoMoreItems(); | 488 delegate_->NoMoreItems(); |
488 | 489 |
489 EXPECT_EQ(base::PLATFORM_FILE_OK, ReadDir(base::FilePath(kDevicePath))); | 490 EXPECT_EQ(base::File::FILE_OK, ReadDir(base::FilePath(kDevicePath))); |
490 ASSERT_EQ(3U, file_list_.size()); | 491 ASSERT_EQ(3U, file_list_.size()); |
491 EXPECT_TRUE(file_list_[0].is_directory); | 492 EXPECT_TRUE(file_list_[0].is_directory); |
492 EXPECT_EQ("dir1", file_list_[0].name); | 493 EXPECT_EQ("dir1", file_list_[0].name); |
493 EXPECT_TRUE(file_list_[1].is_directory); | 494 EXPECT_TRUE(file_list_[1].is_directory); |
494 EXPECT_EQ("dir2", file_list_[1].name); | 495 EXPECT_EQ("dir2", file_list_[1].name); |
495 EXPECT_FALSE(file_list_[2].is_directory); | 496 EXPECT_FALSE(file_list_[2].is_directory); |
496 EXPECT_EQ("name4", file_list_[2].name); | 497 EXPECT_EQ("name4", file_list_[2].name); |
497 | 498 |
498 EXPECT_EQ(base::PLATFORM_FILE_OK, | 499 EXPECT_EQ(base::File::FILE_OK, |
499 ReadDir(base::FilePath(kDevicePath).Append("dir1"))); | 500 ReadDir(base::FilePath(kDevicePath).Append("dir1"))); |
500 ASSERT_EQ(1U, file_list_.size()); | 501 ASSERT_EQ(1U, file_list_.size()); |
501 EXPECT_FALSE(file_list_[0].is_directory); | 502 EXPECT_FALSE(file_list_[0].is_directory); |
502 EXPECT_EQ("name1", file_list_[0].name); | 503 EXPECT_EQ("name1", file_list_[0].name); |
503 | 504 |
504 EXPECT_EQ(base::PLATFORM_FILE_OK, | 505 EXPECT_EQ(base::File::FILE_OK, |
505 ReadDir(base::FilePath(kDevicePath).Append("dir2"))); | 506 ReadDir(base::FilePath(kDevicePath).Append("dir2"))); |
506 ASSERT_EQ(2U, file_list_.size()); | 507 ASSERT_EQ(2U, file_list_.size()); |
507 EXPECT_FALSE(file_list_[0].is_directory); | 508 EXPECT_FALSE(file_list_[0].is_directory); |
508 EXPECT_EQ("name2", file_list_[0].name); | 509 EXPECT_EQ("name2", file_list_[0].name); |
509 EXPECT_TRUE(file_list_[1].is_directory); | 510 EXPECT_TRUE(file_list_[1].is_directory); |
510 EXPECT_EQ("subdir", file_list_[1].name); | 511 EXPECT_EQ("subdir", file_list_[1].name); |
511 | 512 |
512 EXPECT_EQ(base::PLATFORM_FILE_OK, | 513 EXPECT_EQ(base::File::FILE_OK, |
513 ReadDir(base::FilePath(kDevicePath) | 514 ReadDir(base::FilePath(kDevicePath) |
514 .Append("dir2").Append("subdir"))); | 515 .Append("dir2").Append("subdir"))); |
515 ASSERT_EQ(1U, file_list_.size()); | 516 ASSERT_EQ(1U, file_list_.size()); |
516 EXPECT_FALSE(file_list_[0].is_directory); | 517 EXPECT_FALSE(file_list_[0].is_directory); |
517 EXPECT_EQ("name3", file_list_[0].name); | 518 EXPECT_EQ("name3", file_list_[0].name); |
518 | 519 |
519 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NOT_FOUND, | 520 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, |
520 ReadDir(base::FilePath(kDevicePath) | 521 ReadDir(base::FilePath(kDevicePath) |
521 .Append("dir2").Append("subdir").Append("subdir"))); | 522 .Append("dir2").Append("subdir").Append("subdir"))); |
522 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NOT_FOUND, | 523 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, |
523 ReadDir(base::FilePath(kDevicePath) | 524 ReadDir(base::FilePath(kDevicePath) |
524 .Append("dir3").Append("subdir"))); | 525 .Append("dir3").Append("subdir"))); |
525 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NOT_FOUND, | 526 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, |
526 ReadDir(base::FilePath(kDevicePath).Append("dir3"))); | 527 ReadDir(base::FilePath(kDevicePath).Append("dir3"))); |
527 } | 528 } |
528 | 529 |
529 TEST_F(MTPDeviceDelegateImplMacTest, TestDownload) { | 530 TEST_F(MTPDeviceDelegateImplMacTest, TestDownload) { |
530 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); | 531 ASSERT_TRUE(temp_dir_.CreateUniqueTempDir()); |
531 base::Time t1 = base::Time::Now(); | 532 base::Time t1 = base::Time::Now(); |
532 base::PlatformFileInfo info; | 533 base::File::Info info; |
533 info.size = 4; | 534 info.size = 4; |
534 info.is_directory = false; | 535 info.is_directory = false; |
535 info.is_symbolic_link = false; | 536 info.is_symbolic_link = false; |
536 info.last_modified = t1; | 537 info.last_modified = t1; |
537 info.last_accessed = t1; | 538 info.last_accessed = t1; |
538 info.creation_time = t1; | 539 info.creation_time = t1; |
539 std::string kTestFileName("filename"); | 540 std::string kTestFileName("filename"); |
540 base::scoped_nsobject<MockMTPICCameraFile> picture1( | 541 base::scoped_nsobject<MockMTPICCameraFile> picture1( |
541 [[MockMTPICCameraFile alloc] | 542 [[MockMTPICCameraFile alloc] |
542 init:base::SysUTF8ToNSString(kTestFileName)]); | 543 init:base::SysUTF8ToNSString(kTestFileName)]); |
543 [camera_ addMediaFile:picture1]; | 544 [camera_ addMediaFile:picture1]; |
544 delegate_->ItemAdded(kTestFileName, info); | 545 delegate_->ItemAdded(kTestFileName, info); |
545 delegate_->NoMoreItems(); | 546 delegate_->NoMoreItems(); |
546 | 547 |
547 EXPECT_EQ(base::PLATFORM_FILE_OK, ReadDir(base::FilePath(kDevicePath))); | 548 EXPECT_EQ(base::File::FILE_OK, ReadDir(base::FilePath(kDevicePath))); |
548 ASSERT_EQ(1U, file_list_.size()); | 549 ASSERT_EQ(1U, file_list_.size()); |
549 ASSERT_EQ("filename", file_list_[0].name); | 550 ASSERT_EQ("filename", file_list_[0].name); |
550 | 551 |
551 EXPECT_EQ(base::PLATFORM_FILE_ERROR_NOT_FOUND, | 552 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, |
552 DownloadFile(base::FilePath("/ic:id/nonexist"), | 553 DownloadFile(base::FilePath("/ic:id/nonexist"), |
553 temp_dir_.path().Append("target"))); | 554 temp_dir_.path().Append("target"))); |
554 | 555 |
555 EXPECT_EQ(base::PLATFORM_FILE_OK, | 556 EXPECT_EQ(base::File::FILE_OK, |
556 DownloadFile(base::FilePath("/ic:id/filename"), | 557 DownloadFile(base::FilePath("/ic:id/filename"), |
557 temp_dir_.path().Append("target"))); | 558 temp_dir_.path().Append("target"))); |
558 std::string contents; | 559 std::string contents; |
559 EXPECT_TRUE(base::ReadFileToString(temp_dir_.path().Append("target"), | 560 EXPECT_TRUE(base::ReadFileToString(temp_dir_.path().Append("target"), |
560 &contents)); | 561 &contents)); |
561 EXPECT_EQ(kTestFileContents, contents); | 562 EXPECT_EQ(kTestFileContents, contents); |
562 } | 563 } |
OLD | NEW |