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 3 // found in the LICENSE file. 4 5 #include "chrome/common/media_galleries/picasa_test_util.h" 6 7 #include "base/file_util.h" 8 #include "base/files/file_path.h" 9 #include "chrome/common/media_galleries/picasa_types.h" 10 #include "chrome/common/media_galleries/pmp_test_util.h" 11 #include "testing/gtest/include/gtest/gtest.h" 12 13 namespace picasa { 14 15 void WriteAlbumTable(const base::FilePath& column_file_destination, 16 const std::vector<uint32>& category_vector, 17 const std::vector<double>& date_vector, 18 const std::vector<std::string>& filename_vector, 19 const std::vector<std::string>& name_vector, 20 const std::vector<std::string>& token_vector, 21 const std::vector<std::string>& uid_vector) { 22 ASSERT_TRUE(PmpTestUtil::WriteIndicatorFile( 23 column_file_destination, kPicasaAlbumTableName)); 24 ASSERT_TRUE(PmpTestUtil::WriteColumnFileFromVector( 25 column_file_destination, kPicasaAlbumTableName, "category", 26 PMP_TYPE_UINT32, category_vector)); 27 ASSERT_TRUE(PmpTestUtil::WriteColumnFileFromVector( 28 column_file_destination, kPicasaAlbumTableName, "date", 29 PMP_TYPE_DOUBLE64, date_vector)); 30 ASSERT_TRUE(PmpTestUtil::WriteColumnFileFromVector( 31 column_file_destination, kPicasaAlbumTableName, "filename", 32 PMP_TYPE_STRING, filename_vector)); 33 ASSERT_TRUE(PmpTestUtil::WriteColumnFileFromVector( 34 column_file_destination, kPicasaAlbumTableName, "name", 35 PMP_TYPE_STRING, name_vector)); 36 ASSERT_TRUE(PmpTestUtil::WriteColumnFileFromVector( 37 column_file_destination, kPicasaAlbumTableName, "token", 38 PMP_TYPE_STRING, token_vector)); 39 ASSERT_TRUE(PmpTestUtil::WriteColumnFileFromVector( 40 column_file_destination, kPicasaAlbumTableName, "uid", 41 PMP_TYPE_STRING, uid_vector)); 42 } 43 44 void WriteTestAlbumTable( 45 const base::FilePath& column_file_destination, 46 const base::FilePath& test_folder_1_path, 47 const base::FilePath& test_folder_2_path) { 48 std::vector<uint32> category_vector; 49 category_vector.push_back(kAlbumCategoryFolder); 50 category_vector.push_back(kAlbumCategoryInvalid); 51 category_vector.push_back(kAlbumCategoryAlbum); 52 category_vector.push_back(kAlbumCategoryFolder); 53 category_vector.push_back(kAlbumCategoryAlbum); 54 55 std::vector<double> date_vector; 56 date_vector.push_back(0.0); 57 date_vector.push_back(0.0); 58 date_vector.push_back(0.0); 59 date_vector.push_back(0.0); 60 date_vector.push_back(0.0); 61 62 std::vector<std::string> filename_vector; 63 filename_vector.push_back(test_folder_1_path.AsUTF8Unsafe()); 64 filename_vector.push_back(""); 65 filename_vector.push_back(""); 66 filename_vector.push_back(test_folder_2_path.AsUTF8Unsafe()); 67 filename_vector.push_back(""); 68 69 std::vector<std::string> name_vector; 70 name_vector.push_back(test_folder_1_path.BaseName().AsUTF8Unsafe()); 71 name_vector.push_back(""); 72 name_vector.push_back("Album 1 Name"); 73 name_vector.push_back(test_folder_2_path.BaseName().AsUTF8Unsafe()); 74 name_vector.push_back("Album 2 Name"); 75 76 std::vector<std::string> token_vector; 77 token_vector.push_back(""); 78 token_vector.push_back(""); 79 token_vector.push_back(std::string(kAlbumTokenPrefix) + "uid3"); 80 token_vector.push_back(""); 81 token_vector.push_back(std::string(kAlbumTokenPrefix) + "uid5"); 82 83 std::vector<std::string> uid_vector; 84 uid_vector.push_back("uid1"); 85 uid_vector.push_back("uid2"); 86 uid_vector.push_back("uid3"); 87 uid_vector.push_back("uid4"); 88 uid_vector.push_back("uid5"); 89 90 WriteAlbumTable(column_file_destination, category_vector, date_vector, 91 filename_vector, name_vector, token_vector, uid_vector); 92 } 93 94 void WriteTestAlbumsImagesIndex(const base::FilePath& test_folder_1_path, 95 const base::FilePath& test_folder_2_path) { 96 const char folder_1_test_ini[] = 97 "[InBoth.jpg]\n" 98 "albums=uid3,uid5\n" 99 "[InSecondAlbumOnly.jpg]\n" 100 "albums=uid5\n"; 101 ASSERT_TRUE( 102 file_util::WriteFile(test_folder_1_path.AppendASCII(kPicasaINIFilename), 103 folder_1_test_ini, 104 arraysize(folder_1_test_ini))); 105 106 const char folder_2_test_ini[] = 107 "[InFirstAlbumOnly.jpg]\n" 108 "albums=uid3\n"; 109 ASSERT_TRUE( 110 file_util::WriteFile(test_folder_2_path.AppendASCII(kPicasaINIFilename), 111 folder_2_test_ini, 112 arraysize(folder_2_test_ini))); 113 } 114 115 } // namespace picasa 116