root/chrome/common/media_galleries/picasa_test_util.cc

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. WriteAlbumTable
  2. WriteTestAlbumTable
  3. WriteTestAlbumsImagesIndex

// 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

/* [<][>][^][v][top][bottom][index][help] */