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

Side by Side Diff: content/browser/fileapi/dragged_file_util_unittest.cc

Issue 1432403003: Do not call stat() when reading directories via File API. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed FSP tests. Created 5 years, 1 month 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 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 #include <map> 5 #include <map>
6 #include <queue> 6 #include <queue>
7 #include <set> 7 #include <set>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 base::FilePath dir_path = GetTestCasePlatformPath(test_case.path); 367 base::FilePath dir_path = GetTestCasePlatformPath(test_case.path);
368 base::FileEnumerator file_enum( 368 base::FileEnumerator file_enum(
369 dir_path, false /* not recursive */, 369 dir_path, false /* not recursive */,
370 base::FileEnumerator::FILES | base::FileEnumerator::DIRECTORIES); 370 base::FileEnumerator::FILES | base::FileEnumerator::DIRECTORIES);
371 base::FilePath current; 371 base::FilePath current;
372 while (!(current = file_enum.Next()).empty()) { 372 while (!(current = file_enum.Next()).empty()) {
373 base::FileEnumerator::FileInfo file_info = file_enum.GetInfo(); 373 base::FileEnumerator::FileInfo file_info = file_enum.GetInfo();
374 storage::DirectoryEntry entry; 374 storage::DirectoryEntry entry;
375 entry.is_directory = file_info.IsDirectory(); 375 entry.is_directory = file_info.IsDirectory();
376 entry.name = current.BaseName().value(); 376 entry.name = current.BaseName().value();
377 entry.size = file_info.GetSize();
378 entry.last_modified_time = file_info.GetLastModifiedTime();
379 expected_entry_map[entry.name] = entry; 377 expected_entry_map[entry.name] = entry;
380 378
381 #if defined(OS_POSIX) 379 #if defined(OS_POSIX)
382 // Creates a symlink for each file/directory. 380 // Creates a symlink for each file/directory.
383 // They should be ignored by ReadDirectory, so we don't add them 381 // They should be ignored by ReadDirectory, so we don't add them
384 // to expected_entry_map. 382 // to expected_entry_map.
385 base::CreateSymbolicLink( 383 base::CreateSymbolicLink(
386 current, 384 current,
387 dir_path.Append(current.BaseName().AddExtension( 385 dir_path.Append(current.BaseName().AddExtension(
388 FILE_PATH_LITERAL("link")))); 386 FILE_PATH_LITERAL("link"))));
389 #endif 387 #endif
390 } 388 }
391 389
392 // Perform ReadDirectory in the isolated filesystem. 390 // Perform ReadDirectory in the isolated filesystem.
393 FileSystemURL url = GetFileSystemURL(base::FilePath(test_case.path)); 391 FileSystemURL url = GetFileSystemURL(base::FilePath(test_case.path));
394 FileEntryList entries; 392 FileEntryList entries;
395 ASSERT_EQ(base::File::FILE_OK, 393 ASSERT_EQ(base::File::FILE_OK,
396 AsyncFileTestHelper::ReadDirectory( 394 AsyncFileTestHelper::ReadDirectory(
397 file_system_context(), url, &entries)); 395 file_system_context(), url, &entries));
398 396
399 EXPECT_EQ(expected_entry_map.size(), entries.size()); 397 EXPECT_EQ(expected_entry_map.size(), entries.size());
400 for (size_t i = 0; i < entries.size(); ++i) { 398 for (size_t i = 0; i < entries.size(); ++i) {
401 const storage::DirectoryEntry& entry = entries[i]; 399 const storage::DirectoryEntry& entry = entries[i];
402 EntryMap::iterator found = expected_entry_map.find(entry.name); 400 EntryMap::iterator found = expected_entry_map.find(entry.name);
403 EXPECT_TRUE(found != expected_entry_map.end()); 401 EXPECT_TRUE(found != expected_entry_map.end());
404 EXPECT_EQ(found->second.name, entry.name); 402 EXPECT_EQ(found->second.name, entry.name);
405 EXPECT_EQ(found->second.is_directory, entry.is_directory); 403 EXPECT_EQ(found->second.is_directory, entry.is_directory);
406 EXPECT_EQ(found->second.size, entry.size);
407 EXPECT_EQ(found->second.last_modified_time.ToDoubleT(),
408 entry.last_modified_time.ToDoubleT());
409 } 404 }
410 } 405 }
411 } 406 }
412 407
413 TEST_F(DraggedFileUtilTest, GetLocalFilePathTest) { 408 TEST_F(DraggedFileUtilTest, GetLocalFilePathTest) {
414 for (size_t i = 0; i < kRegularFileSystemTestCaseSize; ++i) { 409 for (size_t i = 0; i < kRegularFileSystemTestCaseSize; ++i) {
415 const FileSystemTestCaseRecord& test_case = 410 const FileSystemTestCaseRecord& test_case =
416 kRegularFileSystemTestCases[i]; 411 kRegularFileSystemTestCases[i];
417 FileSystemURL url = GetFileSystemURL(base::FilePath(test_case.path)); 412 FileSystemURL url = GetFileSystemURL(base::FilePath(test_case.path));
418 413
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
547 EXPECT_EQ(base::File::FILE_OK, 542 EXPECT_EQ(base::File::FILE_OK,
548 file_util()->Truncate(GetOperationContext().get(), url, 999)); 543 file_util()->Truncate(GetOperationContext().get(), url, 999));
549 ASSERT_EQ(base::File::FILE_OK, 544 ASSERT_EQ(base::File::FILE_OK,
550 file_util()->GetFileInfo(GetOperationContext().get(), url, 545 file_util()->GetFileInfo(GetOperationContext().get(), url,
551 &info, &platform_path)); 546 &info, &platform_path));
552 EXPECT_EQ(999, info.size); 547 EXPECT_EQ(999, info.size);
553 } 548 }
554 } 549 }
555 550
556 } // namespace content 551 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698