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 // Browser test for basic Chrome OS file manager functionality: | 5 // Browser test for basic Chrome OS file manager functionality: |
6 // - The file list is updated when a file is added externally to the Downloads | 6 // - The file list is updated when a file is added externally to the Downloads |
7 // folder. | 7 // folder. |
8 // - Selecting a file and copy-pasting it with the keyboard copies the file. | 8 // - Selecting a file and copy-pasting it with the keyboard copies the file. |
9 // - Selecting a file and pressing delete deletes it. | 9 // - Selecting a file and pressing delete deletes it. |
10 | 10 |
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 // Creates an empty directory with the given |name| and |modification_time|. | 388 // Creates an empty directory with the given |name| and |modification_time|. |
389 bool CreateDirectory(const std::string& name, | 389 bool CreateDirectory(const std::string& name, |
390 const std::string& modification_time) { | 390 const std::string& modification_time) { |
391 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 391 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
392 scoped_ptr<google_apis::ResourceEntry> resource_entry; | 392 scoped_ptr<google_apis::ResourceEntry> resource_entry; |
393 fake_drive_service_->AddNewDirectory( | 393 fake_drive_service_->AddNewDirectory( |
394 fake_drive_service_->GetRootResourceId(), | 394 fake_drive_service_->GetRootResourceId(), |
395 name, | 395 name, |
396 google_apis::test_util::CreateCopyResultCallback(&error, | 396 google_apis::test_util::CreateCopyResultCallback(&error, |
397 &resource_entry)); | 397 &resource_entry)); |
398 MessageLoop::current()->RunUntilIdle(); | 398 base::MessageLoop::current()->RunUntilIdle(); |
399 if (error != google_apis::HTTP_CREATED) | 399 if (error != google_apis::HTTP_CREATED) |
400 return false; | 400 return false; |
401 if (!resource_entry) | 401 if (!resource_entry) |
402 return false; | 402 return false; |
403 | 403 |
404 base::Time time; | 404 base::Time time; |
405 if (!base::Time::FromString(modification_time.c_str(), &time)) | 405 if (!base::Time::FromString(modification_time.c_str(), &time)) |
406 return false; | 406 return false; |
407 fake_drive_service_->SetLastModifiedTime( | 407 fake_drive_service_->SetLastModifiedTime( |
408 resource_entry->resource_id(), | 408 resource_entry->resource_id(), |
409 time, | 409 time, |
410 google_apis::test_util::CreateCopyResultCallback(&error, | 410 google_apis::test_util::CreateCopyResultCallback(&error, |
411 &resource_entry)); | 411 &resource_entry)); |
412 MessageLoop::current()->RunUntilIdle(); | 412 base::MessageLoop::current()->RunUntilIdle(); |
413 if (error != google_apis::HTTP_SUCCESS) | 413 if (error != google_apis::HTTP_SUCCESS) |
414 return false; | 414 return false; |
415 if (!resource_entry) | 415 if (!resource_entry) |
416 return false; | 416 return false; |
417 CheckForUpdates(); | 417 CheckForUpdates(); |
418 return true; | 418 return true; |
419 } | 419 } |
420 | 420 |
421 virtual std::string GetName() const OVERRIDE { | 421 virtual std::string GetName() const OVERRIDE { |
422 return "Drive"; | 422 return "Drive"; |
423 } | 423 } |
424 | 424 |
425 // Creates a test file with the given spec. Returns true on success. | 425 // Creates a test file with the given spec. Returns true on success. |
426 bool CreateFile(const std::string& name, | 426 bool CreateFile(const std::string& name, |
427 const std::string& mime_type, | 427 const std::string& mime_type, |
428 int64 length, | 428 int64 length, |
429 bool shared_with_me, | 429 bool shared_with_me, |
430 const std::string& modification_time) { | 430 const std::string& modification_time) { |
431 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; | 431 google_apis::GDataErrorCode error = google_apis::GDATA_OTHER_ERROR; |
432 scoped_ptr<google_apis::ResourceEntry> resource_entry; | 432 scoped_ptr<google_apis::ResourceEntry> resource_entry; |
433 fake_drive_service_->AddNewFile( | 433 fake_drive_service_->AddNewFile( |
434 mime_type, | 434 mime_type, |
435 length, | 435 length, |
436 fake_drive_service_->GetRootResourceId(), | 436 fake_drive_service_->GetRootResourceId(), |
437 name, | 437 name, |
438 shared_with_me, | 438 shared_with_me, |
439 google_apis::test_util::CreateCopyResultCallback(&error, | 439 google_apis::test_util::CreateCopyResultCallback(&error, |
440 &resource_entry)); | 440 &resource_entry)); |
441 MessageLoop::current()->RunUntilIdle(); | 441 base::MessageLoop::current()->RunUntilIdle(); |
442 if (error != google_apis::HTTP_CREATED) | 442 if (error != google_apis::HTTP_CREATED) |
443 return false; | 443 return false; |
444 if (!resource_entry) | 444 if (!resource_entry) |
445 return false; | 445 return false; |
446 | 446 |
447 base::Time time; | 447 base::Time time; |
448 if (!base::Time::FromString(modification_time.c_str(), &time)) | 448 if (!base::Time::FromString(modification_time.c_str(), &time)) |
449 return false; | 449 return false; |
450 fake_drive_service_->SetLastModifiedTime( | 450 fake_drive_service_->SetLastModifiedTime( |
451 resource_entry->resource_id(), | 451 resource_entry->resource_id(), |
452 time, | 452 time, |
453 google_apis::test_util::CreateCopyResultCallback(&error, | 453 google_apis::test_util::CreateCopyResultCallback(&error, |
454 &resource_entry)); | 454 &resource_entry)); |
455 MessageLoop::current()->RunUntilIdle(); | 455 base::MessageLoop::current()->RunUntilIdle(); |
456 if (error != google_apis::HTTP_SUCCESS) | 456 if (error != google_apis::HTTP_SUCCESS) |
457 return false; | 457 return false; |
458 if (!resource_entry) | 458 if (!resource_entry) |
459 return false; | 459 return false; |
460 | 460 |
461 CheckForUpdates(); | 461 CheckForUpdates(); |
462 return true; | 462 return true; |
463 } | 463 } |
464 | 464 |
465 virtual base::FilePath GetRootPath() const OVERRIDE { | 465 virtual base::FilePath GetRootPath() const OVERRIDE { |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
499 return true; | 499 return true; |
500 WaitUntilDirectoryChanged(); | 500 WaitUntilDirectoryChanged(); |
501 } | 501 } |
502 NOTREACHED(); | 502 NOTREACHED(); |
503 return false; | 503 return false; |
504 } | 504 } |
505 | 505 |
506 virtual void OnDirectoryChanged( | 506 virtual void OnDirectoryChanged( |
507 const base::FilePath& directory_path) OVERRIDE { | 507 const base::FilePath& directory_path) OVERRIDE { |
508 if (waiting_for_directory_change_) | 508 if (waiting_for_directory_change_) |
509 MessageLoop::current()->Quit(); | 509 base::MessageLoop::current()->Quit(); |
510 } | 510 } |
511 | 511 |
512 // Notifies DriveFileSystem that the contents in FakeDriveService are | 512 // Notifies DriveFileSystem that the contents in FakeDriveService are |
513 // changed, hence the new contents should be fetched. | 513 // changed, hence the new contents should be fetched. |
514 void CheckForUpdates() { | 514 void CheckForUpdates() { |
515 if (system_service_ && system_service_->file_system()) { | 515 if (system_service_ && system_service_->file_system()) { |
516 system_service_->file_system()->CheckForUpdates(); | 516 system_service_->file_system()->CheckForUpdates(); |
517 } | 517 } |
518 } | 518 } |
519 | 519 |
520 // Waits until a notification for a directory change is received. | 520 // Waits until a notification for a directory change is received. |
521 void WaitUntilDirectoryChanged() { | 521 void WaitUntilDirectoryChanged() { |
522 waiting_for_directory_change_ = true; | 522 waiting_for_directory_change_ = true; |
523 MessageLoop::current()->Run(); | 523 base::MessageLoop::current()->Run(); |
524 waiting_for_directory_change_ = false; | 524 waiting_for_directory_change_ = false; |
525 } | 525 } |
526 | 526 |
527 // Returns true if a file of the size |file_size| is present at |file_path|. | 527 // Returns true if a file of the size |file_size| is present at |file_path|. |
528 bool FileIsPresentWithSize( | 528 bool FileIsPresentWithSize( |
529 const base::FilePath& file_path, | 529 const base::FilePath& file_path, |
530 int64 file_size) { | 530 int64 file_size) { |
531 DCHECK(system_service_); | 531 DCHECK(system_service_); |
532 DCHECK(system_service_->file_system()); | 532 DCHECK(system_service_->file_system()); |
533 | 533 |
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
847 } | 847 } |
848 | 848 |
849 IN_PROC_BROWSER_TEST_P(FileManagerBrowserTransferTest, | 849 IN_PROC_BROWSER_TEST_P(FileManagerBrowserTransferTest, |
850 TransferFromDriveToDownloads) { | 850 TransferFromDriveToDownloads) { |
851 ASSERT_TRUE(PrepareVolume()); | 851 ASSERT_TRUE(PrepareVolume()); |
852 ResultCatcher catcher; | 852 ResultCatcher catcher; |
853 StartTest("transferFromDriveToDownloads"); | 853 StartTest("transferFromDriveToDownloads"); |
854 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); | 854 ASSERT_TRUE(catcher.GetNextResult()) << catcher.message(); |
855 } | 855 } |
856 } // namespace | 856 } // namespace |
OLD | NEW |