Chromium Code Reviews| 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 #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 1117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1128 TEST_F(GDataFileSystemTest, DuplicatedAsyncInitialization) { | 1128 TEST_F(GDataFileSystemTest, DuplicatedAsyncInitialization) { |
| 1129 int counter = 0; | 1129 int counter = 0; |
| 1130 ReadDirectoryCallback callback = base::Bind( | 1130 ReadDirectoryCallback callback = base::Bind( |
| 1131 &AsyncInitializationCallback, | 1131 &AsyncInitializationCallback, |
| 1132 &counter, | 1132 &counter, |
| 1133 2, | 1133 2, |
| 1134 FilePath(FILE_PATH_LITERAL("gdata")), | 1134 FilePath(FILE_PATH_LITERAL("gdata")), |
| 1135 &message_loop_); | 1135 &message_loop_); |
| 1136 | 1136 |
| 1137 EXPECT_CALL(*mock_doc_service_, GetAccountMetadata(_)).Times(1); | 1137 EXPECT_CALL(*mock_doc_service_, GetAccountMetadata(_)).Times(1); |
| 1138 EXPECT_CALL(*mock_doc_service_, GetDocuments(Eq(GURL()), _, _)).Times(1); | 1138 EXPECT_CALL(*mock_doc_service_, GetDocuments(Eq(GURL()), _, _, _)).Times(1); |
| 1139 | 1139 |
| 1140 file_system_->ReadDirectoryByPathAsync( | 1140 file_system_->ReadDirectoryByPathAsync( |
| 1141 FilePath(FILE_PATH_LITERAL("gdata")), callback); | 1141 FilePath(FILE_PATH_LITERAL("gdata")), callback); |
| 1142 file_system_->ReadDirectoryByPathAsync( | 1142 file_system_->ReadDirectoryByPathAsync( |
| 1143 FilePath(FILE_PATH_LITERAL("gdata")), callback); | 1143 FilePath(FILE_PATH_LITERAL("gdata")), callback); |
| 1144 message_loop_.Run(); // Wait to get our result | 1144 message_loop_.Run(); // Wait to get our result |
| 1145 EXPECT_EQ(2, counter); | 1145 EXPECT_EQ(2, counter); |
| 1146 } | 1146 } |
| 1147 | 1147 |
| 1148 TEST_F(GDataFileSystemTest, SearchRootDirectory) { | 1148 TEST_F(GDataFileSystemTest, SearchRootDirectory) { |
| (...skipping 1920 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3069 | 3069 |
| 3070 file_system_->GetFileByResourceId(file->resource_id(), callback, | 3070 file_system_->GetFileByResourceId(file->resource_id(), callback, |
| 3071 GetDownloadDataCallback()); | 3071 GetDownloadDataCallback()); |
| 3072 RunAllPendingForIO(); | 3072 RunAllPendingForIO(); |
| 3073 | 3073 |
| 3074 EXPECT_EQ(REGULAR_FILE, callback_helper_->file_type_); | 3074 EXPECT_EQ(REGULAR_FILE, callback_helper_->file_type_); |
| 3075 EXPECT_EQ(downloaded_file.value(), | 3075 EXPECT_EQ(downloaded_file.value(), |
| 3076 callback_helper_->download_path_.value()); | 3076 callback_helper_->download_path_.value()); |
| 3077 } | 3077 } |
| 3078 | 3078 |
| 3079 void ContentSearchCallback(MessageLoop* message_loop, | |
|
satorux1
2012/05/03 17:58:34
function comment is missing.
please also move thi
tbarzic
2012/05/03 23:56:17
Done.
| |
| 3080 base::PlatformFileError error, | |
| 3081 scoped_ptr<GDataDirectoryProto> dir_proto) { | |
| 3082 ASSERT_EQ(base::PLATFORM_FILE_OK, error); | |
| 3083 ASSERT_TRUE(dir_proto.get() != NULL); | |
| 3084 | |
| 3085 // Search feed contains 2 entries. One file (SubDirectory File 1.txt) and one | |
| 3086 // directory (Directory 1). Entries generated from the fedd should have names | |
| 3087 // in format resource_id.actual_file_name. | |
| 3088 ASSERT_EQ(1, dir_proto->child_files_size()); | |
| 3089 EXPECT_EQ("file:2_file_resouce_id.SubDirectory File 1.txt", | |
| 3090 dir_proto->child_files(0).gdata_entry().file_name()); | |
| 3091 | |
| 3092 ASSERT_EQ(1, dir_proto->child_directories_size()); | |
| 3093 EXPECT_EQ("folder:1_folder_resource_id.Directory 1", | |
| 3094 dir_proto->child_directories(0).gdata_entry().file_name()); | |
| 3095 | |
| 3096 message_loop->Quit(); | |
| 3097 } | |
| 3098 | |
| 3099 TEST_F(GDataFileSystemTest, ContentSearch) { | |
| 3100 LoadRootFeedDocument("root_feed.json"); | |
| 3101 | |
| 3102 EXPECT_CALL(*mock_doc_service_, GetDocuments(Eq(GURL()), _, "foo", _)) | |
| 3103 .Times(1); | |
| 3104 | |
| 3105 ReadDirectoryCallback callback = base::Bind( | |
| 3106 &ContentSearchCallback, | |
| 3107 &message_loop_); | |
| 3108 | |
| 3109 file_system_->SearchContent("foo", callback); | |
| 3110 message_loop_.Run(); // Wait to get our result | |
| 3111 | |
| 3112 struct SearchResultPair { | |
| 3113 const char* search_path; | |
| 3114 const char* real_path; | |
| 3115 }; | |
| 3116 | |
| 3117 const SearchResultPair kSearchResultPairs[] = { | |
| 3118 { "gdata/.search/foo/file:2_file_resouce_id.SubDirectory File 1.txt", | |
| 3119 "gdata/Directory 1/SubDirectory File 1.txt" }, | |
| 3120 { "gdata/.search/foo/folder:1_folder_resource_id.Directory 1", | |
| 3121 "gdata/Directory 1" }, | |
| 3122 { "gdata/.search/foo/folder:1_folder_resource_id.Directory 1/" | |
| 3123 "SubDirectory File 1.txt", | |
| 3124 "gdata/Directory 1/SubDirectory File 1.txt" } | |
| 3125 }; | |
| 3126 | |
| 3127 for (size_t i = 0; i < ARRAYSIZE_UNSAFE(kSearchResultPairs); i++) { | |
|
satorux1
2012/05/03 17:58:34
why cannot you use arraysize()?
i++ -> ++i (as th
tbarzic
2012/05/03 23:56:17
struct SearchResultPair is defined in function.. w
| |
| 3128 FilePath search_file_path(FILE_PATH_LITERAL( | |
| 3129 kSearchResultPairs[i].search_path)); | |
| 3130 FilePath real_file_path(FILE_PATH_LITERAL( | |
| 3131 kSearchResultPairs[i].real_path)); | |
| 3132 | |
| 3133 GDataEntry* search_file_entry = FindEntry(search_file_path); | |
| 3134 ASSERT_TRUE(search_file_entry != NULL) | |
| 3135 << "Can't find " << search_file_path.value(); | |
| 3136 | |
| 3137 GDataEntry* real_file_entry = FindEntry(real_file_path); | |
| 3138 ASSERT_TRUE(real_file_entry != NULL) | |
| 3139 << "Can't find " << real_file_path.value(); | |
| 3140 | |
| 3141 EXPECT_EQ(search_file_entry, real_file_entry); | |
| 3142 } | |
| 3143 } | |
| 3144 | |
| 3145 TEST_F(GDataFileSystemTest, ContentSearch_Delete) { | |
| 3146 LoadRootFeedDocument("root_feed.json"); | |
| 3147 | |
| 3148 EXPECT_CALL(*mock_doc_service_, DeleteDocument(_, _)).Times(1); | |
| 3149 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | |
| 3150 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1); | |
| 3151 | |
| 3152 FilePath search_file_path(FILE_PATH_LITERAL( | |
| 3153 "gdata/.search/foo/file:2_file_resouce_id.SubDirectory File 1.txt")); | |
| 3154 FilePath real_file_path(FILE_PATH_LITERAL( | |
| 3155 "gdata/Directory 1/SubDirectory File 1.txt")); | |
| 3156 | |
| 3157 ASSERT_TRUE(FindEntry(real_file_path) != NULL); | |
| 3158 ASSERT_TRUE(FindEntry(search_file_path) != NULL); | |
| 3159 | |
| 3160 FileOperationCallback callback = | |
| 3161 base::Bind(&CallbackHelper::FileOperationCallback, | |
| 3162 callback_helper_.get()); | |
| 3163 | |
| 3164 file_system_->Remove(search_file_path, false, callback); | |
| 3165 message_loop_.RunAllPending(); // Wait to get our result | |
| 3166 | |
| 3167 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); | |
| 3168 | |
| 3169 EXPECT_TRUE(FindEntry(real_file_path) == NULL); | |
|
satorux1
2012/05/03 17:58:34
EXPECT_FALSE(FindEntry(real_file_path))
tbarzic
2012/05/03 23:56:17
Done.
| |
| 3170 EXPECT_TRUE(FindEntry(search_file_path) == NULL); | |
| 3171 } | |
| 3172 | |
| 3173 TEST_F(GDataFileSystemTest, ContentSearch_RenameResult) { | |
| 3174 LoadRootFeedDocument("root_feed.json"); | |
| 3175 | |
| 3176 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | |
| 3177 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1); | |
| 3178 | |
| 3179 EXPECT_CALL(*mock_doc_service_, RenameResource( | |
| 3180 Eq(GURL("https://dir1_file_link_self/file:2_file_resouce_id")), | |
| 3181 "SubDirectory File 1.txt.renamed", _)) | |
| 3182 .Times(1); | |
| 3183 | |
| 3184 FilePath source_path_search(FILE_PATH_LITERAL( | |
| 3185 "gdata/.search/foo/file:2_file_resouce_id.SubDirectory File 1.txt")); | |
| 3186 FilePath source_path_real(FILE_PATH_LITERAL( | |
| 3187 "gdata/Directory 1/SubDirectory File 1.txt")); | |
| 3188 | |
| 3189 FilePath renamed_path_search(FILE_PATH_LITERAL( | |
| 3190 "gdata/.search/foo/" | |
| 3191 "file:2_file_resouce_id.SubDirectory File 1.txt.renamed")); | |
| 3192 FilePath renamed_path_real(FILE_PATH_LITERAL( | |
| 3193 "gdata/Directory 1/SubDirectory File 1.txt.renamed")); | |
| 3194 | |
| 3195 FileOperationCallback callback = | |
| 3196 base::Bind(&CallbackHelper::FileOperationCallback, | |
| 3197 callback_helper_.get()); | |
| 3198 | |
| 3199 file_system_->Move(source_path_search, renamed_path_search, callback); | |
| 3200 message_loop_.RunAllPending(); | |
| 3201 | |
| 3202 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); | |
| 3203 | |
| 3204 EXPECT_TRUE(FindEntry(source_path_real) == NULL); | |
| 3205 EXPECT_TRUE(FindEntry(source_path_search) == NULL); | |
| 3206 | |
| 3207 EXPECT_TRUE(FindEntry(renamed_path_real) != NULL); | |
| 3208 EXPECT_TRUE(FindEntry(renamed_path_search) != NULL); | |
| 3209 } | |
| 3210 | |
| 3211 TEST_F(GDataFileSystemTest, ContentSearch_Move) { | |
| 3212 LoadRootFeedDocument("root_feed.json"); | |
| 3213 | |
| 3214 // Setup directory observer mocks. | |
| 3215 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | |
| 3216 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1); | |
| 3217 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | |
| 3218 Eq(FilePath(FILE_PATH_LITERAL( | |
| 3219 "gdata/Directory 1/Sub Directory Folder"))))) | |
| 3220 .Times(1); | |
| 3221 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | |
| 3222 Eq(FilePath(FILE_PATH_LITERAL("gdata"))))).Times(1); | |
| 3223 | |
| 3224 // Setup documents service mocks. | |
| 3225 EXPECT_CALL(*mock_doc_service_, RenameResource( | |
| 3226 Eq(GURL("https://dir1_file_link_self/file:2_file_resouce_id")), | |
| 3227 "SubDirectory File 1.txt.dest", _)) | |
| 3228 .Times(1); | |
| 3229 EXPECT_CALL(*mock_doc_service_, RemoveResourceFromDirectory( | |
| 3230 Eq(GURL("https://1_folder_content_url/")), | |
| 3231 Eq(GURL("https://dir1_file_link_self/file:2_file_resouce_id")), | |
| 3232 "file:2_file_resouce_id", _)) | |
| 3233 .Times(1); | |
| 3234 EXPECT_CALL(*mock_doc_service_, AddResourceToDirectory( | |
| 3235 Eq(GURL("https://1_folder_content_url/")), | |
| 3236 Eq(GURL("https://dir1_file_link_self/file:2_file_resouce_id")), _)) | |
| 3237 .Times(1); | |
| 3238 | |
| 3239 // Start the test. | |
| 3240 FilePath source_path_search(FILE_PATH_LITERAL( | |
| 3241 "gdata/.search/foo/folder:1_folder_resource_id.Directory 1/" | |
| 3242 "SubDirectory File 1.txt")); | |
| 3243 FilePath source_path_real(FILE_PATH_LITERAL( | |
| 3244 "gdata/Directory 1/SubDirectory File 1.txt")); | |
| 3245 | |
| 3246 FilePath destination_path_search(FILE_PATH_LITERAL( | |
| 3247 "gdata/.search/foo/folder:1_folder_resource_id.Directory 1/" | |
| 3248 "Sub Directory Folder/SubDirectory File 1.txt.dest")); | |
| 3249 FilePath destination_path_real(FILE_PATH_LITERAL( | |
| 3250 "gdata/Directory 1/Sub Directory Folder/SubDirectory File 1.txt.dest")); | |
| 3251 | |
| 3252 ASSERT_TRUE(FindEntry(source_path_search) != NULL); | |
| 3253 ASSERT_TRUE(FindEntry(source_path_real) != NULL); | |
| 3254 | |
| 3255 FileOperationCallback callback = | |
| 3256 base::Bind(&CallbackHelper::FileOperationCallback, | |
| 3257 callback_helper_.get()); | |
| 3258 | |
| 3259 file_system_->Move(source_path_search, destination_path_search, callback); | |
| 3260 message_loop_.RunAllPending(); | |
| 3261 | |
| 3262 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); | |
| 3263 | |
| 3264 EXPECT_TRUE(FindEntry(source_path_search) == NULL); | |
| 3265 EXPECT_TRUE(FindEntry(source_path_real) == NULL); | |
| 3266 | |
| 3267 EXPECT_TRUE(FindEntry(destination_path_search) != NULL); | |
| 3268 EXPECT_TRUE(FindEntry(destination_path_real) != NULL); | |
| 3269 } | |
| 3270 | |
| 3271 // Move file to gdata file system from search result directory. | |
| 3272 TEST_F(GDataFileSystemTest, ContentSearch_MoveToGData) { | |
| 3273 LoadRootFeedDocument("root_feed.json"); | |
| 3274 | |
| 3275 // Setup directory observer mocks. | |
| 3276 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | |
| 3277 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1); | |
| 3278 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | |
| 3279 Eq(FilePath(FILE_PATH_LITERAL( | |
| 3280 "gdata/Directory 1/Sub Directory Folder"))))) | |
| 3281 .Times(1); | |
| 3282 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | |
| 3283 Eq(FilePath(FILE_PATH_LITERAL("gdata"))))).Times(1); | |
| 3284 | |
| 3285 // Setup documents service mocks. | |
| 3286 EXPECT_CALL(*mock_doc_service_, RenameResource( | |
| 3287 Eq(GURL("https://dir1_file_link_self/file:2_file_resouce_id")), | |
| 3288 "SubDirectory File 1.txt.dest", _)) | |
| 3289 .Times(1); | |
| 3290 EXPECT_CALL(*mock_doc_service_, RemoveResourceFromDirectory( | |
| 3291 Eq(GURL("https://1_folder_content_url/")), | |
| 3292 Eq(GURL("https://dir1_file_link_self/file:2_file_resouce_id")), | |
| 3293 "file:2_file_resouce_id", _)) | |
| 3294 .Times(1); | |
| 3295 EXPECT_CALL(*mock_doc_service_, AddResourceToDirectory( | |
| 3296 Eq(GURL("https://1_folder_content_url/")), | |
| 3297 Eq(GURL("https://dir1_file_link_self/file:2_file_resouce_id")), _)) | |
| 3298 .Times(1); | |
| 3299 | |
| 3300 // Statr the test. | |
| 3301 FilePath source_path_search(FILE_PATH_LITERAL( | |
| 3302 "gdata/.search/foo/folder:1_folder_resource_id.Directory 1/" | |
| 3303 "SubDirectory File 1.txt")); | |
| 3304 FilePath source_path_real(FILE_PATH_LITERAL( | |
| 3305 "gdata/Directory 1/SubDirectory File 1.txt")); | |
| 3306 | |
| 3307 FilePath destination_path_search(FILE_PATH_LITERAL( | |
| 3308 "gdata/.search/foo/folder:1_folder_resource_id.Directory 1/" | |
| 3309 "Sub Directory Folder/SubDirectory File 1.txt.dest")); | |
| 3310 FilePath destination_path_real(FILE_PATH_LITERAL( | |
| 3311 "gdata/Directory 1/Sub Directory Folder/SubDirectory File 1.txt.dest")); | |
| 3312 | |
| 3313 ASSERT_TRUE(FindEntry(source_path_search) != NULL); | |
| 3314 ASSERT_TRUE(FindEntry(source_path_real) != NULL); | |
| 3315 | |
| 3316 FileOperationCallback callback = | |
| 3317 base::Bind(&CallbackHelper::FileOperationCallback, | |
| 3318 callback_helper_.get()); | |
| 3319 | |
| 3320 file_system_->Move(source_path_search, destination_path_real, callback); | |
| 3321 message_loop_.RunAllPending(); | |
| 3322 | |
| 3323 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); | |
| 3324 | |
| 3325 EXPECT_TRUE(FindEntry(source_path_search) == NULL); | |
| 3326 EXPECT_TRUE(FindEntry(source_path_real) == NULL); | |
| 3327 | |
| 3328 EXPECT_TRUE(FindEntry(destination_path_search) != NULL); | |
| 3329 EXPECT_TRUE(FindEntry(destination_path_real) != NULL); | |
| 3330 } | |
| 3331 | |
| 3332 TEST_F(GDataFileSystemTest, ContentSearch_MoveToSearch) { | |
| 3333 LoadRootFeedDocument("root_feed.json"); | |
| 3334 | |
| 3335 // Setup directory observer mocks. | |
| 3336 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | |
| 3337 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1); | |
| 3338 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | |
| 3339 Eq(FilePath(FILE_PATH_LITERAL( | |
| 3340 "gdata/Directory 1/Sub Directory Folder"))))) | |
| 3341 .Times(1); | |
| 3342 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | |
| 3343 Eq(FilePath(FILE_PATH_LITERAL("gdata"))))).Times(1); | |
| 3344 | |
| 3345 // Setup documents service mocks. | |
| 3346 EXPECT_CALL(*mock_doc_service_, RenameResource( | |
| 3347 Eq(GURL("https://dir1_file_link_self/file:2_file_resouce_id")), | |
| 3348 "SubDirectory File 1.txt.dest", _)) | |
| 3349 .Times(1); | |
| 3350 EXPECT_CALL(*mock_doc_service_, RemoveResourceFromDirectory( | |
| 3351 Eq(GURL("https://1_folder_content_url/")), | |
| 3352 Eq(GURL("https://dir1_file_link_self/file:2_file_resouce_id")), | |
| 3353 "file:2_file_resouce_id", _)) | |
| 3354 .Times(1); | |
| 3355 EXPECT_CALL(*mock_doc_service_, AddResourceToDirectory( | |
| 3356 Eq(GURL("https://1_folder_content_url/")), | |
| 3357 Eq(GURL("https://dir1_file_link_self/file:2_file_resouce_id")), _)) | |
| 3358 .Times(1); | |
| 3359 | |
| 3360 // Statr the test. | |
| 3361 FilePath source_path_search(FILE_PATH_LITERAL( | |
| 3362 "gdata/.search/foo/folder:1_folder_resource_id.Directory 1/" | |
| 3363 "SubDirectory File 1.txt")); | |
| 3364 FilePath source_path_real(FILE_PATH_LITERAL( | |
| 3365 "gdata/Directory 1/SubDirectory File 1.txt")); | |
| 3366 | |
| 3367 FilePath destination_path_search(FILE_PATH_LITERAL( | |
| 3368 "gdata/.search/foo/folder:1_folder_resource_id.Directory 1/" | |
| 3369 "Sub Directory Folder/SubDirectory File 1.txt.dest")); | |
| 3370 FilePath destination_path_real(FILE_PATH_LITERAL( | |
| 3371 "gdata/Directory 1/Sub Directory Folder/SubDirectory File 1.txt.dest")); | |
| 3372 | |
| 3373 ASSERT_TRUE(FindEntry(source_path_search) != NULL); | |
| 3374 ASSERT_TRUE(FindEntry(source_path_real) != NULL); | |
| 3375 | |
| 3376 FileOperationCallback callback = | |
| 3377 base::Bind(&CallbackHelper::FileOperationCallback, | |
| 3378 callback_helper_.get()); | |
| 3379 | |
| 3380 file_system_->Move(source_path_real, destination_path_search, callback); | |
| 3381 message_loop_.RunAllPending(); | |
| 3382 | |
| 3383 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); | |
| 3384 | |
| 3385 EXPECT_TRUE(FindEntry(source_path_search) == NULL); | |
| 3386 EXPECT_TRUE(FindEntry(source_path_real) == NULL); | |
| 3387 | |
| 3388 EXPECT_TRUE(FindEntry(destination_path_search) != NULL); | |
| 3389 EXPECT_TRUE(FindEntry(destination_path_real) != NULL); | |
| 3390 } | |
| 3391 | |
| 3392 TEST_F(GDataFileSystemTest, ContentSearch_CopyToSearchDirectory) { | |
| 3393 LoadRootFeedDocument("root_feed.json"); | |
| 3394 | |
| 3395 FilePath src_file_path(FILE_PATH_LITERAL( | |
| 3396 "gdata/Directory 1/SubDirectory File 1.txt")); | |
| 3397 FilePath dest_file_path(FILE_PATH_LITERAL( | |
| 3398 "gdata/.search/Directory 1")); | |
| 3399 | |
| 3400 FileOperationCallback callback = | |
| 3401 base::Bind(&CallbackHelper::FileOperationCallback, | |
| 3402 callback_helper_.get()); | |
| 3403 | |
| 3404 file_system_->Copy(src_file_path, dest_file_path, callback); | |
| 3405 message_loop_.RunAllPending(); | |
| 3406 | |
| 3407 EXPECT_NE(base::PLATFORM_FILE_OK, callback_helper_->last_error_); | |
| 3408 | |
| 3409 EXPECT_TRUE(FindEntry(src_file_path) != NULL); | |
| 3410 } | |
| 3411 | |
| 3412 TEST_F(GDataFileSystemTest, ContentSearch_CopyToSearchResultDirectory) { | |
| 3413 LoadRootFeedDocument("root_feed.json"); | |
| 3414 | |
| 3415 FilePath src_file_path(FILE_PATH_LITERAL( | |
| 3416 "gdata/Directory 1/SubDirectory File 1.txt")); | |
| 3417 FilePath dest_file_path(FILE_PATH_LITERAL( | |
| 3418 "gdata/.search/foo/Directory 1")); | |
| 3419 | |
| 3420 FileOperationCallback callback = | |
| 3421 base::Bind(&CallbackHelper::FileOperationCallback, | |
| 3422 callback_helper_.get()); | |
| 3423 | |
| 3424 file_system_->Copy(src_file_path, dest_file_path, callback); | |
| 3425 message_loop_.RunAllPending(); | |
| 3426 | |
| 3427 EXPECT_EQ(base::PLATFORM_FILE_ERROR_INVALID_OPERATION, | |
| 3428 callback_helper_->last_error_); | |
| 3429 | |
| 3430 EXPECT_TRUE(FindEntry(src_file_path) != NULL); | |
| 3431 } | |
| 3432 | |
| 3433 TEST_F(GDataFileSystemTest, ContentSearch_CreateDirInSearchResultDirectory) { | |
| 3434 LoadRootFeedDocument("root_feed.json"); | |
| 3435 | |
| 3436 FilePath dest_file_path(FILE_PATH_LITERAL( | |
| 3437 "gdata/.search/foo/New Folder")); | |
| 3438 | |
| 3439 FileOperationCallback callback = | |
| 3440 base::Bind(&CallbackHelper::FileOperationCallback, | |
| 3441 callback_helper_.get()); | |
| 3442 | |
| 3443 file_system_->CreateDirectory(dest_file_path, false, false, callback); | |
| 3444 message_loop_.RunAllPending(); | |
| 3445 | |
| 3446 EXPECT_EQ(base::PLATFORM_FILE_ERROR_INVALID_OPERATION, | |
| 3447 callback_helper_->last_error_); | |
| 3448 } | |
| 3449 | |
| 3450 TEST_F(GDataFileSystemTest, ContentSearch_CreateDirInSearchDirectory) { | |
| 3451 LoadRootFeedDocument("root_feed.json"); | |
| 3452 | |
| 3453 FilePath dest_file_path(FILE_PATH_LITERAL( | |
| 3454 "gdata/.search/New Folder")); | |
| 3455 | |
| 3456 FileOperationCallback callback = | |
| 3457 base::Bind(&CallbackHelper::FileOperationCallback, | |
| 3458 callback_helper_.get()); | |
| 3459 | |
| 3460 file_system_->CreateDirectory(dest_file_path, false, false, callback); | |
| 3461 message_loop_.RunAllPending(); | |
| 3462 | |
| 3463 EXPECT_EQ(base::PLATFORM_FILE_ERROR_INVALID_OPERATION, | |
| 3464 callback_helper_->last_error_); | |
| 3465 } | |
| 3466 | |
| 3467 TEST_F(GDataFileSystemTest, ContentSearch_CreateDirectory) { | |
| 3468 LoadRootFeedDocument("root_feed.json"); | |
| 3469 | |
| 3470 EXPECT_CALL(*mock_directory_observer_, OnDirectoryChanged( | |
| 3471 Eq(FilePath(FILE_PATH_LITERAL("gdata/Directory 1"))))).Times(1); | |
| 3472 EXPECT_CALL(*mock_doc_service_, CreateDirectory( | |
| 3473 Eq(GURL("https://1_folder_content_url/")), "FolderNew", _)).Times(1); | |
| 3474 | |
| 3475 FilePath search_dir_path(FILE_PATH_LITERAL( | |
| 3476 "gdata/.search/foo/folder:1_folder_resource_id.Directory 1/" | |
| 3477 "FolderNew")); | |
| 3478 FilePath real_dir_path(FILE_PATH_LITERAL("gdata/Directory 1/FolderNew")); | |
| 3479 | |
| 3480 EXPECT_TRUE(FindEntry(search_dir_path) == NULL); | |
| 3481 EXPECT_TRUE(FindEntry(real_dir_path) == NULL); | |
| 3482 | |
| 3483 FileOperationCallback callback = | |
| 3484 base::Bind(&CallbackHelper::FileOperationCallback, | |
| 3485 callback_helper_.get()); | |
| 3486 | |
| 3487 file_system_->CreateDirectory(search_dir_path, false, false, callback); | |
| 3488 message_loop_.RunAllPending(); | |
| 3489 | |
| 3490 EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_); | |
| 3491 | |
| 3492 EXPECT_TRUE(FindEntry(search_dir_path) != NULL); | |
| 3493 EXPECT_TRUE(FindEntry(real_dir_path) != NULL); | |
| 3494 } | |
| 3079 | 3495 |
| 3080 TEST_F(GDataFileSystemTest, GetAvailableSpace) { | 3496 TEST_F(GDataFileSystemTest, GetAvailableSpace) { |
| 3081 EXPECT_CALL(*mock_sync_client_, OnCacheInitialized()).Times(1); | 3497 EXPECT_CALL(*mock_sync_client_, OnCacheInitialized()).Times(1); |
| 3082 | 3498 |
| 3083 GetAvailableSpaceCallback callback = | 3499 GetAvailableSpaceCallback callback = |
| 3084 base::Bind(&CallbackHelper::GetAvailableSpaceCallback, | 3500 base::Bind(&CallbackHelper::GetAvailableSpaceCallback, |
| 3085 callback_helper_.get()); | 3501 callback_helper_.get()); |
| 3086 | 3502 |
| 3087 EXPECT_CALL(*mock_doc_service_, GetAccountMetadata(_)); | 3503 EXPECT_CALL(*mock_doc_service_, GetAccountMetadata(_)); |
| 3088 | 3504 |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3139 EXPECT_EQ(1, num_callback_invocations_); | 3555 EXPECT_EQ(1, num_callback_invocations_); |
| 3140 EXPECT_TRUE(CacheEntryExists(resource_id, md5)); | 3556 EXPECT_TRUE(CacheEntryExists(resource_id, md5)); |
| 3141 | 3557 |
| 3142 // Try to remove the file. | 3558 // Try to remove the file. |
| 3143 num_callback_invocations_ = 0; | 3559 num_callback_invocations_ = 0; |
| 3144 TestRemoveFromCache(resource_id, base::PLATFORM_FILE_OK); | 3560 TestRemoveFromCache(resource_id, base::PLATFORM_FILE_OK); |
| 3145 EXPECT_EQ(1, num_callback_invocations_); | 3561 EXPECT_EQ(1, num_callback_invocations_); |
| 3146 } | 3562 } |
| 3147 | 3563 |
| 3148 } // namespace gdata | 3564 } // namespace gdata |
| OLD | NEW |