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

Unified Diff: chrome/browser/media_galleries/fileapi/picasa/picasa_file_util_unittest.cc

Issue 16304002: Make NativeMediaFileUtil an AsyncFileUtil (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Remove debug statement Created 7 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/media_galleries/fileapi/picasa/picasa_file_util.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/media_galleries/fileapi/picasa/picasa_file_util_unittest.cc
diff --git a/chrome/browser/media_galleries/fileapi/picasa/picasa_file_util_unittest.cc b/chrome/browser/media_galleries/fileapi/picasa/picasa_file_util_unittest.cc
index 0eb1c24c47763c2f8f59fa071be150b6d1b1db36..5df638f65e57232fdc6867367a3bbb9f90a20958 100644
--- a/chrome/browser/media_galleries/fileapi/picasa/picasa_file_util_unittest.cc
+++ b/chrome/browser/media_galleries/fileapi/picasa/picasa_file_util_unittest.cc
@@ -9,6 +9,7 @@
#include "base/files/scoped_temp_dir.h"
#include "base/memory/scoped_vector.h"
#include "base/message_loop.h"
+#include "base/run_loop.h"
#include "base/stringprintf.h"
#include "base/time.h"
#include "chrome/browser/media_galleries/fileapi/media_file_system_mount_point_provider.h"
@@ -18,6 +19,7 @@
#include "chrome/browser/media_galleries/fileapi/picasa/picasa_file_util.h"
#include "chrome/browser/media_galleries/fileapi/picasa/pmp_constants.h"
#include "chrome/browser/media_galleries/fileapi/picasa/pmp_test_helper.h"
+#include "content/public/test/test_browser_thread.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "webkit/browser/fileapi/async_file_util_adapter.h"
#include "webkit/browser/fileapi/external_mount_points.h"
@@ -146,10 +148,9 @@ class TestMediaFileSystemMountPointProvider
public:
TestMediaFileSystemMountPointProvider(
const base::FilePath& profile_path,
- scoped_ptr<PicasaFileUtil> picasa_file_util)
+ PicasaFileUtil* picasa_file_util)
: chrome::MediaFileSystemMountPointProvider(profile_path),
- test_file_util_(new fileapi::AsyncFileUtilAdapter(
- picasa_file_util.release())) {
+ test_file_util_(picasa_file_util) {
}
virtual fileapi::AsyncFileUtil*
@@ -173,11 +174,42 @@ void DidReadDirectory(FileSystemOperation::FileEntryList* contents,
*contents = file_list;
}
+void ReadDirectoryTestCallback(
+ base::RunLoop* run_loop,
+ base::PlatformFileError* error_result,
+ fileapi::AsyncFileUtil::EntryList* file_list_result,
+ base::PlatformFileError error,
+ const fileapi::AsyncFileUtil::EntryList& file_list,
+ bool /*has_more*/) {
+ DCHECK(error_result);
+ DCHECK(file_list_result);
+ *error_result = error;
+ *file_list_result = file_list;
+ run_loop->Quit();
+}
+
+base::PlatformFileError ReadDirectoryTestHelper(
+ fileapi::AsyncFileUtil* file_util,
+ FileSystemOperationContext* operation_context,
+ FileSystemURL url,
+ fileapi::AsyncFileUtil::EntryList* file_list) {
+ base::RunLoop run_loop;
+ base::PlatformFileError result;
+ file_util->ReadDirectory(
+ operation_context,
+ url,
+ base::Bind(&ReadDirectoryTestCallback, &run_loop, &result, file_list));
+ run_loop.Run();
+ return result;
+}
+
} // namespace
class PicasaFileUtilTest : public testing::Test {
public:
- PicasaFileUtilTest() {}
+ PicasaFileUtilTest()
+ : io_thread_(content::BrowserThread::IO, &message_loop_) {
+ }
virtual ~PicasaFileUtilTest() {}
virtual void SetUp() OVERRIDE {
@@ -186,8 +218,6 @@ class PicasaFileUtilTest : public testing::Test {
scoped_ptr<PicasaDataProvider> data_provider(
new PicasaDataProvider(test_helper_->GetTempDirPath()));
- scoped_ptr<PicasaFileUtil> file_util(new TestPicasaFileUtil(
- data_provider.Pass()));
ASSERT_TRUE(profile_dir_.CreateUniqueTempDir());
@@ -195,9 +225,9 @@ class PicasaFileUtilTest : public testing::Test {
new quota::MockSpecialStoragePolicy();
ScopedVector<fileapi::FileSystemMountPointProvider> additional_providers;
- additional_providers.push_back(
- new TestMediaFileSystemMountPointProvider(profile_dir_.path(),
- file_util.Pass()));
+ additional_providers.push_back(new TestMediaFileSystemMountPointProvider(
+ profile_dir_.path(),
+ new TestPicasaFileUtil(data_provider.Pass())));
file_system_context_ = new fileapi::FileSystemContext(
fileapi::FileSystemTaskRunners::CreateMockTaskRunners(),
@@ -325,6 +355,7 @@ class PicasaFileUtilTest : public testing::Test {
private:
base::MessageLoop message_loop_;
+ content::TestBrowserThread io_thread_;
base::ScopedTempDir profile_dir_;
@@ -375,31 +406,31 @@ TEST_F(PicasaFileUtilTest, NameDeduplication) {
AlbumInfo("unique_name", test_date, "uuid1", base::FilePath()));
expected_names.push_back("unique_name " + test_date_string);
- scoped_ptr<FileSystemOperationContext> operation_context(
- new FileSystemOperationContext(file_system_context().get()));
+ FileSystemOperationContext operation_context(file_system_context().get());
scoped_ptr<chrome::MediaPathFilter> media_path_filter(
new chrome::MediaPathFilter());
- operation_context->SetUserValue(
+ operation_context.SetUserValue(
chrome::MediaFileSystemMountPointProvider::kMediaPathFilterKey,
media_path_filter.get());
scoped_ptr<PicasaDataProvider> data_provider(
new TestPicasaDataProvider(std::vector<AlbumInfo>(), folders));
- TestPicasaFileUtil file_util(data_provider.Pass());
-
- scoped_ptr<FileSystemFileUtil::AbstractFileEnumerator> file_enumerator =
- file_util.CreateFileEnumerator(operation_context.get(),
- CreateURL("folders"));
-
- for (unsigned int i = 0; i < expected_names.size(); ++i) {
- base::FilePath path = file_enumerator->Next();
-
- ASSERT_TRUE(!path.empty());
- EXPECT_EQ(expected_names[i], path.BaseName().AsUTF8Unsafe());
- EXPECT_EQ(folders[i].timestamp, file_enumerator->LastModifiedTime());
- EXPECT_TRUE(file_enumerator->IsDirectory());
+ TestPicasaFileUtil test_file_util(data_provider.Pass());
+
+ fileapi::AsyncFileUtil::EntryList file_list;
+ ASSERT_EQ(base::PLATFORM_FILE_OK,
+ ReadDirectoryTestHelper(&test_file_util, &operation_context,
+ CreateURL(kPicasaDirFolders),
+ &file_list));
+
+ ASSERT_EQ(expected_names.size(), file_list.size());
+ for (size_t i = 0; i < file_list.size(); ++i) {
+ EXPECT_EQ(expected_names[i],
+ base::FilePath(file_list[i].name).AsUTF8Unsafe());
+ EXPECT_EQ(folders[i].timestamp, file_list[i].last_modified_time);
+ EXPECT_TRUE(file_list[i].is_directory);
}
}
« no previous file with comments | « chrome/browser/media_galleries/fileapi/picasa/picasa_file_util.cc ('k') | chrome/chrome_browser.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698