| Index: content/browser/indexed_db/indexed_db_leveldb_coding_unittest.cc
|
| diff --git a/content/browser/indexed_db/indexed_db_leveldb_coding_unittest.cc b/content/browser/indexed_db/indexed_db_leveldb_coding_unittest.cc
|
| index f905cee85e64caf377f85953add1d1522d388235..1f02a4095adb3a3bebc6f12268be05959da5927c 100644
|
| --- a/content/browser/indexed_db/indexed_db_leveldb_coding_unittest.cc
|
| +++ b/content/browser/indexed_db/indexed_db_leveldb_coding_unittest.cc
|
| @@ -5,14 +5,12 @@
|
| #include "content/browser/indexed_db/indexed_db_leveldb_coding.h"
|
|
|
| #include <limits>
|
| -#include <string>
|
| #include <vector>
|
|
|
| #include "base/basictypes.h"
|
| #include "base/strings/string16.h"
|
| #include "base/strings/string_piece.h"
|
| #include "base/strings/utf_string_conversions.h"
|
| -#include "content/browser/indexed_db/leveldb/leveldb_slice.h"
|
| #include "content/common/indexed_db/indexed_db_key.h"
|
| #include "content/common/indexed_db/indexed_db_key_path.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -43,14 +41,14 @@ static IndexedDBKey CreateArrayIDBKey(const IndexedDBKey& key1,
|
| return IndexedDBKey(array);
|
| }
|
|
|
| -static std::vector<char> WrappedEncodeByte(char value) {
|
| - std::vector<char> buffer;
|
| +static std::string WrappedEncodeByte(char value) {
|
| + std::string buffer;
|
| EncodeByte(value, &buffer);
|
| return buffer;
|
| }
|
|
|
| TEST(IndexedDBLevelDBCodingTest, EncodeByte) {
|
| - std::vector<char> expected;
|
| + std::string expected;
|
| expected.push_back(0);
|
| unsigned char c;
|
|
|
| @@ -75,12 +73,12 @@ TEST(IndexedDBLevelDBCodingTest, DecodeByte) {
|
|
|
| for (size_t i = 0; i < test_cases.size(); ++i) {
|
| unsigned char n = test_cases[i];
|
| - std::vector<char> v;
|
| + std::string v;
|
| EncodeByte(n, &v);
|
|
|
| unsigned char res;
|
| ASSERT_GT(v.size(), static_cast<size_t>(0));
|
| - StringPiece slice(&*v.begin(), v.size());
|
| + StringPiece slice(v);
|
| EXPECT_TRUE(DecodeByte(&slice, &res));
|
| EXPECT_EQ(n, res);
|
| EXPECT_TRUE(slice.empty());
|
| @@ -93,26 +91,26 @@ TEST(IndexedDBLevelDBCodingTest, DecodeByte) {
|
| }
|
| }
|
|
|
| -static std::vector<char> WrappedEncodeBool(bool value) {
|
| - std::vector<char> buffer;
|
| +static std::string WrappedEncodeBool(bool value) {
|
| + std::string buffer;
|
| EncodeBool(value, &buffer);
|
| return buffer;
|
| }
|
|
|
| TEST(IndexedDBLevelDBCodingTest, EncodeBool) {
|
| {
|
| - std::vector<char> expected;
|
| + std::string expected;
|
| expected.push_back(1);
|
| EXPECT_EQ(expected, WrappedEncodeBool(true));
|
| }
|
| {
|
| - std::vector<char> expected;
|
| + std::string expected;
|
| expected.push_back(0);
|
| EXPECT_EQ(expected, WrappedEncodeBool(false));
|
| }
|
| }
|
|
|
| -static int CompareKeys(const std::vector<char>& a, const std::vector<char>& b) {
|
| +static int CompareKeys(const std::string& a, const std::string& b) {
|
| bool ok;
|
| int result = CompareEncodedIDBKeys(a, b, &ok);
|
| EXPECT_TRUE(ok);
|
| @@ -120,16 +118,16 @@ static int CompareKeys(const std::vector<char>& a, const std::vector<char>& b) {
|
| }
|
|
|
| TEST(IndexedDBLevelDBCodingTest, MaxIDBKey) {
|
| - std::vector<char> max_key = MaxIDBKey();
|
| + std::string max_key = MaxIDBKey();
|
|
|
| - std::vector<char> min_key = MinIDBKey();
|
| - std::vector<char> array_key;
|
| + std::string min_key = MinIDBKey();
|
| + std::string array_key;
|
| EncodeIDBKey(IndexedDBKey(IndexedDBKey::KeyArray()), &array_key);
|
| - std::vector<char> string_key;
|
| + std::string string_key;
|
| EncodeIDBKey(IndexedDBKey(ASCIIToUTF16("Hello world")), &string_key);
|
| - std::vector<char> number_key;
|
| + std::string number_key;
|
| EncodeIDBKey(IndexedDBKey(3.14, WebIDBKey::NumberType), &number_key);
|
| - std::vector<char> date_key;
|
| + std::string date_key;
|
| EncodeIDBKey(IndexedDBKey(1000000, WebIDBKey::DateType), &date_key);
|
|
|
| EXPECT_GT(CompareKeys(max_key, min_key), 0);
|
| @@ -140,16 +138,16 @@ TEST(IndexedDBLevelDBCodingTest, MaxIDBKey) {
|
| }
|
|
|
| TEST(IndexedDBLevelDBCodingTest, MinIDBKey) {
|
| - std::vector<char> min_key = MinIDBKey();
|
| + std::string min_key = MinIDBKey();
|
|
|
| - std::vector<char> max_key = MaxIDBKey();
|
| - std::vector<char> array_key;
|
| + std::string max_key = MaxIDBKey();
|
| + std::string array_key;
|
| EncodeIDBKey(IndexedDBKey(IndexedDBKey::KeyArray()), &array_key);
|
| - std::vector<char> string_key;
|
| + std::string string_key;
|
| EncodeIDBKey(IndexedDBKey(ASCIIToUTF16("Hello world")), &string_key);
|
| - std::vector<char> number_key;
|
| + std::string number_key;
|
| EncodeIDBKey(IndexedDBKey(3.14, WebIDBKey::NumberType), &number_key);
|
| - std::vector<char> date_key;
|
| + std::string date_key;
|
| EncodeIDBKey(IndexedDBKey(1000000, WebIDBKey::DateType), &date_key);
|
|
|
| EXPECT_LT(CompareKeys(min_key, max_key), 0);
|
| @@ -159,8 +157,8 @@ TEST(IndexedDBLevelDBCodingTest, MinIDBKey) {
|
| EXPECT_LT(CompareKeys(min_key, date_key), 0);
|
| }
|
|
|
| -static std::vector<char> WrappedEncodeInt(int64 value) {
|
| - std::vector<char> buffer;
|
| +static std::string WrappedEncodeInt(int64 value) {
|
| + std::string buffer;
|
| EncodeInt(value, &buffer);
|
| return buffer;
|
| }
|
| @@ -178,18 +176,18 @@ TEST(IndexedDBLevelDBCodingTest, EncodeInt) {
|
|
|
| TEST(IndexedDBLevelDBCodingTest, DecodeBool) {
|
| {
|
| - std::vector<char> encoded;
|
| + std::string encoded;
|
| encoded.push_back(1);
|
| - StringPiece slice(&*encoded.begin(), encoded.size());
|
| + StringPiece slice(encoded);
|
| bool value;
|
| EXPECT_TRUE(DecodeBool(&slice, &value));
|
| EXPECT_TRUE(value);
|
| EXPECT_TRUE(slice.empty());
|
| }
|
| {
|
| - std::vector<char> encoded;
|
| + std::string encoded;
|
| encoded.push_back(0);
|
| - StringPiece slice(&*encoded.begin(), encoded.size());
|
| + StringPiece slice(encoded);
|
| bool value;
|
| EXPECT_TRUE(DecodeBool(&slice, &value));
|
| EXPECT_FALSE(value);
|
| @@ -218,9 +216,9 @@ TEST(IndexedDBLevelDBCodingTest, DecodeInt) {
|
|
|
| for (size_t i = 0; i < test_cases.size(); ++i) {
|
| int64 n = test_cases[i];
|
| - std::vector<char> v = WrappedEncodeInt(n);
|
| + std::string v = WrappedEncodeInt(n);
|
| ASSERT_GT(v.size(), static_cast<size_t>(0));
|
| - StringPiece slice(&*v.begin(), v.size());
|
| + StringPiece slice(v);
|
| int64 value;
|
| EXPECT_TRUE(DecodeInt(&slice, &value));
|
| EXPECT_EQ(n, value);
|
| @@ -240,8 +238,8 @@ TEST(IndexedDBLevelDBCodingTest, DecodeInt) {
|
| }
|
| }
|
|
|
| -static std::vector<char> WrappedEncodeVarInt(int64 value) {
|
| - std::vector<char> buffer;
|
| +static std::string WrappedEncodeVarInt(int64 value) {
|
| + std::string buffer;
|
| EncodeVarInt(value, &buffer);
|
| return buffer;
|
| }
|
| @@ -277,9 +275,9 @@ TEST(IndexedDBLevelDBCodingTest, DecodeVarInt) {
|
|
|
| for (size_t i = 0; i < test_cases.size(); ++i) {
|
| int64 n = test_cases[i];
|
| - std::vector<char> v = WrappedEncodeVarInt(n);
|
| + std::string v = WrappedEncodeVarInt(n);
|
| ASSERT_GT(v.size(), static_cast<size_t>(0));
|
| - StringPiece slice(&*v.begin(), v.size());
|
| + StringPiece slice(v);
|
| int64 res;
|
| EXPECT_TRUE(DecodeVarInt(&slice, &res));
|
| EXPECT_EQ(n, res);
|
| @@ -300,8 +298,8 @@ TEST(IndexedDBLevelDBCodingTest, DecodeVarInt) {
|
| }
|
| }
|
|
|
| -static std::vector<char> WrappedEncodeString(string16 value) {
|
| - std::vector<char> buffer;
|
| +static std::string WrappedEncodeString(string16 value) {
|
| + std::string buffer;
|
| EncodeString(value, &buffer);
|
| return buffer;
|
| }
|
| @@ -335,7 +333,7 @@ TEST(IndexedDBLevelDBCodingTest, DecodeString) {
|
|
|
| for (size_t i = 0; i < test_cases.size(); ++i) {
|
| const string16& test_case = test_cases[i];
|
| - std::vector<char> v = WrappedEncodeString(test_case);
|
| + std::string v = WrappedEncodeString(test_case);
|
|
|
| StringPiece slice;
|
| if (v.size()) {
|
| @@ -356,8 +354,8 @@ TEST(IndexedDBLevelDBCodingTest, DecodeString) {
|
| }
|
| }
|
|
|
| -static std::vector<char> WrappedEncodeStringWithLength(string16 value) {
|
| - std::vector<char> buffer;
|
| +static std::string WrappedEncodeStringWithLength(string16 value) {
|
| + std::string buffer;
|
| EncodeStringWithLength(value, &buffer);
|
| return buffer;
|
| }
|
| @@ -396,9 +394,9 @@ TEST(IndexedDBLevelDBCodingTest, DecodeStringWithLength) {
|
|
|
| for (size_t i = 0; i < test_cases.size(); ++i) {
|
| string16 s = test_cases[i];
|
| - std::vector<char> v = WrappedEncodeStringWithLength(s);
|
| + std::string v = WrappedEncodeStringWithLength(s);
|
| ASSERT_GT(v.size(), static_cast<size_t>(0));
|
| - StringPiece slice(&*v.begin(), v.size());
|
| + StringPiece slice(v);
|
| string16 res;
|
| EXPECT_TRUE(DecodeStringWithLength(&slice, &res));
|
| EXPECT_EQ(s, res);
|
| @@ -419,13 +417,12 @@ TEST(IndexedDBLevelDBCodingTest, DecodeStringWithLength) {
|
| }
|
| }
|
|
|
| -static int CompareStrings(const std::vector<char>& p,
|
| - const std::vector<char>& q) {
|
| +static int CompareStrings(const std::string& p, const std::string& q) {
|
| bool ok;
|
| DCHECK(!p.empty());
|
| DCHECK(!q.empty());
|
| - StringPiece slice_p(&*p.begin(), p.size());
|
| - StringPiece slice_q(&*q.begin(), q.size());
|
| + StringPiece slice_p(p);
|
| + StringPiece slice_q(q);
|
| int result = CompareEncodedStringsWithLength(&slice_p, &slice_q, &ok);
|
| EXPECT_TRUE(ok);
|
| EXPECT_TRUE(slice_p.empty());
|
| @@ -464,9 +461,9 @@ TEST(IndexedDBLevelDBCodingTest, CompareEncodedStringsWithLength) {
|
| EXPECT_EQ(a.compare(a), 0);
|
| EXPECT_EQ(b.compare(b), 0);
|
|
|
| - std::vector<char> encoded_a = WrappedEncodeStringWithLength(a);
|
| + std::string encoded_a = WrappedEncodeStringWithLength(a);
|
| EXPECT_TRUE(encoded_a.size());
|
| - std::vector<char> encoded_b = WrappedEncodeStringWithLength(b);
|
| + std::string encoded_b = WrappedEncodeStringWithLength(b);
|
| EXPECT_TRUE(encoded_a.size());
|
|
|
| EXPECT_LT(CompareStrings(encoded_a, encoded_b), 0);
|
| @@ -476,8 +473,8 @@ TEST(IndexedDBLevelDBCodingTest, CompareEncodedStringsWithLength) {
|
| }
|
| }
|
|
|
| -static std::vector<char> WrappedEncodeDouble(double value) {
|
| - std::vector<char> buffer;
|
| +static std::string WrappedEncodeDouble(double value) {
|
| + std::string buffer;
|
| EncodeDouble(value, &buffer);
|
| return buffer;
|
| }
|
| @@ -494,9 +491,9 @@ TEST(IndexedDBLevelDBCodingTest, DecodeDouble) {
|
|
|
| for (size_t i = 0; i < test_cases.size(); ++i) {
|
| double value = test_cases[i];
|
| - std::vector<char> v = WrappedEncodeDouble(value);
|
| + std::string v = WrappedEncodeDouble(value);
|
| ASSERT_GT(v.size(), static_cast<size_t>(0));
|
| - StringPiece slice(&*v.begin(), v.size());
|
| + StringPiece slice(v);
|
| double result;
|
| EXPECT_TRUE(DecodeDouble(&slice, &result));
|
| EXPECT_EQ(value, result);
|
| @@ -520,7 +517,7 @@ TEST(IndexedDBLevelDBCodingTest, DecodeDouble) {
|
| TEST(IndexedDBLevelDBCodingTest, EncodeDecodeIDBKey) {
|
| IndexedDBKey expected_key;
|
| scoped_ptr<IndexedDBKey> decoded_key;
|
| - std::vector<char> v;
|
| + std::string v;
|
| StringPiece slice;
|
|
|
| std::vector<IndexedDBKey> test_cases;
|
| @@ -553,16 +550,15 @@ TEST(IndexedDBLevelDBCodingTest, EncodeDecodeIDBKey) {
|
| }
|
| }
|
|
|
| -static std::vector<char> WrappedEncodeIDBKeyPath(
|
| - const IndexedDBKeyPath& value) {
|
| - std::vector<char> buffer;
|
| +static std::string WrappedEncodeIDBKeyPath(const IndexedDBKeyPath& value) {
|
| + std::string buffer;
|
| EncodeIDBKeyPath(value, &buffer);
|
| return buffer;
|
| }
|
|
|
| TEST(IndexedDBLevelDBCodingTest, EncodeDecodeIDBKeyPath) {
|
| std::vector<IndexedDBKeyPath> key_paths;
|
| - std::vector<std::vector<char> > encoded_paths;
|
| + std::vector<std::string> encoded_paths;
|
|
|
| {
|
| key_paths.push_back(IndexedDBKeyPath());
|
| @@ -570,7 +566,7 @@ TEST(IndexedDBLevelDBCodingTest, EncodeDecodeIDBKeyPath) {
|
| 0 // Type is null
|
| };
|
| encoded_paths.push_back(
|
| - std::vector<char>(expected, expected + arraysize(expected)));
|
| + std::string(expected, expected + arraysize(expected)));
|
| }
|
|
|
| {
|
| @@ -580,7 +576,7 @@ TEST(IndexedDBLevelDBCodingTest, EncodeDecodeIDBKeyPath) {
|
| 0 // Length is 0
|
| };
|
| encoded_paths.push_back(
|
| - std::vector<char>(expected, expected + arraysize(expected)));
|
| + std::string(expected, expected + arraysize(expected)));
|
| }
|
|
|
| {
|
| @@ -590,7 +586,7 @@ TEST(IndexedDBLevelDBCodingTest, EncodeDecodeIDBKeyPath) {
|
| 3, 0, 'f', 0, 'o', 0, 'o' // String length 3, UTF-16BE
|
| };
|
| encoded_paths.push_back(
|
| - std::vector<char>(expected, expected + arraysize(expected)));
|
| + std::string(expected, expected + arraysize(expected)));
|
| }
|
|
|
| {
|
| @@ -601,7 +597,7 @@ TEST(IndexedDBLevelDBCodingTest, EncodeDecodeIDBKeyPath) {
|
| 'r' // String length 7, UTF-16BE
|
| };
|
| encoded_paths.push_back(
|
| - std::vector<char>(expected, expected + arraysize(expected)));
|
| + std::string(expected, expected + arraysize(expected)));
|
| }
|
|
|
| {
|
| @@ -619,18 +615,18 @@ TEST(IndexedDBLevelDBCodingTest, EncodeDecodeIDBKeyPath) {
|
| 'r' // Member 3 (String length 7)
|
| };
|
| encoded_paths.push_back(
|
| - std::vector<char>(expected, expected + arraysize(expected)));
|
| + std::string(expected, expected + arraysize(expected)));
|
| }
|
|
|
| ASSERT_EQ(key_paths.size(), encoded_paths.size());
|
| for (size_t i = 0; i < key_paths.size(); ++i) {
|
| IndexedDBKeyPath key_path = key_paths[i];
|
| - std::vector<char> encoded = encoded_paths[i];
|
| + std::string encoded = encoded_paths[i];
|
|
|
| - std::vector<char> v = WrappedEncodeIDBKeyPath(key_path);
|
| + std::string v = WrappedEncodeIDBKeyPath(key_path);
|
| EXPECT_EQ(encoded, v);
|
|
|
| - StringPiece slice(&*encoded.begin(), encoded.size());
|
| + StringPiece slice(encoded);
|
| IndexedDBKeyPath decoded;
|
| EXPECT_TRUE(DecodeIDBKeyPath(&slice, &decoded));
|
| EXPECT_EQ(key_path, decoded);
|
| @@ -711,23 +707,23 @@ TEST(IndexedDBLevelDBCodingTest, ExtractAndCompareIDBKeys) {
|
|
|
| EXPECT_TRUE(key_a.IsLessThan(key_b));
|
|
|
| - std::vector<char> encoded_a;
|
| + std::string encoded_a;
|
| EncodeIDBKey(key_a, &encoded_a);
|
| EXPECT_TRUE(encoded_a.size());
|
| - std::vector<char> encoded_b;
|
| + std::string encoded_b;
|
| EncodeIDBKey(key_b, &encoded_b);
|
| EXPECT_TRUE(encoded_b.size());
|
|
|
| - std::vector<char> extracted_a;
|
| - std::vector<char> extracted_b;
|
| + std::string extracted_a;
|
| + std::string extracted_b;
|
| StringPiece slice;
|
|
|
| - slice = StringPiece(&*encoded_a.begin(), encoded_a.size());
|
| + slice = StringPiece(encoded_a);
|
| EXPECT_TRUE(ExtractEncodedIDBKey(&slice, &extracted_a));
|
| EXPECT_TRUE(slice.empty());
|
| EXPECT_EQ(encoded_a, extracted_a);
|
|
|
| - slice = StringPiece(&*encoded_b.begin(), encoded_b.size());
|
| + slice = StringPiece(encoded_b);
|
| EXPECT_TRUE(ExtractEncodedIDBKey(&slice, &extracted_b));
|
| EXPECT_TRUE(slice.empty());
|
| EXPECT_EQ(encoded_b, extracted_b);
|
| @@ -743,7 +739,7 @@ TEST(IndexedDBLevelDBCodingTest, ExtractAndCompareIDBKeys) {
|
| }
|
|
|
| TEST(IndexedDBLevelDBCodingTest, ComparisonTest) {
|
| - std::vector<std::vector<char> > keys;
|
| + std::vector<std::string> keys;
|
| keys.push_back(SchemaVersionKey::Encode());
|
| keys.push_back(MaxDatabaseIdKey::Encode());
|
| keys.push_back(DatabaseFreeListKey::Encode(0));
|
| @@ -821,13 +817,11 @@ TEST(IndexedDBLevelDBCodingTest, ComparisonTest) {
|
| IndexDataKey::EncodeMaxKey(1, 2, std::numeric_limits<int32>::max() - 1));
|
|
|
| for (size_t i = 0; i < keys.size(); ++i) {
|
| - const LevelDBSlice key_a(keys[i]);
|
| - EXPECT_EQ(Compare(key_a, key_a, false), 0);
|
| + EXPECT_EQ(Compare(keys[i], keys[i], false), 0);
|
|
|
| for (size_t j = i + 1; j < keys.size(); ++j) {
|
| - const LevelDBSlice key_b(keys[j]);
|
| - EXPECT_LT(Compare(key_a, key_b, false), 0);
|
| - EXPECT_GT(Compare(key_b, key_a, false), 0);
|
| + EXPECT_LT(Compare(keys[i], keys[j], false), 0);
|
| + EXPECT_GT(Compare(keys[j], keys[i], false), 0);
|
| }
|
| }
|
| }
|
| @@ -841,8 +835,8 @@ TEST(IndexedDBLevelDBCodingTest, EncodeVarIntVSEncodeByteTest) {
|
| for (size_t i = 0; i < test_cases.size(); ++i) {
|
| unsigned char n = test_cases[i];
|
|
|
| - std::vector<char> vA = WrappedEncodeByte(n);
|
| - std::vector<char> vB = WrappedEncodeVarInt(static_cast<int64>(n));
|
| + std::string vA = WrappedEncodeByte(n);
|
| + std::string vB = WrappedEncodeVarInt(static_cast<int64>(n));
|
|
|
| EXPECT_EQ(vA.size(), vB.size());
|
| EXPECT_EQ(*vA.begin(), *vB.begin());
|
|
|