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

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: rebase Created 8 years, 8 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 873 matching lines...) Expand 10 before | Expand all | Expand 10 after
884 884
885 // Creates a proto file representing a filesystem with directories: 885 // Creates a proto file representing a filesystem with directories:
886 // gdata, gdata/Dir1, gdata/Dir1/SubDir2 886 // gdata, gdata/Dir1, gdata/Dir1/SubDir2
887 // and files 887 // and files
888 // gdata/File1, gdata/Dir1/File2, gdata/Dir1/SubDir2/File3 888 // gdata/File1, gdata/Dir1/File2, gdata/Dir1/SubDir2/File3
889 void SaveTestFileSystem() { 889 void SaveTestFileSystem() {
890 GDataRootDirectoryProto root; 890 GDataRootDirectoryProto root;
891 GDataDirectoryProto* root_dir = root.mutable_gdata_directory(); 891 GDataDirectoryProto* root_dir = root.mutable_gdata_directory();
892 GDataEntryProto* file_base = root_dir->mutable_gdata_entry(); 892 GDataEntryProto* file_base = root_dir->mutable_gdata_entry();
893 PlatformFileInfoProto* platform_info = file_base->mutable_file_info(); 893 PlatformFileInfoProto* platform_info = file_base->mutable_file_info();
894 file_base->set_file_name("gdata"); 894 file_base->set_title("gdata");
895 platform_info->set_is_directory(true); 895 platform_info->set_is_directory(true);
896 896
897 // gdata/File1 897 // gdata/File1
898 GDataFileProto* file = root_dir->add_child_files(); 898 GDataFileProto* file = root_dir->add_child_files();
899 file_base = file->mutable_gdata_entry(); 899 file_base = file->mutable_gdata_entry();
900 platform_info = file_base->mutable_file_info(); 900 platform_info = file_base->mutable_file_info();
901 file_base->set_file_name("File1"); 901 file_base->set_title("File1");
902 platform_info->set_is_directory(false); 902 platform_info->set_is_directory(false);
903 platform_info->set_size(1048576); 903 platform_info->set_size(1048576);
904 904
905 // gdata/Dir1 905 // gdata/Dir1
906 GDataDirectoryProto* dir1 = root_dir->add_child_directories(); 906 GDataDirectoryProto* dir1 = root_dir->add_child_directories();
907 file_base = dir1->mutable_gdata_entry(); 907 file_base = dir1->mutable_gdata_entry();
908 platform_info = file_base->mutable_file_info(); 908 platform_info = file_base->mutable_file_info();
909 file_base->set_file_name("Dir1"); 909 file_base->set_title("Dir1");
910 platform_info->set_is_directory(true); 910 platform_info->set_is_directory(true);
911 911
912 // gdata/Dir1/File2 912 // gdata/Dir1/File2
913 file = dir1->add_child_files(); 913 file = dir1->add_child_files();
914 file_base = file->mutable_gdata_entry(); 914 file_base = file->mutable_gdata_entry();
915 platform_info = file_base->mutable_file_info(); 915 platform_info = file_base->mutable_file_info();
916 file_base->set_file_name("File2"); 916 file_base->set_title("File2");
917 platform_info->set_is_directory(false); 917 platform_info->set_is_directory(false);
918 platform_info->set_size(555); 918 platform_info->set_size(555);
919 919
920 // gdata/Dir1/SubDir2 920 // gdata/Dir1/SubDir2
921 GDataDirectoryProto* dir2 = dir1->add_child_directories(); 921 GDataDirectoryProto* dir2 = dir1->add_child_directories();
922 file_base = dir2->mutable_gdata_entry(); 922 file_base = dir2->mutable_gdata_entry();
923 platform_info = file_base->mutable_file_info(); 923 platform_info = file_base->mutable_file_info();
924 file_base->set_file_name("SubDir2"); 924 file_base->set_title("SubDir2");
925 platform_info->set_is_directory(true); 925 platform_info->set_is_directory(true);
926 926
927 // gdata/Dir1/SubDir2/File3 927 // gdata/Dir1/SubDir2/File3
928 file = dir2->add_child_files(); 928 file = dir2->add_child_files();
929 file_base = file->mutable_gdata_entry(); 929 file_base = file->mutable_gdata_entry();
930 platform_info = file_base->mutable_file_info(); 930 platform_info = file_base->mutable_file_info();
931 file_base->set_file_name("File3"); 931 file_base->set_title("File3");
932 platform_info->set_is_directory(false); 932 platform_info->set_is_directory(false);
933 platform_info->set_size(12345); 933 platform_info->set_size(12345);
934 934
935 // Write this proto out to GCache/vi/meta/file_system.pb 935 // Write this proto out to GCache/vi/meta/file_system.pb
936 std::string serialized_proto; 936 std::string serialized_proto;
937 ASSERT_TRUE(root.SerializeToString(&serialized_proto)); 937 ASSERT_TRUE(root.SerializeToString(&serialized_proto));
938 ASSERT_TRUE(!serialized_proto.empty()); 938 ASSERT_TRUE(!serialized_proto.empty());
939 939
940 FilePath cache_dir_path = profile_->GetPath().Append( 940 FilePath cache_dir_path = profile_->GetPath().Append(
941 FILE_PATH_LITERAL("GCache/v1/meta/")); 941 FILE_PATH_LITERAL("GCache/v1/meta/"));
(...skipping 434 matching lines...) Expand 10 before | Expand all | Expand 10 after
1376 callback_helper_->last_error_); 1376 callback_helper_->last_error_);
1377 1377
1378 EXPECT_EQ(src_file, FindEntry(src_file_path)); 1378 EXPECT_EQ(src_file, FindEntry(src_file_path));
1379 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_path_resource)); 1379 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_path_resource));
1380 EXPECT_EQ(dest_parent, FindEntry(dest_parent_path)); 1380 EXPECT_EQ(dest_parent, FindEntry(dest_parent_path));
1381 1381
1382 EXPECT_TRUE(FindEntry(dest_file_path) == NULL); 1382 EXPECT_TRUE(FindEntry(dest_file_path) == NULL);
1383 } 1383 }
1384 1384
1385 TEST_F(GDataFileSystemTest, RenameFile) { 1385 TEST_F(GDataFileSystemTest, RenameFile) {
1386 FilePath src_file_path( 1386 const FilePath src_file_path(
1387 FILE_PATH_LITERAL("gdata/Directory 1/SubDirectory File 1.txt")); 1387 FILE_PATH_LITERAL("gdata/Directory 1/SubDirectory File 1.txt"));
1388 FilePath src_parent_path(FILE_PATH_LITERAL("gdata/Directory 1")); 1388 const FilePath src_parent_path(FILE_PATH_LITERAL("gdata/Directory 1"));
1389 FilePath dest_file_path(FILE_PATH_LITERAL("gdata/Directory 1/Test.log")); 1389 const FilePath dest_file_path(
1390 FILE_PATH_LITERAL("gdata/Directory 1/Test.log"));
1390 1391
1391 LoadRootFeedDocument("root_feed.json"); 1392 LoadRootFeedDocument("root_feed.json");
1392 1393
1393 GDataEntry* src_file = NULL; 1394 GDataEntry* src_file = FindEntry(src_file_path);
1394 EXPECT_TRUE((src_file = FindEntry(src_file_path)) != NULL); 1395 EXPECT_TRUE(src_file != NULL);
1395 EXPECT_TRUE(src_file->AsGDataFile() != NULL); 1396 EXPECT_TRUE(src_file->AsGDataFile() != NULL);
1396 std::string src_file_resource = src_file->AsGDataFile()->resource_id(); 1397 std::string src_file_resource = src_file->AsGDataFile()->resource_id();
1397 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_resource)); 1398 EXPECT_EQ(src_file, FindEntryByResourceId(src_file_resource));
1398 1399
1399 EXPECT_CALL(*mock_doc_service_, 1400 EXPECT_CALL(*mock_doc_service_,
1400 RenameResource(src_file->edit_url(), 1401 RenameResource(src_file->edit_url(),
1401 FILE_PATH_LITERAL("Test.log"), _)); 1402 FILE_PATH_LITERAL("Test.log"), _));
1402 1403
1403 FileOperationCallback callback = 1404 FileOperationCallback callback =
1404 base::Bind(&CallbackHelper::FileOperationCallback, 1405 base::Bind(&CallbackHelper::FileOperationCallback,
1405 callback_helper_.get()); 1406 callback_helper_.get());
1406 1407
1407 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( 1408 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged(
1408 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1); 1409 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1);
1409 1410
1410 file_system_->Move(src_file_path, dest_file_path, callback); 1411 file_system_->Move(src_file_path, dest_file_path, callback);
1411 message_loop_.RunAllPending(); 1412 message_loop_.RunAllPending();
1412 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); 1413 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_);
1413 1414
1414 EXPECT_TRUE(FindEntry(src_file_path) == NULL); 1415 EXPECT_TRUE(FindEntry(src_file_path) == NULL);
1415 1416
1416 GDataEntry* dest_file = NULL; 1417 GDataEntry* dest_file = FindEntry(dest_file_path);
1417 EXPECT_TRUE((dest_file = FindEntry(dest_file_path)) != NULL); 1418 EXPECT_TRUE(dest_file != NULL);
1418 EXPECT_EQ(dest_file, FindEntryByResourceId(src_file_resource)); 1419 EXPECT_EQ(dest_file, FindEntryByResourceId(src_file_resource));
1419 EXPECT_EQ(src_file, dest_file); 1420 EXPECT_EQ(src_file, dest_file);
1420 } 1421 }
1421 1422
1422 TEST_F(GDataFileSystemTest, MoveFileFromRootToSubDirectory) { 1423 TEST_F(GDataFileSystemTest, MoveFileFromRootToSubDirectory) {
1423 FilePath src_file_path(FILE_PATH_LITERAL("gdata/File 1.txt")); 1424 FilePath src_file_path(FILE_PATH_LITERAL("gdata/File 1.txt"));
1424 FilePath dest_parent_path(FILE_PATH_LITERAL("gdata/Directory 1")); 1425 FilePath dest_parent_path(FILE_PATH_LITERAL("gdata/Directory 1"));
1425 FilePath dest_file_path(FILE_PATH_LITERAL("gdata/Directory 1/Test.log")); 1426 FilePath dest_file_path(FILE_PATH_LITERAL("gdata/Directory 1/Test.log"));
1426 1427
1427 LoadRootFeedDocument("root_feed.json"); 1428 LoadRootFeedDocument("root_feed.json");
(...skipping 1526 matching lines...) Expand 10 before | Expand all | Expand 10 after
2954 EXPECT_EQ(1, num_callback_invocations_); 2955 EXPECT_EQ(1, num_callback_invocations_);
2955 EXPECT_TRUE(CacheEntryExists(resource_id, md5)); 2956 EXPECT_TRUE(CacheEntryExists(resource_id, md5));
2956 2957
2957 // Try to remove the file. 2958 // Try to remove the file.
2958 num_callback_invocations_ = 0; 2959 num_callback_invocations_ = 0;
2959 TestRemoveFromCache(resource_id, base::PLATFORM_FILE_OK); 2960 TestRemoveFromCache(resource_id, base::PLATFORM_FILE_OK);
2960 EXPECT_EQ(1, num_callback_invocations_); 2961 EXPECT_EQ(1, num_callback_invocations_);
2961 } 2962 }
2962 2963
2963 } // namespace gdata 2964 } // namespace gdata
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698