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

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

Issue 9580016: Fixed remaining CL comments from review of http://codereview.chromium.org/9561009/ (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 9 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
« no previous file with comments | « chrome/browser/chromeos/gdata/gdata_file_system_proxy.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include <string> 5 #include <string>
5 #include <vector> 6 #include <vector>
6 7
7 #include "base/file_path.h" 8 #include "base/file_path.h"
8 #include "base/file_util.h" 9 #include "base/file_util.h"
9 #include "base/json/json_file_value_serializer.h" 10 #include "base/json/json_file_value_serializer.h"
10 #include "base/message_loop.h" 11 #include "base/message_loop.h"
11 #include "base/path_service.h" 12 #include "base/path_service.h"
12 #include "base/string16.h" 13 #include "base/string16.h"
13 #include "base/time.h" 14 #include "base/time.h"
(...skipping 24 matching lines...) Expand all
38 : ui_thread_(content::BrowserThread::UI, &message_loop_) { 39 : ui_thread_(content::BrowserThread::UI, &message_loop_) {
39 } 40 }
40 41
41 virtual void SetUp() { 42 virtual void SetUp() {
42 profile_.reset(new TestingProfile); 43 profile_.reset(new TestingProfile);
43 file_system_ = GDataFileSystemFactory::GetForProfile(profile_.get()); 44 file_system_ = GDataFileSystemFactory::GetForProfile(profile_.get());
44 } 45 }
45 46
46 // Loads test json file as root ("/gdata") element. 47 // Loads test json file as root ("/gdata") element.
47 void LoadRootFeedDocument(const std::string& filename) { 48 void LoadRootFeedDocument(const std::string& filename) {
48 LoadSubdirFeedDocument(FilePath("gdata"), filename); 49 LoadSubdirFeedDocument(FilePath(FILE_PATH_LITERAL("gdata")), filename);
49 } 50 }
50 51
51 // Loads test json file as subdirectory content of |directory_path|. 52 // Loads test json file as subdirectory content of |directory_path|.
52 void LoadSubdirFeedDocument(const FilePath& directory_path, 53 void LoadSubdirFeedDocument(const FilePath& directory_path,
53 const std::string& filename) { 54 const std::string& filename) {
54 std::string error; 55 std::string error;
55 scoped_ptr<Value> document(LoadJSONFile(filename)); 56 scoped_ptr<Value> document(LoadJSONFile(filename));
56 ASSERT_TRUE(document.get()); 57 ASSERT_TRUE(document.get());
57 ASSERT_TRUE(document->GetType() == Value::TYPE_DICTIONARY); 58 ASSERT_TRUE(document->GetType() == Value::TYPE_DICTIONARY);
58 GURL unused; 59 GURL unused;
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 MOCK_METHOD2(OnEnterDirectory, FindFileTraversalCommand( 177 MOCK_METHOD2(OnEnterDirectory, FindFileTraversalCommand(
177 const FilePath&, GDataDirectory* dir)); 178 const FilePath&, GDataDirectory* dir));
178 MOCK_METHOD1(OnError, void(base::PlatformFileError)); 179 MOCK_METHOD1(OnError, void(base::PlatformFileError));
179 }; 180 };
180 181
181 TEST_F(GDataFileSystemTest, SearchRootDirectory) { 182 TEST_F(GDataFileSystemTest, SearchRootDirectory) {
182 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate = 183 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate =
183 new MockFindFileDelegate(); 184 new MockFindFileDelegate();
184 185
185 EXPECT_CALL(*mock_find_file_delegate.get(), 186 EXPECT_CALL(*mock_find_file_delegate.get(),
186 OnDirectoryFound(FilePath("gdata"), _)) 187 OnDirectoryFound(FilePath(FILE_PATH_LITERAL("gdata")), _))
187 .Times(1); 188 .Times(1);
188 189
189 file_system_->FindFileByPath(FilePath("gdata"), 190 file_system_->FindFileByPath(FilePath(FILE_PATH_LITERAL("gdata")),
190 mock_find_file_delegate); 191 mock_find_file_delegate);
191 } 192 }
192 193
193 TEST_F(GDataFileSystemTest, SearchExistingFile) { 194 TEST_F(GDataFileSystemTest, SearchExistingFile) {
194 LoadRootFeedDocument("root_feed.json"); 195 LoadRootFeedDocument("root_feed.json");
195 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate = 196 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate =
196 new MockFindFileDelegate(); 197 new MockFindFileDelegate();
197 198
198 EXPECT_CALL(*mock_find_file_delegate.get(), 199 EXPECT_CALL(*mock_find_file_delegate.get(),
199 OnEnterDirectory(FilePath("gdata"), _)) 200 OnEnterDirectory(FilePath(FILE_PATH_LITERAL("gdata")), _))
200 .Times(1) 201 .Times(1)
201 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES)); 202 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES));
202 EXPECT_CALL(*mock_find_file_delegate.get(), OnFileFound(_)) 203 EXPECT_CALL(*mock_find_file_delegate.get(), OnFileFound(_))
203 .Times(1); 204 .Times(1);
204 205
205 file_system_->FindFileByPath(FilePath("gdata/File 1.txt"), 206 file_system_->FindFileByPath(FilePath(FILE_PATH_LITERAL("gdata/File 1.txt")),
206 mock_find_file_delegate); 207 mock_find_file_delegate);
207 } 208 }
208 209
209 TEST_F(GDataFileSystemTest, SearchExistingDocument) { 210 TEST_F(GDataFileSystemTest, SearchExistingDocument) {
210 LoadRootFeedDocument("root_feed.json"); 211 LoadRootFeedDocument("root_feed.json");
211 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate = 212 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate =
212 new MockFindFileDelegate(); 213 new MockFindFileDelegate();
213 214
214 EXPECT_CALL(*mock_find_file_delegate.get(), 215 EXPECT_CALL(*mock_find_file_delegate.get(),
215 OnEnterDirectory(FilePath("gdata"), _)) 216 OnEnterDirectory(FilePath(FILE_PATH_LITERAL("gdata")), _))
216 .Times(1) 217 .Times(1)
217 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES)); 218 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES));
218 EXPECT_CALL(*mock_find_file_delegate.get(), OnFileFound(_)) 219 EXPECT_CALL(*mock_find_file_delegate.get(), OnFileFound(_))
219 .Times(1); 220 .Times(1);
220 221
221 file_system_->FindFileByPath(FilePath("gdata/Document 1.gdocument"), 222 file_system_->FindFileByPath(
222 mock_find_file_delegate); 223 FilePath(FILE_PATH_LITERAL("gdata/Document 1.gdocument")),
224 mock_find_file_delegate);
223 } 225 }
224 226
225 TEST_F(GDataFileSystemTest, SearchDuplicateNames) { 227 TEST_F(GDataFileSystemTest, SearchDuplicateNames) {
226 LoadRootFeedDocument("root_feed.json"); 228 LoadRootFeedDocument("root_feed.json");
227 229
228 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate = 230 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate =
229 new MockFindFileDelegate(); 231 new MockFindFileDelegate();
230 EXPECT_CALL(*mock_find_file_delegate.get(), 232 EXPECT_CALL(*mock_find_file_delegate.get(),
231 OnEnterDirectory(FilePath("gdata"), _)) 233 OnEnterDirectory(FilePath(FILE_PATH_LITERAL("gdata")), _))
232 .Times(1) 234 .Times(1)
233 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES)); 235 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES));
234 EXPECT_CALL(*mock_find_file_delegate.get(), OnFileFound(_)) 236 EXPECT_CALL(*mock_find_file_delegate.get(), OnFileFound(_))
235 .Times(1); 237 .Times(1);
236 file_system_->FindFileByPath(FilePath("gdata/Duplicate Name.txt"), 238 file_system_->FindFileByPath(
237 mock_find_file_delegate); 239 FilePath(FILE_PATH_LITERAL("gdata/Duplicate Name.txt")),
240 mock_find_file_delegate);
238 241
239 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate2 = 242 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate2 =
240 new MockFindFileDelegate(); 243 new MockFindFileDelegate();
241 EXPECT_CALL(*mock_find_file_delegate2.get(), 244 EXPECT_CALL(*mock_find_file_delegate2.get(),
242 OnEnterDirectory(FilePath("gdata"), _)) 245 OnEnterDirectory(FilePath(FILE_PATH_LITERAL("gdata")), _))
243 .Times(1) 246 .Times(1)
244 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES)); 247 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES));
245 EXPECT_CALL(*mock_find_file_delegate2.get(), OnFileFound(_)) 248 EXPECT_CALL(*mock_find_file_delegate2.get(), OnFileFound(_))
246 .Times(1); 249 .Times(1);
247 file_system_->FindFileByPath(FilePath("gdata/Duplicate Name (2).txt"), 250 file_system_->FindFileByPath(
248 mock_find_file_delegate2); 251 FilePath(FILE_PATH_LITERAL("gdata/Duplicate Name (2).txt")),
252 mock_find_file_delegate2);
249 } 253 }
250 254
251 TEST_F(GDataFileSystemTest, SearchExistingDirectory) { 255 TEST_F(GDataFileSystemTest, SearchExistingDirectory) {
252 LoadRootFeedDocument("root_feed.json"); 256 LoadRootFeedDocument("root_feed.json");
253 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate = 257 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate =
254 new MockFindFileDelegate(); 258 new MockFindFileDelegate();
255 259
256 EXPECT_CALL(*mock_find_file_delegate.get(), 260 EXPECT_CALL(*mock_find_file_delegate.get(),
257 OnEnterDirectory(FilePath("gdata"), _)) 261 OnEnterDirectory(FilePath(FILE_PATH_LITERAL("gdata")), _))
258 .Times(1) 262 .Times(1)
259 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES)); 263 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES));
260 EXPECT_CALL(*mock_find_file_delegate.get(), OnDirectoryFound(_, _)) 264 EXPECT_CALL(*mock_find_file_delegate.get(), OnDirectoryFound(_, _))
261 .Times(1); 265 .Times(1);
262 266
263 file_system_->FindFileByPath(FilePath("gdata/Directory 1"), 267 file_system_->FindFileByPath(FilePath(FILE_PATH_LITERAL("gdata/Directory 1")),
264 mock_find_file_delegate); 268 mock_find_file_delegate);
265 } 269 }
266 270
267 271
268 TEST_F(GDataFileSystemTest, SearchNonExistingFile) { 272 TEST_F(GDataFileSystemTest, SearchNonExistingFile) {
269 LoadRootFeedDocument("root_feed.json"); 273 LoadRootFeedDocument("root_feed.json");
270 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate = 274 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate =
271 new MockFindFileDelegate(); 275 new MockFindFileDelegate();
272 276
273 EXPECT_CALL(*mock_find_file_delegate.get(), 277 EXPECT_CALL(*mock_find_file_delegate.get(),
274 OnEnterDirectory(FilePath("gdata"), _)) 278 OnEnterDirectory(FilePath(FILE_PATH_LITERAL("gdata")), _))
275 .Times(1) 279 .Times(1)
276 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES)); 280 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES));
277 EXPECT_CALL(*mock_find_file_delegate.get(), 281 EXPECT_CALL(*mock_find_file_delegate.get(),
278 OnError(base::PLATFORM_FILE_ERROR_NOT_FOUND)) 282 OnError(base::PLATFORM_FILE_ERROR_NOT_FOUND))
279 .Times(1); 283 .Times(1);
280 284
281 file_system_->FindFileByPath(FilePath("gdata/nonexisting.file"), 285 file_system_->FindFileByPath(
282 mock_find_file_delegate); 286 FilePath(FILE_PATH_LITERAL("gdata/nonexisting.file")),
287 mock_find_file_delegate);
283 } 288 }
284 289
285 TEST_F(GDataFileSystemTest, StopFileSearch) { 290 TEST_F(GDataFileSystemTest, StopFileSearch) {
286 LoadRootFeedDocument("root_feed.json"); 291 LoadRootFeedDocument("root_feed.json");
287 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate = 292 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate =
288 new MockFindFileDelegate(); 293 new MockFindFileDelegate();
289 294
290 // Stop on first directory entry. 295 // Stop on first directory entry.
291 EXPECT_CALL(*mock_find_file_delegate.get(), 296 EXPECT_CALL(*mock_find_file_delegate.get(),
292 OnEnterDirectory(FilePath("gdata"), _)) 297 OnEnterDirectory(FilePath(FILE_PATH_LITERAL("gdata")), _))
293 .Times(1) 298 .Times(1)
294 .WillOnce(Return(FindFileDelegate::FIND_FILE_TERMINATES)); 299 .WillOnce(Return(FindFileDelegate::FIND_FILE_TERMINATES));
295 300
296 file_system_->FindFileByPath(FilePath("gdata/Directory 1"), 301 file_system_->FindFileByPath(FilePath(FILE_PATH_LITERAL("gdata/Directory 1")),
297 mock_find_file_delegate); 302 mock_find_file_delegate);
298 } 303 }
299 304
300 TEST_F(GDataFileSystemTest, SearchInSubdir) { 305 TEST_F(GDataFileSystemTest, SearchInSubdir) {
301 LoadRootFeedDocument("root_feed.json"); 306 LoadRootFeedDocument("root_feed.json");
302 LoadSubdirFeedDocument(FilePath("gdata/Directory 1"), "subdir_feed.json"); 307 LoadSubdirFeedDocument(FilePath(FILE_PATH_LITERAL("gdata/Directory 1")),
308 "subdir_feed.json");
303 309
304 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate = 310 scoped_refptr<MockFindFileDelegate> mock_find_file_delegate =
305 new MockFindFileDelegate(); 311 new MockFindFileDelegate();
306 312
307 EXPECT_CALL(*mock_find_file_delegate.get(), 313 EXPECT_CALL(*mock_find_file_delegate.get(),
308 OnEnterDirectory(FilePath("gdata"), _)) 314 OnEnterDirectory(FilePath(FILE_PATH_LITERAL("gdata")), _))
309 .Times(1) 315 .Times(1)
310 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES)); 316 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES));
311 317
312 EXPECT_CALL(*mock_find_file_delegate.get(), 318 EXPECT_CALL(*mock_find_file_delegate.get(),
313 OnEnterDirectory(FilePath("gdata/Directory 1"), _)) 319 OnEnterDirectory(FilePath(FILE_PATH_LITERAL("gdata/Directory 1")),
320 _))
314 .Times(1) 321 .Times(1)
315 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES)); 322 .WillOnce(Return(FindFileDelegate::FIND_FILE_CONTINUES));
316 323
317 EXPECT_CALL(*mock_find_file_delegate.get(), OnFileFound(_)) 324 EXPECT_CALL(*mock_find_file_delegate.get(), OnFileFound(_))
318 .Times(1); 325 .Times(1);
319 326
320 file_system_->FindFileByPath( 327 file_system_->FindFileByPath(
321 FilePath("gdata/Directory 1/SubDirectory File 1.txt"), 328 FilePath(FILE_PATH_LITERAL("gdata/Directory 1/SubDirectory File 1.txt")),
322 mock_find_file_delegate); 329 mock_find_file_delegate);
323 } 330 }
324 331
325 TEST_F(GDataFileSystemTest, FilePathTests) { 332 TEST_F(GDataFileSystemTest, FilePathTests) {
326 LoadRootFeedDocument("root_feed.json"); 333 LoadRootFeedDocument("root_feed.json");
327 LoadSubdirFeedDocument(FilePath("gdata/Directory 1"), "subdir_feed.json"); 334 LoadSubdirFeedDocument(FilePath(FILE_PATH_LITERAL("gdata/Directory 1")),
335 "subdir_feed.json");
328 336
329 FindAndTestFilePath(FilePath("gdata/File 1.txt")); 337 FindAndTestFilePath(FilePath(FILE_PATH_LITERAL("gdata/File 1.txt")));
330 FindAndTestFilePath(FilePath("gdata/Directory 1")); 338 FindAndTestFilePath(FilePath(FILE_PATH_LITERAL("gdata/Directory 1")));
331 FindAndTestFilePath(FilePath("gdata/Directory 1/SubDirectory File 1.txt")); 339 FindAndTestFilePath(
340 FilePath(FILE_PATH_LITERAL("gdata/Directory 1/SubDirectory File 1.txt")));
332 } 341 }
333 342
334 TEST_F(GDataFileSystemTest, RemoveFiles) { 343 TEST_F(GDataFileSystemTest, RemoveFiles) {
335 LoadRootFeedDocument("root_feed.json"); 344 LoadRootFeedDocument("root_feed.json");
336 LoadSubdirFeedDocument(FilePath("gdata/Directory 1"), "subdir_feed.json"); 345 LoadSubdirFeedDocument(FilePath(FILE_PATH_LITERAL("gdata/Directory 1")),
346 "subdir_feed.json");
337 347
338 FilePath nonexisting_file("gdata/Dummy file.txt"); 348 FilePath nonexisting_file(FILE_PATH_LITERAL("gdata/Dummy file.txt"));
339 FilePath file_in_root("gdata/File 1.txt"); 349 FilePath file_in_root(FILE_PATH_LITERAL("gdata/File 1.txt"));
340 FilePath dir_in_root("gdata/Directory 1"); 350 FilePath dir_in_root(FILE_PATH_LITERAL("gdata/Directory 1"));
341 FilePath file_in_subdir("gdata/Directory 1/SubDirectory File 1.txt"); 351 FilePath file_in_subdir(
352 FILE_PATH_LITERAL("gdata/Directory 1/SubDirectory File 1.txt"));
342 353
343 EXPECT_TRUE(FindFile(file_in_root) != NULL); 354 EXPECT_TRUE(FindFile(file_in_root) != NULL);
344 EXPECT_TRUE(FindFile(dir_in_root) != NULL); 355 EXPECT_TRUE(FindFile(dir_in_root) != NULL);
345 EXPECT_TRUE(FindFile(file_in_subdir) != NULL); 356 EXPECT_TRUE(FindFile(file_in_subdir) != NULL);
346 357
347 // Remove first file in root. 358 // Remove first file in root.
348 EXPECT_TRUE(RemoveFile(file_in_root)); 359 EXPECT_TRUE(RemoveFile(file_in_root));
349 EXPECT_TRUE(FindFile(file_in_root) == NULL); 360 EXPECT_TRUE(FindFile(file_in_root) == NULL);
350 EXPECT_TRUE(FindFile(dir_in_root) != NULL); 361 EXPECT_TRUE(FindFile(dir_in_root) != NULL);
351 EXPECT_TRUE(FindFile(file_in_subdir) != NULL); 362 EXPECT_TRUE(FindFile(file_in_subdir) != NULL);
352 363
353 // Remove directory. 364 // Remove directory.
354 EXPECT_TRUE(RemoveFile(dir_in_root)); 365 EXPECT_TRUE(RemoveFile(dir_in_root));
355 EXPECT_TRUE(FindFile(file_in_root) == NULL); 366 EXPECT_TRUE(FindFile(file_in_root) == NULL);
356 EXPECT_TRUE(FindFile(dir_in_root) == NULL); 367 EXPECT_TRUE(FindFile(dir_in_root) == NULL);
357 EXPECT_TRUE(FindFile(file_in_subdir) == NULL); 368 EXPECT_TRUE(FindFile(file_in_subdir) == NULL);
358 369
359 // Try removing file in already removed subdirectory. 370 // Try removing file in already removed subdirectory.
360 EXPECT_FALSE(RemoveFile(file_in_subdir)); 371 EXPECT_FALSE(RemoveFile(file_in_subdir));
361 372
362 // Try removing non-existing file. 373 // Try removing non-existing file.
363 EXPECT_FALSE(RemoveFile(nonexisting_file)); 374 EXPECT_FALSE(RemoveFile(nonexisting_file));
364 375
365 // Try removing root file element. 376 // Try removing root file element.
366 EXPECT_FALSE(RemoveFile(FilePath("gdata"))); 377 EXPECT_FALSE(RemoveFile(FilePath(FILE_PATH_LITERAL("gdata"))));
367 } 378 }
368 379
369
370 TEST_F(GDataFileSystemTest, CreateDirectory) { 380 TEST_F(GDataFileSystemTest, CreateDirectory) {
371 LoadRootFeedDocument("root_feed.json"); 381 LoadRootFeedDocument("root_feed.json");
372 LoadSubdirFeedDocument(FilePath("gdata/Directory 1"), "subdir_feed.json"); 382 LoadSubdirFeedDocument(FilePath(FILE_PATH_LITERAL("gdata/Directory 1")),
383 "subdir_feed.json");
373 384
374 // Create directory in root. 385 // Create directory in root.
375 FilePath dir_path("gdata/New Folder 1"); 386 FilePath dir_path(FILE_PATH_LITERAL("gdata/New Folder 1"));
376 EXPECT_TRUE(FindFile(dir_path) == NULL); 387 EXPECT_TRUE(FindFile(dir_path) == NULL);
377 AddDirectoryFromFile(dir_path, "directory_entry_atom.json"); 388 AddDirectoryFromFile(dir_path, "directory_entry_atom.json");
378 EXPECT_TRUE(FindFile(dir_path) != NULL); 389 EXPECT_TRUE(FindFile(dir_path) != NULL);
379 390
380 // Create directory in a sub dirrectory. 391 // Create directory in a sub dirrectory.
381 FilePath subdir_path("gdata/New Folder 1/New Folder 2"); 392 FilePath subdir_path(FILE_PATH_LITERAL("gdata/New Folder 1/New Folder 2"));
382 EXPECT_TRUE(FindFile(subdir_path) == NULL); 393 EXPECT_TRUE(FindFile(subdir_path) == NULL);
383 AddDirectoryFromFile(subdir_path, "directory_entry_atom.json"); 394 AddDirectoryFromFile(subdir_path, "directory_entry_atom.json");
384 EXPECT_TRUE(FindFile(subdir_path) != NULL); 395 EXPECT_TRUE(FindFile(subdir_path) != NULL);
385 } 396 }
386 397
387 TEST_F(GDataFileSystemTest, FindFirstMissingParentDirectory) { 398 TEST_F(GDataFileSystemTest, FindFirstMissingParentDirectory) {
388 LoadRootFeedDocument("root_feed.json"); 399 LoadRootFeedDocument("root_feed.json");
389 LoadSubdirFeedDocument(FilePath("gdata/Directory 1"), "subdir_feed.json"); 400 LoadSubdirFeedDocument(FilePath(FILE_PATH_LITERAL("gdata/Directory 1")),
401 "subdir_feed.json");
390 402
391 GURL last_dir_content_url; 403 GURL last_dir_content_url;
392 FilePath first_missing_parent_path; 404 FilePath first_missing_parent_path;
393 405
394 // Create directory in root. 406 // Create directory in root.
395 FilePath dir_path("gdata/New Folder 1"); 407 FilePath dir_path(FILE_PATH_LITERAL("gdata/New Folder 1"));
396 EXPECT_EQ( 408 EXPECT_EQ(
409 GDataFileSystem::FOUND_MISSING,
397 file_system_->FindFirstMissingParentDirectory(dir_path, 410 file_system_->FindFirstMissingParentDirectory(dir_path,
398 &last_dir_content_url, 411 &last_dir_content_url,
399 &first_missing_parent_path), 412 &first_missing_parent_path));
400 GDataFileSystem::FOUND_MISSING); 413 EXPECT_EQ(FilePath(FILE_PATH_LITERAL("gdata/New Folder 1")),
401 EXPECT_EQ(dir_path, first_missing_parent_path); 414 first_missing_parent_path);
402 EXPECT_TRUE(last_dir_content_url.is_empty()); // root directory. 415 EXPECT_TRUE(last_dir_content_url.is_empty()); // root directory.
403 416
404 // Missing folders in subdir of an existing folder. 417 // Missing folders in subdir of an existing folder.
405 FilePath dir_path2("gdata/Directory 1/New Folder 2"); 418 FilePath dir_path2(FILE_PATH_LITERAL("gdata/Directory 1/New Folder 2"));
406 EXPECT_EQ( 419 EXPECT_EQ(
420 GDataFileSystem::FOUND_MISSING,
407 file_system_->FindFirstMissingParentDirectory(dir_path2, 421 file_system_->FindFirstMissingParentDirectory(dir_path2,
408 &last_dir_content_url, 422 &last_dir_content_url,
409 &first_missing_parent_path), 423 &first_missing_parent_path));
410 GDataFileSystem::FOUND_MISSING); 424 EXPECT_EQ(FilePath(FILE_PATH_LITERAL("gdata/Directory 1/New Folder 2")),
411 EXPECT_EQ(dir_path2, first_missing_parent_path); 425 first_missing_parent_path);
412 EXPECT_FALSE(last_dir_content_url.is_empty()); // non-root directory. 426 EXPECT_FALSE(last_dir_content_url.is_empty()); // non-root directory.
413 427
414 // Missing two folders on the path. 428 // Missing two folders on the path.
415 FilePath dir_path3 = dir_path2.Append("Another Foder"); 429 FilePath dir_path3 = dir_path2.Append(FILE_PATH_LITERAL("Another Foder"));
416 EXPECT_EQ( 430 EXPECT_EQ(
431 GDataFileSystem::FOUND_MISSING,
417 file_system_->FindFirstMissingParentDirectory(dir_path3, 432 file_system_->FindFirstMissingParentDirectory(dir_path3,
418 &last_dir_content_url, 433 &last_dir_content_url,
419 &first_missing_parent_path), 434 &first_missing_parent_path));
420 GDataFileSystem::FOUND_MISSING); 435 EXPECT_EQ(FilePath(FILE_PATH_LITERAL("gdata/Directory 1/New Folder 2")),
421 EXPECT_EQ(dir_path3.DirName(), first_missing_parent_path); 436 first_missing_parent_path);
422 EXPECT_FALSE(last_dir_content_url.is_empty()); // non-root directory. 437 EXPECT_FALSE(last_dir_content_url.is_empty()); // non-root directory.
423 438
424 // Folders on top of an existing file. 439 // Folders on top of an existing file.
425 EXPECT_EQ( 440 EXPECT_EQ(
441 GDataFileSystem::FOUND_INVALID,
426 file_system_->FindFirstMissingParentDirectory( 442 file_system_->FindFirstMissingParentDirectory(
427 FilePath("gdata/File 1.txt/BadDir"), 443 FilePath(FILE_PATH_LITERAL("gdata/File 1.txt/BadDir")),
428 &last_dir_content_url, 444 &last_dir_content_url,
429 &first_missing_parent_path), 445 &first_missing_parent_path));
430 GDataFileSystem::FOUND_INVALID);
431 446
432 // Existing folder. 447 // Existing folder.
433 EXPECT_EQ( 448 EXPECT_EQ(
449 GDataFileSystem::DIRECTORY_ALREADY_PRESENT,
434 file_system_->FindFirstMissingParentDirectory( 450 file_system_->FindFirstMissingParentDirectory(
435 FilePath("gdata/Directory 1"), 451 FilePath(FILE_PATH_LITERAL("gdata/Directory 1")),
436 &last_dir_content_url, 452 &last_dir_content_url,
437 &first_missing_parent_path), 453 &first_missing_parent_path));
438 GDataFileSystem::DIRECTORY_ALREADY_PRESENT);
439 } 454 }
440 455
441 } // namespace gdata 456 } // namespace gdata
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/gdata/gdata_file_system_proxy.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698