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 | 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" |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 ASSERT_TRUE(test_helper_->WriteColumnFileFromVector( | 245 ASSERT_TRUE(test_helper_->WriteColumnFileFromVector( |
246 "token", picasa::PMP_TYPE_STRING, token_column)); | 246 "token", picasa::PMP_TYPE_STRING, token_column)); |
247 } | 247 } |
248 | 248 |
249 void VerifyFolderDirectoryList(const ScopedVector<TestFolder>& test_folders) { | 249 void VerifyFolderDirectoryList(const ScopedVector<TestFolder>& test_folders) { |
250 FileSystemOperation::FileEntryList contents; | 250 FileSystemOperation::FileEntryList contents; |
251 FileSystemURL url = CreateURL(kPicasaDirFolders); | 251 FileSystemURL url = CreateURL(kPicasaDirFolders); |
252 bool completed = false; | 252 bool completed = false; |
253 NewOperation(url)->ReadDirectory( | 253 NewOperation(url)->ReadDirectory( |
254 url, base::Bind(&DidReadDirectory, &contents, &completed)); | 254 url, base::Bind(&DidReadDirectory, &contents, &completed)); |
255 MessageLoop::current()->RunUntilIdle(); | 255 base::MessageLoop::current()->RunUntilIdle(); |
256 | 256 |
257 ASSERT_TRUE(completed); | 257 ASSERT_TRUE(completed); |
258 ASSERT_EQ(test_folders.size(), contents.size()); | 258 ASSERT_EQ(test_folders.size(), contents.size()); |
259 | 259 |
260 for (size_t i = 0; i < contents.size(); ++i) { | 260 for (size_t i = 0; i < contents.size(); ++i) { |
261 EXPECT_TRUE(contents[i].is_directory); | 261 EXPECT_TRUE(contents[i].is_directory); |
262 | 262 |
263 // Because the timestamp is written out as a floating point Microsoft | 263 // Because the timestamp is written out as a floating point Microsoft |
264 // variant time, we only expect it to be accurate to within a second. | 264 // variant time, we only expect it to be accurate to within a second. |
265 base::TimeDelta delta = test_folders[i]->folder_info().timestamp - | 265 base::TimeDelta delta = test_folders[i]->folder_info().timestamp - |
266 contents[i].last_modified_time; | 266 contents[i].last_modified_time; |
267 EXPECT_LT(delta, base::TimeDelta::FromSeconds(1)); | 267 EXPECT_LT(delta, base::TimeDelta::FromSeconds(1)); |
268 | 268 |
269 FileSystemOperation::FileEntryList folder_contents; | 269 FileSystemOperation::FileEntryList folder_contents; |
270 FileSystemURL folder_url = CreateURL( | 270 FileSystemURL folder_url = CreateURL( |
271 std::string(kPicasaDirFolders) + "/" + | 271 std::string(kPicasaDirFolders) + "/" + |
272 base::FilePath(contents[i].name).AsUTF8Unsafe()); | 272 base::FilePath(contents[i].name).AsUTF8Unsafe()); |
273 bool folder_read_completed = false; | 273 bool folder_read_completed = false; |
274 NewOperation(folder_url)->ReadDirectory( | 274 NewOperation(folder_url)->ReadDirectory( |
275 folder_url, | 275 folder_url, |
276 base::Bind(&DidReadDirectory, &folder_contents, | 276 base::Bind(&DidReadDirectory, &folder_contents, |
277 &folder_read_completed)); | 277 &folder_read_completed)); |
278 MessageLoop::current()->RunUntilIdle(); | 278 base::MessageLoop::current()->RunUntilIdle(); |
279 | 279 |
280 EXPECT_TRUE(folder_read_completed); | 280 EXPECT_TRUE(folder_read_completed); |
281 | 281 |
282 const std::set<std::string>& image_filenames = | 282 const std::set<std::string>& image_filenames = |
283 test_folders[i]->image_filenames(); | 283 test_folders[i]->image_filenames(); |
284 | 284 |
285 EXPECT_EQ(image_filenames.size(), folder_contents.size()); | 285 EXPECT_EQ(image_filenames.size(), folder_contents.size()); |
286 | 286 |
287 for (FileSystemOperation::FileEntryList::const_iterator file_it = | 287 for (FileSystemOperation::FileEntryList::const_iterator file_it = |
288 folder_contents.begin(); file_it != folder_contents.end(); | 288 folder_contents.begin(); file_it != folder_contents.end(); |
289 ++file_it) { | 289 ++file_it) { |
290 EXPECT_EQ(1u, image_filenames.count( | 290 EXPECT_EQ(1u, image_filenames.count( |
291 base::FilePath(file_it->name).AsUTF8Unsafe())); | 291 base::FilePath(file_it->name).AsUTF8Unsafe())); |
292 } | 292 } |
293 } | 293 } |
294 } | 294 } |
295 | 295 |
296 std::string DateToPathString(const base::Time& time) { | 296 std::string DateToPathString(const base::Time& time) { |
297 return PicasaDataProvider::DateToPathString(time); | 297 return PicasaDataProvider::DateToPathString(time); |
298 } | 298 } |
299 | 299 |
300 void TestNonexistentFolder(const std::string& path_append) { | 300 void TestNonexistentFolder(const std::string& path_append) { |
301 FileSystemOperation::FileEntryList contents; | 301 FileSystemOperation::FileEntryList contents; |
302 FileSystemURL url = CreateURL( | 302 FileSystemURL url = CreateURL( |
303 std::string(kPicasaDirFolders) + path_append); | 303 std::string(kPicasaDirFolders) + path_append); |
304 bool completed = false; | 304 bool completed = false; |
305 NewOperation(url)->ReadDirectory( | 305 NewOperation(url)->ReadDirectory( |
306 url, base::Bind(&DidReadDirectory, &contents, &completed)); | 306 url, base::Bind(&DidReadDirectory, &contents, &completed)); |
307 MessageLoop::current()->RunUntilIdle(); | 307 base::MessageLoop::current()->RunUntilIdle(); |
308 | 308 |
309 ASSERT_FALSE(completed); | 309 ASSERT_FALSE(completed); |
310 } | 310 } |
311 | 311 |
312 FileSystemURL CreateURL(const std::string& virtual_path) { | 312 FileSystemURL CreateURL(const std::string& virtual_path) { |
313 return file_system_context_->CreateCrackedFileSystemURL( | 313 return file_system_context_->CreateCrackedFileSystemURL( |
314 GURL("http://www.example.com"), fileapi::kFileSystemTypePicasa, | 314 GURL("http://www.example.com"), fileapi::kFileSystemTypePicasa, |
315 base::FilePath::FromUTF8Unsafe(virtual_path)); | 315 base::FilePath::FromUTF8Unsafe(virtual_path)); |
316 } | 316 } |
317 | 317 |
318 FileSystemOperation* NewOperation(const FileSystemURL& url) { | 318 FileSystemOperation* NewOperation(const FileSystemURL& url) { |
319 return file_system_context_->CreateFileSystemOperation(url, NULL); | 319 return file_system_context_->CreateFileSystemOperation(url, NULL); |
320 } | 320 } |
321 | 321 |
322 scoped_refptr<fileapi::FileSystemContext> file_system_context() { | 322 scoped_refptr<fileapi::FileSystemContext> file_system_context() { |
323 return file_system_context_; | 323 return file_system_context_; |
324 } | 324 } |
325 | 325 |
326 private: | 326 private: |
327 MessageLoop message_loop_; | 327 base::MessageLoop message_loop_; |
328 | 328 |
329 base::ScopedTempDir profile_dir_; | 329 base::ScopedTempDir profile_dir_; |
330 | 330 |
331 scoped_refptr<fileapi::FileSystemContext> file_system_context_; | 331 scoped_refptr<fileapi::FileSystemContext> file_system_context_; |
332 scoped_ptr<PmpTestHelper> test_helper_; | 332 scoped_ptr<PmpTestHelper> test_helper_; |
333 | 333 |
334 DISALLOW_COPY_AND_ASSIGN(PicasaFileUtilTest); | 334 DISALLOW_COPY_AND_ASSIGN(PicasaFileUtilTest); |
335 }; | 335 }; |
336 | 336 |
337 TEST_F(PicasaFileUtilTest, DateFormat) { | 337 TEST_F(PicasaFileUtilTest, DateFormat) { |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
402 EXPECT_TRUE(file_enumerator->IsDirectory()); | 402 EXPECT_TRUE(file_enumerator->IsDirectory()); |
403 } | 403 } |
404 } | 404 } |
405 | 405 |
406 TEST_F(PicasaFileUtilTest, RootFolders) { | 406 TEST_F(PicasaFileUtilTest, RootFolders) { |
407 FileSystemOperation::FileEntryList contents; | 407 FileSystemOperation::FileEntryList contents; |
408 FileSystemURL url = CreateURL(""); | 408 FileSystemURL url = CreateURL(""); |
409 bool completed = false; | 409 bool completed = false; |
410 NewOperation(url)->ReadDirectory( | 410 NewOperation(url)->ReadDirectory( |
411 url, base::Bind(&DidReadDirectory, &contents, &completed)); | 411 url, base::Bind(&DidReadDirectory, &contents, &completed)); |
412 MessageLoop::current()->RunUntilIdle(); | 412 base::MessageLoop::current()->RunUntilIdle(); |
413 | 413 |
414 ASSERT_TRUE(completed); | 414 ASSERT_TRUE(completed); |
415 ASSERT_EQ(2u, contents.size()); | 415 ASSERT_EQ(2u, contents.size()); |
416 | 416 |
417 EXPECT_TRUE(contents.front().is_directory); | 417 EXPECT_TRUE(contents.front().is_directory); |
418 EXPECT_TRUE(contents.back().is_directory); | 418 EXPECT_TRUE(contents.back().is_directory); |
419 | 419 |
420 EXPECT_EQ(0, contents.front().size); | 420 EXPECT_EQ(0, contents.front().size); |
421 EXPECT_EQ(0, contents.back().size); | 421 EXPECT_EQ(0, contents.back().size); |
422 | 422 |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
474 new TestFolder(base::StringPrintf("folder-%05d", i), | 474 new TestFolder(base::StringPrintf("folder-%05d", i), |
475 date, | 475 date, |
476 base::StringPrintf("uid%05d", i), i % 5, i % 3)); | 476 base::StringPrintf("uid%05d", i), i % 5, i % 3)); |
477 } | 477 } |
478 | 478 |
479 SetupFolders(&test_folders); | 479 SetupFolders(&test_folders); |
480 VerifyFolderDirectoryList(test_folders); | 480 VerifyFolderDirectoryList(test_folders); |
481 } | 481 } |
482 | 482 |
483 } // namespace chrome | 483 } // namespace chrome |
OLD | NEW |