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

Side by Side Diff: chrome/browser/media_galleries/fileapi/picasa/picasa_file_util_unittest.cc

Issue 15653004: Picasa import: Make NativeMediaFileUtil an AsyncFileUtil (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Restore a test 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 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 <set> 5 #include <set>
6 #include <string> 6 #include <string>
7 7
8 #include "base/file_util.h" 8 #include "base/file_util.h"
9 #include "base/files/scoped_temp_dir.h" 9 #include "base/files/scoped_temp_dir.h"
10 #include "base/memory/scoped_vector.h" 10 #include "base/memory/scoped_vector.h"
11 #include "base/message_loop.h" 11 #include "base/message_loop.h"
12 #include "base/stringprintf.h" 12 #include "base/stringprintf.h"
13 #include "base/time.h" 13 #include "base/time.h"
14 #include "chrome/browser/media_galleries/fileapi/async_file_util_test_helper.h"
14 #include "chrome/browser/media_galleries/fileapi/media_file_system_mount_point_p rovider.h" 15 #include "chrome/browser/media_galleries/fileapi/media_file_system_mount_point_p rovider.h"
15 #include "chrome/browser/media_galleries/fileapi/media_path_filter.h" 16 #include "chrome/browser/media_galleries/fileapi/media_path_filter.h"
16 #include "chrome/browser/media_galleries/fileapi/picasa/picasa_album_table_reade r.h" 17 #include "chrome/browser/media_galleries/fileapi/picasa/picasa_album_table_reade r.h"
17 #include "chrome/browser/media_galleries/fileapi/picasa/picasa_data_provider.h" 18 #include "chrome/browser/media_galleries/fileapi/picasa/picasa_data_provider.h"
18 #include "chrome/browser/media_galleries/fileapi/picasa/picasa_file_util.h" 19 #include "chrome/browser/media_galleries/fileapi/picasa/picasa_file_util.h"
19 #include "chrome/browser/media_galleries/fileapi/picasa/pmp_constants.h" 20 #include "chrome/browser/media_galleries/fileapi/picasa/pmp_constants.h"
20 #include "chrome/browser/media_galleries/fileapi/picasa/pmp_test_helper.h" 21 #include "chrome/browser/media_galleries/fileapi/picasa/pmp_test_helper.h"
21 #include "testing/gtest/include/gtest/gtest.h" 22 #include "testing/gtest/include/gtest/gtest.h"
22 #include "webkit/browser/fileapi/async_file_util_adapter.h" 23 #include "webkit/browser/fileapi/async_file_util_adapter.h"
23 #include "webkit/browser/fileapi/external_mount_points.h" 24 #include "webkit/browser/fileapi/external_mount_points.h"
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 } 140 }
140 141
141 scoped_ptr<PicasaDataProvider> data_provider_; 142 scoped_ptr<PicasaDataProvider> data_provider_;
142 }; 143 };
143 144
144 class TestMediaFileSystemMountPointProvider 145 class TestMediaFileSystemMountPointProvider
145 : public chrome::MediaFileSystemMountPointProvider { 146 : public chrome::MediaFileSystemMountPointProvider {
146 public: 147 public:
147 TestMediaFileSystemMountPointProvider( 148 TestMediaFileSystemMountPointProvider(
148 const base::FilePath& profile_path, 149 const base::FilePath& profile_path,
149 scoped_ptr<PicasaFileUtil> picasa_file_util) 150 PicasaFileUtil* picasa_file_util)
150 : chrome::MediaFileSystemMountPointProvider(profile_path), 151 : chrome::MediaFileSystemMountPointProvider(profile_path),
151 test_file_util_(new fileapi::AsyncFileUtilAdapter( 152 test_file_util_(picasa_file_util) {
152 picasa_file_util.release())) {
153 } 153 }
154 154
155 virtual fileapi::AsyncFileUtil* 155 virtual fileapi::AsyncFileUtil*
156 GetAsyncFileUtil(fileapi::FileSystemType type) OVERRIDE { 156 GetAsyncFileUtil(fileapi::FileSystemType type) OVERRIDE {
157 if (type != fileapi::kFileSystemTypePicasa) 157 if (type != fileapi::kFileSystemTypePicasa)
158 return NULL; 158 return NULL;
159 159
160 return test_file_util_.get(); 160 return test_file_util_.get();
161 } 161 }
162 162
(...skipping 16 matching lines...) Expand all
179 public: 179 public:
180 PicasaFileUtilTest() {} 180 PicasaFileUtilTest() {}
181 virtual ~PicasaFileUtilTest() {} 181 virtual ~PicasaFileUtilTest() {}
182 182
183 virtual void SetUp() OVERRIDE { 183 virtual void SetUp() OVERRIDE {
184 test_helper_.reset(new PmpTestHelper(kPicasaAlbumTableName)); 184 test_helper_.reset(new PmpTestHelper(kPicasaAlbumTableName));
185 ASSERT_TRUE(test_helper_->Init()); 185 ASSERT_TRUE(test_helper_->Init());
186 186
187 scoped_ptr<PicasaDataProvider> data_provider( 187 scoped_ptr<PicasaDataProvider> data_provider(
188 new PicasaDataProvider(test_helper_->GetTempDirPath())); 188 new PicasaDataProvider(test_helper_->GetTempDirPath()));
189 scoped_ptr<PicasaFileUtil> file_util(new TestPicasaFileUtil(
190 data_provider.Pass()));
191 189
192 ASSERT_TRUE(profile_dir_.CreateUniqueTempDir()); 190 ASSERT_TRUE(profile_dir_.CreateUniqueTempDir());
193 191
194 scoped_refptr<quota::SpecialStoragePolicy> storage_policy = 192 scoped_refptr<quota::SpecialStoragePolicy> storage_policy =
195 new quota::MockSpecialStoragePolicy(); 193 new quota::MockSpecialStoragePolicy();
196 194
197 ScopedVector<fileapi::FileSystemMountPointProvider> additional_providers; 195 ScopedVector<fileapi::FileSystemMountPointProvider> additional_providers;
198 additional_providers.push_back( 196 additional_providers.push_back(new TestMediaFileSystemMountPointProvider(
199 new TestMediaFileSystemMountPointProvider(profile_dir_.path(), 197 profile_dir_.path(),
200 file_util.Pass())); 198 new TestPicasaFileUtil(data_provider.Pass())));
201 199
202 file_system_context_ = new fileapi::FileSystemContext( 200 file_system_context_ = new fileapi::FileSystemContext(
203 fileapi::FileSystemTaskRunners::CreateMockTaskRunners(), 201 fileapi::FileSystemTaskRunners::CreateMockTaskRunners(),
204 fileapi::ExternalMountPoints::CreateRefCounted().get(), 202 fileapi::ExternalMountPoints::CreateRefCounted().get(),
205 storage_policy, 203 storage_policy,
206 NULL, 204 NULL,
207 additional_providers.Pass(), 205 additional_providers.Pass(),
208 profile_dir_.path(), 206 profile_dir_.path(),
209 fileapi::CreateAllowFileAccessOptions()); 207 fileapi::CreateAllowFileAccessOptions());
210 } 208 }
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 378
381 scoped_ptr<chrome::MediaPathFilter> media_path_filter( 379 scoped_ptr<chrome::MediaPathFilter> media_path_filter(
382 new chrome::MediaPathFilter()); 380 new chrome::MediaPathFilter());
383 381
384 operation_context->SetUserValue( 382 operation_context->SetUserValue(
385 chrome::MediaFileSystemMountPointProvider::kMediaPathFilterKey, 383 chrome::MediaFileSystemMountPointProvider::kMediaPathFilterKey,
386 media_path_filter.get()); 384 media_path_filter.get());
387 385
388 scoped_ptr<PicasaDataProvider> data_provider( 386 scoped_ptr<PicasaDataProvider> data_provider(
389 new TestPicasaDataProvider(std::vector<AlbumInfo>(), folders)); 387 new TestPicasaDataProvider(std::vector<AlbumInfo>(), folders));
390 TestPicasaFileUtil file_util(data_provider.Pass()); 388 chrome::AsyncFileUtilTestHelper test_file_util(
389 new TestPicasaFileUtil(data_provider.Pass()));
391 390
392 scoped_ptr<FileSystemFileUtil::AbstractFileEnumerator> file_enumerator = 391 fileapi::AsyncFileUtil::EntryList file_list;
393 file_util.CreateFileEnumerator(operation_context.get(), 392 bool has_more = false;
394 CreateURL("folders")); 393 base::PlatformFileError error = test_file_util.ReadDirectorySync(
394 operation_context.get(),
395 CreateURL(kPicasaDirFolders),
396 &file_list,
397 &has_more);
398 ASSERT_EQ(error, base::PLATFORM_FILE_OK);
395 399
396 for (unsigned int i = 0; i < expected_names.size(); ++i) { 400 for (size_t i = 0; i < file_list.size(); ++i) {
397 base::FilePath path = file_enumerator->Next(); 401 ASSERT_FALSE(file_list[i].name.empty());
398 402 EXPECT_EQ(expected_names[i],
399 ASSERT_TRUE(!path.empty()); 403 base::FilePath(file_list[i].name).AsUTF8Unsafe());
400 EXPECT_EQ(expected_names[i], path.BaseName().AsUTF8Unsafe()); 404 EXPECT_EQ(folders[i].timestamp, file_list[i].last_modified_time);
401 EXPECT_EQ(folders[i].timestamp, file_enumerator->LastModifiedTime()); 405 EXPECT_TRUE(file_list[i].is_directory);
402 EXPECT_TRUE(file_enumerator->IsDirectory());
403 } 406 }
404 } 407 }
405 408
406 TEST_F(PicasaFileUtilTest, RootFolders) { 409 TEST_F(PicasaFileUtilTest, RootFolders) {
407 FileSystemOperation::FileEntryList contents; 410 FileSystemOperation::FileEntryList contents;
408 FileSystemURL url = CreateURL(""); 411 FileSystemURL url = CreateURL("");
409 bool completed = false; 412 bool completed = false;
410 NewOperation(url)->ReadDirectory( 413 NewOperation(url)->ReadDirectory(
411 url, base::Bind(&DidReadDirectory, &contents, &completed)); 414 url, base::Bind(&DidReadDirectory, &contents, &completed));
412 base::MessageLoop::current()->RunUntilIdle(); 415 base::MessageLoop::current()->RunUntilIdle();
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
474 new TestFolder(base::StringPrintf("folder-%05d", i), 477 new TestFolder(base::StringPrintf("folder-%05d", i),
475 date, 478 date,
476 base::StringPrintf("uid%05d", i), i % 5, i % 3)); 479 base::StringPrintf("uid%05d", i), i % 5, i % 3));
477 } 480 }
478 481
479 SetupFolders(&test_folders); 482 SetupFolders(&test_folders);
480 VerifyFolderDirectoryList(test_folders); 483 VerifyFolderDirectoryList(test_folders);
481 } 484 }
482 485
483 } // namespace chrome 486 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698