blob: de926fa96dbeb39f7ff949c79afd9b2c2c36331a [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/common/media_galleries/picasa_test_util.h"
#include "base/file_util.h"
#include "base/files/file_path.h"
#include "chrome/common/media_galleries/picasa_types.h"
#include "chrome/common/media_galleries/pmp_test_util.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace picasa {
void WriteAlbumTable(const base::FilePath& column_file_destination,
const std::vector<uint32>& category_vector,
const std::vector<double>& date_vector,
const std::vector<std::string>& filename_vector,
const std::vector<std::string>& name_vector,
const std::vector<std::string>& token_vector,
const std::vector<std::string>& uid_vector) {
ASSERT_TRUE(PmpTestUtil::WriteIndicatorFile(
column_file_destination, kPicasaAlbumTableName));
ASSERT_TRUE(PmpTestUtil::WriteColumnFileFromVector(
column_file_destination, kPicasaAlbumTableName, "category",
PMP_TYPE_UINT32, category_vector));
ASSERT_TRUE(PmpTestUtil::WriteColumnFileFromVector(
column_file_destination, kPicasaAlbumTableName, "date",
PMP_TYPE_DOUBLE64, date_vector));
ASSERT_TRUE(PmpTestUtil::WriteColumnFileFromVector(
column_file_destination, kPicasaAlbumTableName, "filename",
PMP_TYPE_STRING, filename_vector));
ASSERT_TRUE(PmpTestUtil::WriteColumnFileFromVector(
column_file_destination, kPicasaAlbumTableName, "name",
PMP_TYPE_STRING, name_vector));
ASSERT_TRUE(PmpTestUtil::WriteColumnFileFromVector(
column_file_destination, kPicasaAlbumTableName, "token",
PMP_TYPE_STRING, token_vector));
ASSERT_TRUE(PmpTestUtil::WriteColumnFileFromVector(
column_file_destination, kPicasaAlbumTableName, "uid",
PMP_TYPE_STRING, uid_vector));
}
void WriteTestAlbumTable(
const base::FilePath& column_file_destination,
const base::FilePath& test_folder_1_path,
const base::FilePath& test_folder_2_path) {
std::vector<uint32> category_vector;
category_vector.push_back(kAlbumCategoryFolder);
category_vector.push_back(kAlbumCategoryInvalid);
category_vector.push_back(kAlbumCategoryAlbum);
category_vector.push_back(kAlbumCategoryFolder);
category_vector.push_back(kAlbumCategoryAlbum);
std::vector<double> date_vector;
date_vector.push_back(0.0);
date_vector.push_back(0.0);
date_vector.push_back(0.0);
date_vector.push_back(0.0);
date_vector.push_back(0.0);
std::vector<std::string> filename_vector;
filename_vector.push_back(test_folder_1_path.AsUTF8Unsafe());
filename_vector.push_back("");
filename_vector.push_back("");
filename_vector.push_back(test_folder_2_path.AsUTF8Unsafe());
filename_vector.push_back("");
std::vector<std::string> name_vector;
name_vector.push_back(test_folder_1_path.BaseName().AsUTF8Unsafe());
name_vector.push_back("");
name_vector.push_back("Album 1 Name");
name_vector.push_back(test_folder_2_path.BaseName().AsUTF8Unsafe());
name_vector.push_back("Album 2 Name");
std::vector<std::string> token_vector;
token_vector.push_back("");
token_vector.push_back("");
token_vector.push_back(std::string(kAlbumTokenPrefix) + "uid3");
token_vector.push_back("");
token_vector.push_back(std::string(kAlbumTokenPrefix) + "uid5");
std::vector<std::string> uid_vector;
uid_vector.push_back("uid1");
uid_vector.push_back("uid2");
uid_vector.push_back("uid3");
uid_vector.push_back("uid4");
uid_vector.push_back("uid5");
WriteAlbumTable(column_file_destination, category_vector, date_vector,
filename_vector, name_vector, token_vector, uid_vector);
}
void WriteTestAlbumsImagesIndex(const base::FilePath& test_folder_1_path,
const base::FilePath& test_folder_2_path) {
const char folder_1_test_ini[] =
"[InBoth.jpg]\n"
"albums=uid3,uid5\n"
"[InSecondAlbumOnly.jpg]\n"
"albums=uid5\n";
ASSERT_TRUE(
base::WriteFile(test_folder_1_path.AppendASCII(kPicasaINIFilename),
folder_1_test_ini,
arraysize(folder_1_test_ini)));
const char folder_2_test_ini[] =
"[InFirstAlbumOnly.jpg]\n"
"albums=uid3\n";
ASSERT_TRUE(
base::WriteFile(test_folder_2_path.AppendASCII(kPicasaINIFilename),
folder_2_test_ini,
arraysize(folder_2_test_ini)));
}
} // namespace picasa