| Index: base/data_pack_unittest.cc
|
| diff --git a/base/data_pack_unittest.cc b/base/data_pack_unittest.cc
|
| index a62acf00fc19dbba6a3875081f17c536eae1473c..d089b28cba49d713440ad65b0c8542f77ea8191a 100644
|
| --- a/base/data_pack_unittest.cc
|
| +++ b/base/data_pack_unittest.cc
|
| @@ -5,24 +5,20 @@
|
| #include "base/data_pack.h"
|
|
|
| #include "base/file_path.h"
|
| +#include "base/file_util.h"
|
| #include "base/path_service.h"
|
| +#include "base/scoped_temp_dir.h"
|
| #include "base/string_piece.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| -class DataPackTest : public testing::Test {
|
| - public:
|
| - DataPackTest() {
|
| - PathService::Get(base::DIR_SOURCE_ROOT, &data_path_);
|
| - data_path_ = data_path_.Append(
|
| +TEST(DataPackTest, Load) {
|
| + FilePath data_path;
|
| + PathService::Get(base::DIR_SOURCE_ROOT, &data_path);
|
| + data_path = data_path.Append(
|
| FILE_PATH_LITERAL("base/data/data_pack_unittest/sample.pak"));
|
| - }
|
|
|
| - FilePath data_path_;
|
| -};
|
| -
|
| -TEST_F(DataPackTest, Load) {
|
| base::DataPack pack;
|
| - ASSERT_TRUE(pack.Load(data_path_));
|
| + ASSERT_TRUE(pack.Load(data_path));
|
|
|
| base::StringPiece data;
|
| ASSERT_TRUE(pack.GetStringPiece(4, &data));
|
| @@ -39,3 +35,39 @@ TEST_F(DataPackTest, Load) {
|
| // Try looking up an invalid key.
|
| ASSERT_FALSE(pack.GetStringPiece(140, &data));
|
| }
|
| +
|
| +TEST(DataPackTest, Write) {
|
| + ScopedTempDir dir;
|
| + ASSERT_TRUE(dir.CreateUniqueTempDir());
|
| + FilePath file = dir.path().Append(FILE_PATH_LITERAL("data.pak"));
|
| +
|
| + std::string one("one");
|
| + std::string two("two");
|
| + std::string three("three");
|
| + std::string four("four");
|
| + std::string fifteen("fifteen");
|
| +
|
| + std::map<uint32, base::StringPiece> resources;
|
| + resources.insert(std::make_pair(1, base::StringPiece(one)));
|
| + resources.insert(std::make_pair(2, base::StringPiece(two)));
|
| + resources.insert(std::make_pair(15, base::StringPiece(fifteen)));
|
| + resources.insert(std::make_pair(3, base::StringPiece(three)));
|
| + resources.insert(std::make_pair(4, base::StringPiece(four)));
|
| + ASSERT_TRUE(base::DataPack::WritePack(file, resources));
|
| +
|
| + // Now try to read the data back in.
|
| + base::DataPack pack;
|
| + ASSERT_TRUE(pack.Load(file));
|
| +
|
| + base::StringPiece data;
|
| + ASSERT_TRUE(pack.GetStringPiece(1, &data));
|
| + EXPECT_EQ(one, data);
|
| + ASSERT_TRUE(pack.GetStringPiece(2, &data));
|
| + EXPECT_EQ(two, data);
|
| + ASSERT_TRUE(pack.GetStringPiece(3, &data));
|
| + EXPECT_EQ(three, data);
|
| + ASSERT_TRUE(pack.GetStringPiece(4, &data));
|
| + EXPECT_EQ(four, data);
|
| + ASSERT_TRUE(pack.GetStringPiece(15, &data));
|
| + EXPECT_EQ(fifteen, data);
|
| +}
|
|
|