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

Side by Side Diff: chrome/browser/chromeos/gdata/gdata_file_system_unittest.cc

Issue 10258004: Parent/child fixes. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: minor comment Created 8 years, 7 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 (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 <errno.h> 5 #include <errno.h>
6 #include <string> 6 #include <string>
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 876 matching lines...) Expand 10 before | Expand all | Expand 10 after
887 887
888 // Creates a proto file representing a filesystem with directories: 888 // Creates a proto file representing a filesystem with directories:
889 // gdata, gdata/Dir1, gdata/Dir1/SubDir2 889 // gdata, gdata/Dir1, gdata/Dir1/SubDir2
890 // and files 890 // and files
891 // gdata/File1, gdata/Dir1/File2, gdata/Dir1/SubDir2/File3 891 // gdata/File1, gdata/Dir1/File2, gdata/Dir1/SubDir2/File3
892 void SaveTestFileSystem() { 892 void SaveTestFileSystem() {
893 GDataRootDirectoryProto root; 893 GDataRootDirectoryProto root;
894 GDataDirectoryProto* root_dir = root.mutable_gdata_directory(); 894 GDataDirectoryProto* root_dir = root.mutable_gdata_directory();
895 GDataEntryProto* file_base = root_dir->mutable_gdata_entry(); 895 GDataEntryProto* file_base = root_dir->mutable_gdata_entry();
896 PlatformFileInfoProto* platform_info = file_base->mutable_file_info(); 896 PlatformFileInfoProto* platform_info = file_base->mutable_file_info();
897 file_base->set_file_name("gdata"); 897 file_base->set_title("gdata");
898 platform_info->set_is_directory(true); 898 platform_info->set_is_directory(true);
899 899
900 // gdata/File1 900 // gdata/File1
901 GDataFileProto* file = root_dir->add_child_files(); 901 GDataFileProto* file = root_dir->add_child_files();
902 file_base = file->mutable_gdata_entry(); 902 file_base = file->mutable_gdata_entry();
903 platform_info = file_base->mutable_file_info(); 903 platform_info = file_base->mutable_file_info();
904 file_base->set_file_name("File1"); 904 file_base->set_title("File1");
905 platform_info->set_is_directory(false); 905 platform_info->set_is_directory(false);
906 platform_info->set_size(1048576); 906 platform_info->set_size(1048576);
907 907
908 // gdata/Dir1 908 // gdata/Dir1
909 GDataDirectoryProto* dir1 = root_dir->add_child_directories(); 909 GDataDirectoryProto* dir1 = root_dir->add_child_directories();
910 file_base = dir1->mutable_gdata_entry(); 910 file_base = dir1->mutable_gdata_entry();
911 platform_info = file_base->mutable_file_info(); 911 platform_info = file_base->mutable_file_info();
912 file_base->set_file_name("Dir1"); 912 file_base->set_title("Dir1");
913 platform_info->set_is_directory(true); 913 platform_info->set_is_directory(true);
914 914
915 // gdata/Dir1/File2 915 // gdata/Dir1/File2
916 file = dir1->add_child_files(); 916 file = dir1->add_child_files();
917 file_base = file->mutable_gdata_entry(); 917 file_base = file->mutable_gdata_entry();
918 platform_info = file_base->mutable_file_info(); 918 platform_info = file_base->mutable_file_info();
919 file_base->set_file_name("File2"); 919 file_base->set_title("File2");
920 platform_info->set_is_directory(false); 920 platform_info->set_is_directory(false);
921 platform_info->set_size(555); 921 platform_info->set_size(555);
922 922
923 // gdata/Dir1/SubDir2 923 // gdata/Dir1/SubDir2
924 GDataDirectoryProto* dir2 = dir1->add_child_directories(); 924 GDataDirectoryProto* dir2 = dir1->add_child_directories();
925 file_base = dir2->mutable_gdata_entry(); 925 file_base = dir2->mutable_gdata_entry();
926 platform_info = file_base->mutable_file_info(); 926 platform_info = file_base->mutable_file_info();
927 file_base->set_file_name("SubDir2"); 927 file_base->set_title("SubDir2");
928 platform_info->set_is_directory(true); 928 platform_info->set_is_directory(true);
929 929
930 // gdata/Dir1/SubDir2/File3 930 // gdata/Dir1/SubDir2/File3
931 file = dir2->add_child_files(); 931 file = dir2->add_child_files();
932 file_base = file->mutable_gdata_entry(); 932 file_base = file->mutable_gdata_entry();
933 platform_info = file_base->mutable_file_info(); 933 platform_info = file_base->mutable_file_info();
934 file_base->set_file_name("File3"); 934 file_base->set_title("File3");
935 platform_info->set_is_directory(false); 935 platform_info->set_is_directory(false);
936 platform_info->set_size(12345); 936 platform_info->set_size(12345);
937 937
938 // Write this proto out to GCache/vi/meta/file_system.pb 938 // Write this proto out to GCache/vi/meta/file_system.pb
939 std::string serialized_proto; 939 std::string serialized_proto;
940 ASSERT_TRUE(root.SerializeToString(&serialized_proto)); 940 ASSERT_TRUE(root.SerializeToString(&serialized_proto));
941 ASSERT_TRUE(!serialized_proto.empty()); 941 ASSERT_TRUE(!serialized_proto.empty());
942 942
943 FilePath cache_dir_path = profile_->GetPath().Append( 943 FilePath cache_dir_path = profile_->GetPath().Append(
944 FILE_PATH_LITERAL("GCache/v1/meta/")); 944 FILE_PATH_LITERAL("GCache/v1/meta/"));
(...skipping 527 matching lines...) Expand 10 before | Expand all | Expand 10 after
1472 callback_helper_->last_error_); 1472 callback_helper_->last_error_);
1473 1473
1474 EXPECT_EQ(src_file, FindEntry(src_file_path)); 1474 EXPECT_EQ(src_file, FindEntry(src_file_path));
1475 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_path_resource)); 1475 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_path_resource));
1476 EXPECT_EQ(dest_parent, FindEntry(dest_parent_path)); 1476 EXPECT_EQ(dest_parent, FindEntry(dest_parent_path));
1477 1477
1478 EXPECT_TRUE(FindEntry(dest_file_path) == NULL); 1478 EXPECT_TRUE(FindEntry(dest_file_path) == NULL);
1479 } 1479 }
1480 1480
1481 TEST_F(GDataFileSystemTest, RenameFile) { 1481 TEST_F(GDataFileSystemTest, RenameFile) {
1482 FilePath src_file_path( 1482 const FilePath src_file_path(
1483 FILE_PATH_LITERAL("gdata/Directory 1/SubDirectory File 1.txt")); 1483 FILE_PATH_LITERAL("gdata/Directory 1/SubDirectory File 1.txt"));
1484 FilePath src_parent_path(FILE_PATH_LITERAL("gdata/Directory 1")); 1484 const FilePath src_parent_path(FILE_PATH_LITERAL("gdata/Directory 1"));
1485 FilePath dest_file_path(FILE_PATH_LITERAL("gdata/Directory 1/Test.log")); 1485 const FilePath dest_file_path(
1486 FILE_PATH_LITERAL("gdata/Directory 1/Test.log"));
1486 1487
1487 LoadRootFeedDocument("root_feed.json"); 1488 LoadRootFeedDocument("root_feed.json");
1488 1489
1489 GDataEntry* src_file = NULL; 1490 GDataEntry* src_file = FindEntry(src_file_path);
1490 EXPECT_TRUE((src_file = FindEntry(src_file_path)) != NULL); 1491 EXPECT_TRUE(src_file != NULL);
1491 EXPECT_TRUE(src_file->AsGDataFile() != NULL); 1492 EXPECT_TRUE(src_file->AsGDataFile() != NULL);
1492 std::string src_file_resource = src_file->AsGDataFile()->resource_id(); 1493 std::string src_file_resource = src_file->AsGDataFile()->resource_id();
1493 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_resource)); 1494 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_resource));
1494 1495
1495 EXPECT_CALL(*mock_doc_service_, 1496 EXPECT_CALL(*mock_doc_service_,
1496 RenameResource(src_file->edit_url(), 1497 RenameResource(src_file->edit_url(),
1497 FILE_PATH_LITERAL("Test.log"), _)); 1498 FILE_PATH_LITERAL("Test.log"), _));
1498 1499
1499 FileOperationCallback callback = 1500 FileOperationCallback callback =
1500 base::Bind(&CallbackHelper::FileOperationCallback, 1501 base::Bind(&CallbackHelper::FileOperationCallback,
1501 callback_helper_.get()); 1502 callback_helper_.get());
1502 1503
1503 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 1504 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
1504 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1); 1505 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1);
1505 1506
1506 file_system_->Move(src_file_path, dest_file_path, callback); 1507 file_system_->Move(src_file_path, dest_file_path, callback);
1507 message_loop_.RunAllPending(); 1508 message_loop_.RunAllPending();
1508 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); 1509 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_);
1509 1510
1510 EXPECT_TRUE(FindEntry(src_file_path) == NULL); 1511 EXPECT_TRUE(FindEntry(src_file_path) == NULL);
1511 1512
1512 GDataEntry* dest_file = NULL; 1513 GDataEntry* dest_file = FindEntry(dest_file_path);
1513 EXPECT_TRUE((dest_file = FindEntry(dest_file_path)) != NULL); 1514 EXPECT_TRUE(dest_file != NULL);
1514 EXPECT_EQ(dest_file, FindEntryByResourceId(src_file_resource)); 1515 EXPECT_EQ(dest_file, FindEntryByResourceId(src_file_resource));
1515 EXPECT_EQ(src_file, dest_file); 1516 EXPECT_EQ(src_file, dest_file);
1516 } 1517 }
1517 1518
1518 TEST_F(GDataFileSystemTest, MoveFileFromRootToSubDirectory) { 1519 TEST_F(GDataFileSystemTest, MoveFileFromRootToSubDirectory) {
1519 FilePath src_file_path(FILE_PATH_LITERAL("gdata/File 1.txt")); 1520 FilePath src_file_path(FILE_PATH_LITERAL("gdata/File 1.txt"));
1520 FilePath dest_parent_path(FILE_PATH_LITERAL("gdata/Directory 1")); 1521 FilePath dest_parent_path(FILE_PATH_LITERAL("gdata/Directory 1"));
1521 FilePath dest_file_path(FILE_PATH_LITERAL("gdata/Directory 1/Test.log")); 1522 FilePath dest_file_path(FILE_PATH_LITERAL("gdata/Directory 1/Test.log"));
1522 1523
1523 LoadRootFeedDocument("root_feed.json"); 1524 LoadRootFeedDocument("root_feed.json");
(...skipping 1520 matching lines...) Expand 10 before | Expand all | Expand 10 after
3044 EXPECT_EQ(1, num_callback_invocations_); 3045 EXPECT_EQ(1, num_callback_invocations_);
3045 EXPECT_TRUE(CacheEntryExists(resource_id, md5)); 3046 EXPECT_TRUE(CacheEntryExists(resource_id, md5));
3046 3047
3047 // Try to remove the file. 3048 // Try to remove the file.
3048 num_callback_invocations_ = 0; 3049 num_callback_invocations_ = 0;
3049 TestRemoveFromCache(resource_id, base::PLATFORM_FILE_OK); 3050 TestRemoveFromCache(resource_id, base::PLATFORM_FILE_OK);
3050 EXPECT_EQ(1, num_callback_invocations_); 3051 EXPECT_EQ(1, num_callback_invocations_);
3051 } 3052 }
3052 3053
3053 } // namespace gdata 3054 } // namespace gdata
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698