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

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

Issue 492873002: Collapse fileapi, webkit_blob, webkit_database, quota, and webkit_common namespaces into single sto… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix chromeos build Created 6 years, 4 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
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 #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 19 matching lines...) Expand all
30 #include "content/public/test/test_file_system_options.h" 30 #include "content/public/test/test_file_system_options.h"
31 #include "testing/gtest/include/gtest/gtest.h" 31 #include "testing/gtest/include/gtest/gtest.h"
32 #include "webkit/browser/fileapi/async_file_util.h" 32 #include "webkit/browser/fileapi/async_file_util.h"
33 #include "webkit/browser/fileapi/external_mount_points.h" 33 #include "webkit/browser/fileapi/external_mount_points.h"
34 #include "webkit/browser/fileapi/file_system_context.h" 34 #include "webkit/browser/fileapi/file_system_context.h"
35 #include "webkit/browser/fileapi/file_system_operation_context.h" 35 #include "webkit/browser/fileapi/file_system_operation_context.h"
36 #include "webkit/browser/fileapi/file_system_operation_runner.h" 36 #include "webkit/browser/fileapi/file_system_operation_runner.h"
37 #include "webkit/browser/fileapi/isolated_context.h" 37 #include "webkit/browser/fileapi/isolated_context.h"
38 #include "webkit/common/blob/shareable_file_reference.h" 38 #include "webkit/common/blob/shareable_file_reference.h"
39 39
40 using fileapi::FileSystemOperationContext; 40 using storage::FileSystemOperationContext;
41 using fileapi::FileSystemOperation; 41 using storage::FileSystemOperation;
42 using fileapi::FileSystemURL; 42 using storage::FileSystemURL;
43 43
44 namespace picasa { 44 namespace picasa {
45 45
46 namespace { 46 namespace {
47 47
48 base::Time::Exploded test_date_exploded = { 2013, 4, 0, 16, 0, 0, 0, 0 }; 48 base::Time::Exploded test_date_exploded = { 2013, 4, 0, 16, 0, 0, 0, 0 };
49 49
50 bool WriteJPEGHeader(const base::FilePath& path) { 50 bool WriteJPEGHeader(const base::FilePath& path) {
51 const char kJpegHeader[] = "\xFF\xD8\xFF"; // Per HTML5 specification. 51 const char kJpegHeader[] = "\xFF\xD8\xFF"; // Per HTML5 specification.
52 return base::WriteFile(path, kJpegHeader, arraysize(kJpegHeader)) != -1; 52 return base::WriteFile(path, kJpegHeader, arraysize(kJpegHeader)) != -1;
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 FileSystemOperation::FileEntryList* contents, 135 FileSystemOperation::FileEntryList* contents,
136 bool* completed, base::File::Error error, 136 bool* completed, base::File::Error error,
137 const FileSystemOperation::FileEntryList& file_list, 137 const FileSystemOperation::FileEntryList& file_list,
138 bool has_more) { 138 bool has_more) {
139 DCHECK(!*completed); 139 DCHECK(!*completed);
140 *completed = !has_more && error == base::File::FILE_OK; 140 *completed = !has_more && error == base::File::FILE_OK;
141 *contents = file_list; 141 *contents = file_list;
142 run_loop->Quit(); 142 run_loop->Quit();
143 } 143 }
144 144
145 void ReadDirectoryTestHelper(fileapi::FileSystemOperationRunner* runner, 145 void ReadDirectoryTestHelper(storage::FileSystemOperationRunner* runner,
146 const FileSystemURL& url, 146 const FileSystemURL& url,
147 FileSystemOperation::FileEntryList* contents, 147 FileSystemOperation::FileEntryList* contents,
148 bool* completed) { 148 bool* completed) {
149 DCHECK(contents); 149 DCHECK(contents);
150 DCHECK(completed); 150 DCHECK(completed);
151 base::RunLoop run_loop; 151 base::RunLoop run_loop;
152 runner->ReadDirectory( 152 runner->ReadDirectory(
153 url, base::Bind(&ReadDirectoryTestHelperCallback, &run_loop, contents, 153 url, base::Bind(&ReadDirectoryTestHelperCallback, &run_loop, contents,
154 completed)); 154 completed));
155 run_loop.Run(); 155 run_loop.Run();
156 } 156 }
157 157
158 void SynchronouslyRunOnMediaTaskRunner(const base::Closure& closure) { 158 void SynchronouslyRunOnMediaTaskRunner(const base::Closure& closure) {
159 base::RunLoop loop; 159 base::RunLoop loop;
160 MediaFileSystemBackend::MediaTaskRunner()->PostTaskAndReply( 160 MediaFileSystemBackend::MediaTaskRunner()->PostTaskAndReply(
161 FROM_HERE, 161 FROM_HERE,
162 closure, 162 closure,
163 loop.QuitClosure()); 163 loop.QuitClosure());
164 loop.Run(); 164 loop.Run();
165 } 165 }
166 166
167 void CreateSnapshotFileTestHelperCallback( 167 void CreateSnapshotFileTestHelperCallback(
168 base::RunLoop* run_loop, 168 base::RunLoop* run_loop,
169 base::File::Error* error, 169 base::File::Error* error,
170 base::FilePath* platform_path_result, 170 base::FilePath* platform_path_result,
171 base::File::Error result, 171 base::File::Error result,
172 const base::File::Info& file_info, 172 const base::File::Info& file_info,
173 const base::FilePath& platform_path, 173 const base::FilePath& platform_path,
174 const scoped_refptr<webkit_blob::ShareableFileReference>& file_ref) { 174 const scoped_refptr<storage::ShareableFileReference>& file_ref) {
175 DCHECK(run_loop); 175 DCHECK(run_loop);
176 DCHECK(error); 176 DCHECK(error);
177 DCHECK(platform_path_result); 177 DCHECK(platform_path_result);
178 178
179 *error = result; 179 *error = result;
180 *platform_path_result = platform_path; 180 *platform_path_result = platform_path;
181 run_loop->Quit(); 181 run_loop->Quit();
182 } 182 }
183 183
184 } // namespace 184 } // namespace
(...skipping 15 matching lines...) Expand all
200 }; 200 };
201 201
202 class TestMediaFileSystemBackend : public MediaFileSystemBackend { 202 class TestMediaFileSystemBackend : public MediaFileSystemBackend {
203 public: 203 public:
204 TestMediaFileSystemBackend(const base::FilePath& profile_path, 204 TestMediaFileSystemBackend(const base::FilePath& profile_path,
205 PicasaFileUtil* picasa_file_util) 205 PicasaFileUtil* picasa_file_util)
206 : MediaFileSystemBackend(profile_path, 206 : MediaFileSystemBackend(profile_path,
207 MediaFileSystemBackend::MediaTaskRunner().get()), 207 MediaFileSystemBackend::MediaTaskRunner().get()),
208 test_file_util_(picasa_file_util) {} 208 test_file_util_(picasa_file_util) {}
209 209
210 virtual fileapi::AsyncFileUtil* 210 virtual storage::AsyncFileUtil* GetAsyncFileUtil(
211 GetAsyncFileUtil(fileapi::FileSystemType type) OVERRIDE { 211 storage::FileSystemType type) OVERRIDE {
212 if (type != fileapi::kFileSystemTypePicasa) 212 if (type != storage::kFileSystemTypePicasa)
213 return NULL; 213 return NULL;
214 214
215 return test_file_util_.get(); 215 return test_file_util_.get();
216 } 216 }
217 217
218 private: 218 private:
219 scoped_ptr<fileapi::AsyncFileUtil> test_file_util_; 219 scoped_ptr<storage::AsyncFileUtil> test_file_util_;
220 }; 220 };
221 221
222 class PicasaFileUtilTest : public testing::Test { 222 class PicasaFileUtilTest : public testing::Test {
223 public: 223 public:
224 PicasaFileUtilTest() 224 PicasaFileUtilTest()
225 : io_thread_(content::BrowserThread::IO, &message_loop_) { 225 : io_thread_(content::BrowserThread::IO, &message_loop_) {
226 } 226 }
227 virtual ~PicasaFileUtilTest() {} 227 virtual ~PicasaFileUtilTest() {}
228 228
229 virtual void SetUp() OVERRIDE { 229 virtual void SetUp() OVERRIDE {
230 ASSERT_TRUE(profile_dir_.CreateUniqueTempDir()); 230 ASSERT_TRUE(profile_dir_.CreateUniqueTempDir());
231 ImportedMediaGalleryRegistry::GetInstance()->Initialize(); 231 ImportedMediaGalleryRegistry::GetInstance()->Initialize();
232 232
233 scoped_refptr<quota::SpecialStoragePolicy> storage_policy = 233 scoped_refptr<storage::SpecialStoragePolicy> storage_policy =
234 new content::MockSpecialStoragePolicy(); 234 new content::MockSpecialStoragePolicy();
235 235
236 SynchronouslyRunOnMediaTaskRunner(base::Bind( 236 SynchronouslyRunOnMediaTaskRunner(base::Bind(
237 &PicasaFileUtilTest::SetUpOnMediaTaskRunner, base::Unretained(this))); 237 &PicasaFileUtilTest::SetUpOnMediaTaskRunner, base::Unretained(this)));
238 238
239 media_path_filter_.reset(new MediaPathFilter()); 239 media_path_filter_.reset(new MediaPathFilter());
240 240
241 ScopedVector<fileapi::FileSystemBackend> additional_providers; 241 ScopedVector<storage::FileSystemBackend> additional_providers;
242 additional_providers.push_back(new TestMediaFileSystemBackend( 242 additional_providers.push_back(new TestMediaFileSystemBackend(
243 profile_dir_.path(), 243 profile_dir_.path(),
244 new TestPicasaFileUtil(media_path_filter_.get(), 244 new TestPicasaFileUtil(media_path_filter_.get(),
245 picasa_data_provider_.get()))); 245 picasa_data_provider_.get())));
246 246
247 file_system_context_ = new fileapi::FileSystemContext( 247 file_system_context_ = new storage::FileSystemContext(
248 base::MessageLoopProxy::current().get(), 248 base::MessageLoopProxy::current().get(),
249 base::MessageLoopProxy::current().get(), 249 base::MessageLoopProxy::current().get(),
250 fileapi::ExternalMountPoints::CreateRefCounted().get(), 250 storage::ExternalMountPoints::CreateRefCounted().get(),
251 storage_policy.get(), 251 storage_policy.get(),
252 NULL, 252 NULL,
253 additional_providers.Pass(), 253 additional_providers.Pass(),
254 std::vector<fileapi::URLRequestAutoMountHandler>(), 254 std::vector<storage::URLRequestAutoMountHandler>(),
255 profile_dir_.path(), 255 profile_dir_.path(),
256 content::CreateAllowFileAccessOptions()); 256 content::CreateAllowFileAccessOptions());
257 } 257 }
258 258
259 virtual void TearDown() OVERRIDE { 259 virtual void TearDown() OVERRIDE {
260 SynchronouslyRunOnMediaTaskRunner( 260 SynchronouslyRunOnMediaTaskRunner(
261 base::Bind(&PicasaFileUtilTest::TearDownOnMediaTaskRunner, 261 base::Bind(&PicasaFileUtilTest::TearDownOnMediaTaskRunner,
262 base::Unretained(this))); 262 base::Unretained(this)));
263 } 263 }
264 264
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 ASSERT_TRUE(completed); 356 ASSERT_TRUE(completed);
357 EXPECT_EQ(0u, contents.size()); 357 EXPECT_EQ(0u, contents.size());
358 } 358 }
359 359
360 FileSystemURL CreateURL(const std::string& path) const { 360 FileSystemURL CreateURL(const std::string& path) const {
361 base::FilePath virtual_path = 361 base::FilePath virtual_path =
362 ImportedMediaGalleryRegistry::GetInstance()->ImportedRoot(); 362 ImportedMediaGalleryRegistry::GetInstance()->ImportedRoot();
363 virtual_path = virtual_path.AppendASCII("picasa"); 363 virtual_path = virtual_path.AppendASCII("picasa");
364 virtual_path = virtual_path.AppendASCII(path); 364 virtual_path = virtual_path.AppendASCII(path);
365 return file_system_context_->CreateCrackedFileSystemURL( 365 return file_system_context_->CreateCrackedFileSystemURL(
366 GURL("http://www.example.com"), fileapi::kFileSystemTypePicasa, 366 GURL("http://www.example.com"),
367 storage::kFileSystemTypePicasa,
367 virtual_path); 368 virtual_path);
368 } 369 }
369 370
370 fileapi::FileSystemOperationRunner* operation_runner() const { 371 storage::FileSystemOperationRunner* operation_runner() const {
371 return file_system_context_->operation_runner(); 372 return file_system_context_->operation_runner();
372 } 373 }
373 374
374 scoped_refptr<fileapi::FileSystemContext> file_system_context() const { 375 scoped_refptr<storage::FileSystemContext> file_system_context() const {
375 return file_system_context_; 376 return file_system_context_;
376 } 377 }
377 378
378 private: 379 private:
379 base::MessageLoop message_loop_; 380 base::MessageLoop message_loop_;
380 content::TestBrowserThread io_thread_; 381 content::TestBrowserThread io_thread_;
381 382
382 base::ScopedTempDir profile_dir_; 383 base::ScopedTempDir profile_dir_;
383 384
384 scoped_refptr<fileapi::FileSystemContext> file_system_context_; 385 scoped_refptr<storage::FileSystemContext> file_system_context_;
385 scoped_ptr<PicasaDataProvider> picasa_data_provider_; 386 scoped_ptr<PicasaDataProvider> picasa_data_provider_;
386 scoped_ptr<MediaPathFilter> media_path_filter_; 387 scoped_ptr<MediaPathFilter> media_path_filter_;
387 388
388 DISALLOW_COPY_AND_ASSIGN(PicasaFileUtilTest); 389 DISALLOW_COPY_AND_ASSIGN(PicasaFileUtilTest);
389 }; 390 };
390 391
391 TEST_F(PicasaFileUtilTest, DateFormat) { 392 TEST_F(PicasaFileUtilTest, DateFormat) {
392 base::Time::Exploded exploded_shortmonth = { 2013, 4, 0, 16, 0, 0, 0, 0 }; 393 base::Time::Exploded exploded_shortmonth = { 2013, 4, 0, 16, 0, 0, 0, 0 };
393 base::Time shortmonth = base::Time::FromLocalExploded(exploded_shortmonth); 394 base::Time shortmonth = base::Time::FromLocalExploded(exploded_shortmonth);
394 395
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
576 ASSERT_TRUE(completed); 577 ASSERT_TRUE(completed);
577 EXPECT_EQ(1u, contents.size()); 578 EXPECT_EQ(1u, contents.size());
578 EXPECT_EQ("mapped_name.jpg", 579 EXPECT_EQ("mapped_name.jpg",
579 base::FilePath(contents.begin()->name).AsUTF8Unsafe()); 580 base::FilePath(contents.begin()->name).AsUTF8Unsafe());
580 EXPECT_FALSE(contents.begin()->is_directory); 581 EXPECT_FALSE(contents.begin()->is_directory);
581 582
582 // Create a snapshot file to verify the file path. 583 // Create a snapshot file to verify the file path.
583 base::RunLoop loop; 584 base::RunLoop loop;
584 base::File::Error error; 585 base::File::Error error;
585 base::FilePath platform_path_result; 586 base::FilePath platform_path_result;
586 fileapi::FileSystemOperationRunner::SnapshotFileCallback snapshot_callback = 587 storage::FileSystemOperationRunner::SnapshotFileCallback snapshot_callback =
587 base::Bind(&CreateSnapshotFileTestHelperCallback, 588 base::Bind(&CreateSnapshotFileTestHelperCallback,
588 &loop, 589 &loop,
589 &error, 590 &error,
590 &platform_path_result); 591 &platform_path_result);
591 operation_runner()->CreateSnapshotFile( 592 operation_runner()->CreateSnapshotFile(
592 CreateURL(std::string(kPicasaDirAlbums) + 593 CreateURL(std::string(kPicasaDirAlbums) +
593 "/albumname 2013-04-16/mapped_name.jpg"), 594 "/albumname 2013-04-16/mapped_name.jpg"),
594 snapshot_callback); 595 snapshot_callback);
595 loop.Run(); 596 loop.Run();
596 EXPECT_EQ(base::File::FILE_OK, error); 597 EXPECT_EQ(base::File::FILE_OK, error);
597 EXPECT_EQ(image_path, platform_path_result); 598 EXPECT_EQ(image_path, platform_path_result);
598 } 599 }
599 600
600 } // namespace picasa 601 } // namespace picasa
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698