| OLD | NEW |
| 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 #include <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/bind_helpers.h" | 9 #include "base/bind_helpers.h" |
| 10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
| (...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 152 DCHECK(completed); | 152 DCHECK(completed); |
| 153 base::RunLoop run_loop; | 153 base::RunLoop run_loop; |
| 154 runner->ReadDirectory( | 154 runner->ReadDirectory( |
| 155 url, base::Bind(&ReadDirectoryTestHelperCallback, &run_loop, contents, | 155 url, base::Bind(&ReadDirectoryTestHelperCallback, &run_loop, contents, |
| 156 completed)); | 156 completed)); |
| 157 run_loop.Run(); | 157 run_loop.Run(); |
| 158 } | 158 } |
| 159 | 159 |
| 160 void SynchronouslyRunOnMediaTaskRunner(const base::Closure& closure) { | 160 void SynchronouslyRunOnMediaTaskRunner(const base::Closure& closure) { |
| 161 base::RunLoop loop; | 161 base::RunLoop loop; |
| 162 chrome::MediaFileSystemBackend::MediaTaskRunner()->PostTaskAndReply( | 162 MediaFileSystemBackend::MediaTaskRunner()->PostTaskAndReply( |
| 163 FROM_HERE, | 163 FROM_HERE, |
| 164 closure, | 164 closure, |
| 165 loop.QuitClosure()); | 165 loop.QuitClosure()); |
| 166 loop.Run(); | 166 loop.Run(); |
| 167 } | 167 } |
| 168 | 168 |
| 169 void CreateSnapshotFileTestHelperCallback( | 169 void CreateSnapshotFileTestHelperCallback( |
| 170 base::RunLoop* run_loop, | 170 base::RunLoop* run_loop, |
| 171 base::PlatformFileError* error, | 171 base::PlatformFileError* error, |
| 172 base::FilePath* platform_path_result, | 172 base::FilePath* platform_path_result, |
| 173 base::PlatformFileError result, | 173 base::PlatformFileError result, |
| 174 const base::PlatformFileInfo& file_info, | 174 const base::PlatformFileInfo& file_info, |
| 175 const base::FilePath& platform_path, | 175 const base::FilePath& platform_path, |
| 176 const scoped_refptr<webkit_blob::ShareableFileReference>& file_ref) { | 176 const scoped_refptr<webkit_blob::ShareableFileReference>& file_ref) { |
| 177 DCHECK(run_loop); | 177 DCHECK(run_loop); |
| 178 DCHECK(error); | 178 DCHECK(error); |
| 179 DCHECK(platform_path_result); | 179 DCHECK(platform_path_result); |
| 180 | 180 |
| 181 *error = result; | 181 *error = result; |
| 182 *platform_path_result = platform_path; | 182 *platform_path_result = platform_path; |
| 183 run_loop->Quit(); | 183 run_loop->Quit(); |
| 184 } | 184 } |
| 185 | 185 |
| 186 } // namespace | 186 } // namespace |
| 187 | 187 |
| 188 class TestPicasaFileUtil : public PicasaFileUtil { | 188 class TestPicasaFileUtil : public PicasaFileUtil { |
| 189 public: | 189 public: |
| 190 TestPicasaFileUtil(chrome::MediaPathFilter* media_path_filter, | 190 TestPicasaFileUtil(MediaPathFilter* media_path_filter, |
| 191 PicasaDataProvider* data_provider) | 191 PicasaDataProvider* data_provider) |
| 192 : PicasaFileUtil(media_path_filter), | 192 : PicasaFileUtil(media_path_filter), |
| 193 data_provider_(data_provider) { | 193 data_provider_(data_provider) { |
| 194 } | 194 } |
| 195 virtual ~TestPicasaFileUtil() {} | 195 virtual ~TestPicasaFileUtil() {} |
| 196 private: | 196 private: |
| 197 virtual PicasaDataProvider* GetDataProvider() OVERRIDE { | 197 virtual PicasaDataProvider* GetDataProvider() OVERRIDE { |
| 198 return data_provider_; | 198 return data_provider_; |
| 199 } | 199 } |
| 200 | 200 |
| 201 PicasaDataProvider* data_provider_; | 201 PicasaDataProvider* data_provider_; |
| 202 }; | 202 }; |
| 203 | 203 |
| 204 class TestMediaFileSystemBackend | 204 class TestMediaFileSystemBackend : public MediaFileSystemBackend { |
| 205 : public chrome::MediaFileSystemBackend { | |
| 206 public: | 205 public: |
| 207 TestMediaFileSystemBackend(const base::FilePath& profile_path, | 206 TestMediaFileSystemBackend(const base::FilePath& profile_path, |
| 208 PicasaFileUtil* picasa_file_util) | 207 PicasaFileUtil* picasa_file_util) |
| 209 : chrome::MediaFileSystemBackend( | 208 : MediaFileSystemBackend(profile_path, |
| 210 profile_path, | 209 MediaFileSystemBackend::MediaTaskRunner().get()), |
| 211 chrome::MediaFileSystemBackend::MediaTaskRunner().get()), | |
| 212 test_file_util_(picasa_file_util) {} | 210 test_file_util_(picasa_file_util) {} |
| 213 | 211 |
| 214 virtual fileapi::AsyncFileUtil* | 212 virtual fileapi::AsyncFileUtil* |
| 215 GetAsyncFileUtil(fileapi::FileSystemType type) OVERRIDE { | 213 GetAsyncFileUtil(fileapi::FileSystemType type) OVERRIDE { |
| 216 if (type != fileapi::kFileSystemTypePicasa) | 214 if (type != fileapi::kFileSystemTypePicasa) |
| 217 return NULL; | 215 return NULL; |
| 218 | 216 |
| 219 return test_file_util_.get(); | 217 return test_file_util_.get(); |
| 220 } | 218 } |
| 221 | 219 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 232 | 230 |
| 233 virtual void SetUp() OVERRIDE { | 231 virtual void SetUp() OVERRIDE { |
| 234 ASSERT_TRUE(profile_dir_.CreateUniqueTempDir()); | 232 ASSERT_TRUE(profile_dir_.CreateUniqueTempDir()); |
| 235 | 233 |
| 236 scoped_refptr<quota::SpecialStoragePolicy> storage_policy = | 234 scoped_refptr<quota::SpecialStoragePolicy> storage_policy = |
| 237 new quota::MockSpecialStoragePolicy(); | 235 new quota::MockSpecialStoragePolicy(); |
| 238 | 236 |
| 239 SynchronouslyRunOnMediaTaskRunner(base::Bind( | 237 SynchronouslyRunOnMediaTaskRunner(base::Bind( |
| 240 &PicasaFileUtilTest::SetUpOnMediaTaskRunner, base::Unretained(this))); | 238 &PicasaFileUtilTest::SetUpOnMediaTaskRunner, base::Unretained(this))); |
| 241 | 239 |
| 242 media_path_filter_.reset(new chrome::MediaPathFilter()); | 240 media_path_filter_.reset(new MediaPathFilter()); |
| 243 | 241 |
| 244 ScopedVector<fileapi::FileSystemBackend> additional_providers; | 242 ScopedVector<fileapi::FileSystemBackend> additional_providers; |
| 245 additional_providers.push_back(new TestMediaFileSystemBackend( | 243 additional_providers.push_back(new TestMediaFileSystemBackend( |
| 246 profile_dir_.path(), | 244 profile_dir_.path(), |
| 247 new TestPicasaFileUtil(media_path_filter_.get(), | 245 new TestPicasaFileUtil(media_path_filter_.get(), |
| 248 picasa_data_provider_.get()))); | 246 picasa_data_provider_.get()))); |
| 249 | 247 |
| 250 file_system_context_ = new fileapi::FileSystemContext( | 248 file_system_context_ = new fileapi::FileSystemContext( |
| 251 base::MessageLoopProxy::current().get(), | 249 base::MessageLoopProxy::current().get(), |
| 252 base::MessageLoopProxy::current().get(), | 250 base::MessageLoopProxy::current().get(), |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 374 } | 372 } |
| 375 | 373 |
| 376 private: | 374 private: |
| 377 base::MessageLoop message_loop_; | 375 base::MessageLoop message_loop_; |
| 378 content::TestBrowserThread io_thread_; | 376 content::TestBrowserThread io_thread_; |
| 379 | 377 |
| 380 base::ScopedTempDir profile_dir_; | 378 base::ScopedTempDir profile_dir_; |
| 381 | 379 |
| 382 scoped_refptr<fileapi::FileSystemContext> file_system_context_; | 380 scoped_refptr<fileapi::FileSystemContext> file_system_context_; |
| 383 scoped_ptr<PicasaDataProvider> picasa_data_provider_; | 381 scoped_ptr<PicasaDataProvider> picasa_data_provider_; |
| 384 scoped_ptr<chrome::MediaPathFilter> media_path_filter_; | 382 scoped_ptr<MediaPathFilter> media_path_filter_; |
| 385 | 383 |
| 386 DISALLOW_COPY_AND_ASSIGN(PicasaFileUtilTest); | 384 DISALLOW_COPY_AND_ASSIGN(PicasaFileUtilTest); |
| 387 }; | 385 }; |
| 388 | 386 |
| 389 TEST_F(PicasaFileUtilTest, DateFormat) { | 387 TEST_F(PicasaFileUtilTest, DateFormat) { |
| 390 base::Time::Exploded exploded_shortmonth = { 2013, 4, 0, 16, 0, 0, 0, 0 }; | 388 base::Time::Exploded exploded_shortmonth = { 2013, 4, 0, 16, 0, 0, 0, 0 }; |
| 391 base::Time shortmonth = base::Time::FromLocalExploded(exploded_shortmonth); | 389 base::Time shortmonth = base::Time::FromLocalExploded(exploded_shortmonth); |
| 392 | 390 |
| 393 base::Time::Exploded exploded_shortday = { 2013, 11, 0, 3, 0, 0, 0, 0 }; | 391 base::Time::Exploded exploded_shortday = { 2013, 11, 0, 3, 0, 0, 0, 0 }; |
| 394 base::Time shortday = base::Time::FromLocalExploded(exploded_shortday); | 392 base::Time shortday = base::Time::FromLocalExploded(exploded_shortday); |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 591 operation_runner()->CreateSnapshotFile( | 589 operation_runner()->CreateSnapshotFile( |
| 592 CreateURL(std::string(kPicasaDirAlbums) + | 590 CreateURL(std::string(kPicasaDirAlbums) + |
| 593 "/albumname 2013-04-16/mapped_name.jpg"), | 591 "/albumname 2013-04-16/mapped_name.jpg"), |
| 594 snapshot_callback); | 592 snapshot_callback); |
| 595 loop.Run(); | 593 loop.Run(); |
| 596 EXPECT_EQ(base::PLATFORM_FILE_OK, error); | 594 EXPECT_EQ(base::PLATFORM_FILE_OK, error); |
| 597 EXPECT_EQ(image_path, platform_path_result); | 595 EXPECT_EQ(image_path, platform_path_result); |
| 598 } | 596 } |
| 599 | 597 |
| 600 } // namespace picasa | 598 } // namespace picasa |
| OLD | NEW |