Chromium Code Reviews| Index: components/leveldb/leveldb_service_unittest.cc |
| diff --git a/components/leveldb/leveldb_service_unittest.cc b/components/leveldb/leveldb_service_unittest.cc |
| index 598f48812a32dbd9daa6192bd9481553b8d764c3..fff41d791239daea620d0a50ba09c2b86a821cef 100644 |
| --- a/components/leveldb/leveldb_service_unittest.cc |
| +++ b/components/leveldb/leveldb_service_unittest.cc |
| @@ -8,8 +8,8 @@ |
| #include "components/filesystem/public/interfaces/directory.mojom.h" |
| #include "components/filesystem/public/interfaces/file_system.mojom.h" |
| #include "components/filesystem/public/interfaces/types.mojom.h" |
| +#include "components/leveldb/public/cpp/util.h" |
| #include "components/leveldb/public/interfaces/leveldb.mojom.h" |
| -#include "mojo/common/common_type_converters.h" |
| #include "mojo/public/cpp/bindings/binding_set.h" |
| #include "services/shell/public/cpp/service_context.h" |
| #include "services/shell/public/cpp/service_test.h" |
| @@ -41,42 +41,59 @@ base::Callback<void(T1, T2)> Capture(T1* t1, |
| return base::Bind(&DoCaptures<T1, T2>, t1, t2, quit_closure); |
| } |
| +template <typename T1, typename T2> |
| +void DoCapturesConstRef(T1* out_t1, |
|
yzshen1
2016/08/26 16:58:40
I guess you could reuse the template above by chan
leonhsl(Using Gerrit)
2016/08/29 06:36:17
Done and thanks! I was not aware of existence of s
|
| + T2* out_t2, |
| + const base::Closure& quit_closure, |
| + T1 in_t1, |
| + const T2& in_t2) { |
| + *out_t1 = in_t1; |
| + *out_t2 = in_t2; |
| + quit_closure.Run(); |
| +} |
| + |
| +template <typename T1, typename T2> |
| +base::Callback<void(T1, const T2&)> |
| +CaptureConstRef(T1* t1, T2* t2, const base::Closure& quit_closure) { |
| + return base::Bind(&DoCapturesConstRef<T1, T2>, t1, t2, quit_closure); |
| +} |
| + |
| void DatabaseSyncPut(mojom::LevelDBDatabase* database, |
| - mojo::Array<uint8_t> key, |
| - mojo::Array<uint8_t> value, |
| + const std::string& key, |
| + const std::string& value, |
| mojom::DatabaseError* out_error) { |
| base::RunLoop run_loop; |
| - database->Put(std::move(key), std::move(value), |
| + database->Put(StdStringToUint8Vector(key), StdStringToUint8Vector(value), |
| Capture(out_error, run_loop.QuitClosure())); |
| run_loop.Run(); |
| } |
| void DatabaseSyncGet(mojom::LevelDBDatabase* database, |
| - mojo::Array<uint8_t> key, |
| + const std::string& key, |
| mojom::DatabaseError* out_error, |
| - mojo::Array<uint8_t>* out_value) { |
| + std::vector<uint8_t>* out_value) { |
| base::RunLoop run_loop; |
| - database->Get(std::move(key), |
| - Capture(out_error, out_value, run_loop.QuitClosure())); |
| + database->Get(StdStringToUint8Vector(key), |
| + CaptureConstRef(out_error, out_value, run_loop.QuitClosure())); |
| run_loop.Run(); |
| } |
| void DatabaseSyncGetPrefixed(mojom::LevelDBDatabase* database, |
| - mojo::Array<uint8_t> key_prefix, |
| + const std::string& key_prefix, |
| mojom::DatabaseError* out_error, |
| - mojo::Array<mojom::KeyValuePtr>* out_key_values) { |
| + std::vector<mojom::KeyValuePtr>* out_key_values) { |
| base::RunLoop run_loop; |
| database->GetPrefixed( |
| - std::move(key_prefix), |
| + StdStringToUint8Vector(key_prefix), |
| Capture(out_error, out_key_values, run_loop.QuitClosure())); |
| run_loop.Run(); |
| } |
| void DatabaseSyncDeletePrefixed(mojom::LevelDBDatabase* database, |
| - mojo::Array<uint8_t> key_prefix, |
| + const std::string& key_prefix, |
| mojom::DatabaseError* out_error) { |
| base::RunLoop run_loop; |
| - database->DeletePrefixed(std::move(key_prefix), |
| + database->DeletePrefixed(StdStringToUint8Vector(key_prefix), |
| Capture(out_error, run_loop.QuitClosure())); |
| run_loop.Run(); |
| } |
| @@ -136,36 +153,30 @@ TEST_F(LevelDBServiceTest, Basic) { |
| // Write a key to the database. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - DatabaseSyncPut(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("key")), |
| - mojo::Array<uint8_t>::From(std::string("value")), &error); |
| + DatabaseSyncPut(database.get(), "key", "value", &error); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| // Read the key back from the database. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - mojo::Array<uint8_t> value; |
| - DatabaseSyncGet(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("key")), &error, |
| - &value); |
| + std::vector<uint8_t> value; |
| + DatabaseSyncGet(database.get(), "key", &error, &value); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| - EXPECT_EQ("value", value.To<std::string>()); |
| + EXPECT_EQ("value", Uint8VectorToStdString(value)); |
| // Delete the key from the database. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| base::RunLoop run_loop; |
| - database->Delete(mojo::Array<uint8_t>::From(std::string("key")), |
| + database->Delete(StdStringToUint8Vector("key"), |
| Capture(&error, run_loop.QuitClosure())); |
| run_loop.Run(); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| // Read the key back from the database. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - value.SetToEmpty(); |
| - DatabaseSyncGet(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("key")), &error, |
| - &value); |
| + value.clear(); |
| + DatabaseSyncGet(database.get(), "key", &error, &value); |
| EXPECT_EQ(mojom::DatabaseError::NOT_FOUND, error); |
| - EXPECT_EQ("", value.To<std::string>()); |
| + EXPECT_EQ("", Uint8VectorToStdString(value)); |
| } |
| TEST_F(LevelDBServiceTest, WriteBatch) { |
| @@ -175,22 +186,20 @@ TEST_F(LevelDBServiceTest, WriteBatch) { |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| // Write a key to the database. |
| - DatabaseSyncPut(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("key")), |
| - mojo::Array<uint8_t>::From(std::string("value")), &error); |
| + DatabaseSyncPut(database.get(), "key", "value", &error); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| // Create a batched operation which both deletes "key" and adds another write. |
| - mojo::Array<mojom::BatchedOperationPtr> operations; |
| + std::vector<mojom::BatchedOperationPtr> operations; |
| mojom::BatchedOperationPtr item = mojom::BatchedOperation::New(); |
| item->type = mojom::BatchOperationType::DELETE_KEY; |
| - item->key = mojo::Array<uint8_t>::From(std::string("key")); |
| + item->key = StdStringToUint8Vector("key"); |
| operations.push_back(std::move(item)); |
| item = mojom::BatchedOperation::New(); |
| item->type = mojom::BatchOperationType::PUT_KEY; |
| - item->key = mojo::Array<uint8_t>::From(std::string("other")); |
| - item->value = mojo::Array<uint8_t>::From(std::string("more")); |
| + item->key = StdStringToUint8Vector("other"); |
| + item->value = StdStringToUint8Vector("more"); |
| operations.push_back(std::move(item)); |
| base::RunLoop run_loop; |
| @@ -201,36 +210,28 @@ TEST_F(LevelDBServiceTest, WriteBatch) { |
| // Reading "key" should be invalid now. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - mojo::Array<uint8_t> value; |
| - DatabaseSyncGet(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("key")), &error, |
| - &value); |
| + std::vector<uint8_t> value; |
| + DatabaseSyncGet(database.get(), "key", &error, &value); |
| EXPECT_EQ(mojom::DatabaseError::NOT_FOUND, error); |
| - EXPECT_EQ("", value.To<std::string>()); |
| + EXPECT_EQ("", Uint8VectorToStdString(value)); |
| // Reading "other" should return "more" |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - DatabaseSyncGet(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("other")), &error, |
| - &value); |
| + DatabaseSyncGet(database.get(), "other", &error, &value); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| - EXPECT_EQ("more", value.To<std::string>()); |
| + EXPECT_EQ("more", Uint8VectorToStdString(value)); |
| // Write a some prefixed keys to the database. |
| - DatabaseSyncPut(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("prefix-key1")), |
| - mojo::Array<uint8_t>::From(std::string("value")), &error); |
| + DatabaseSyncPut(database.get(), "prefix-key1", "value", &error); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| - DatabaseSyncPut(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("prefix-key2")), |
| - mojo::Array<uint8_t>::From(std::string("value")), &error); |
| + DatabaseSyncPut(database.get(), "prefix-key2", "value", &error); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| // Create a batched operation to delete them. |
| - operations.SetToEmpty(); |
| + operations.clear(); |
| item = mojom::BatchedOperation::New(); |
| item->type = mojom::BatchOperationType::DELETE_PREFIXED_KEY; |
| - item->key = mojo::Array<uint8_t>::From(std::string("prefix")); |
| + item->key = StdStringToUint8Vector("prefix"); |
| operations.push_back(std::move(item)); |
| base::RunLoop run_loop2; |
| database->Write(std::move(operations), |
| @@ -240,20 +241,16 @@ TEST_F(LevelDBServiceTest, WriteBatch) { |
| // Reading all "prefix" keys should be invalid now. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - value = nullptr; |
| - DatabaseSyncGet(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("prefix-key1")), |
| - &error, &value); |
| + value.clear(); |
| + DatabaseSyncGet(database.get(), "prefix-key1", &error, &value); |
| EXPECT_EQ(mojom::DatabaseError::NOT_FOUND, error); |
| - EXPECT_EQ("", value.To<std::string>()); |
| + EXPECT_EQ("", Uint8VectorToStdString(value)); |
| // Reading "key" should be invalid now. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - value = nullptr; |
| - DatabaseSyncGet(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("prefix-key2")), |
| - &error, &value); |
| + value.clear(); |
| + DatabaseSyncGet(database.get(), "prefix-key2", &error, &value); |
| EXPECT_EQ(mojom::DatabaseError::NOT_FOUND, error); |
| - EXPECT_EQ("", value.To<std::string>()); |
| + EXPECT_EQ("", Uint8VectorToStdString(value)); |
| } |
| TEST_F(LevelDBServiceTest, Reconnect) { |
| @@ -279,9 +276,7 @@ TEST_F(LevelDBServiceTest, Reconnect) { |
| // Write a key to the database. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - DatabaseSyncPut(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("key")), |
| - mojo::Array<uint8_t>::From(std::string("value")), &error); |
| + DatabaseSyncPut(database.get(), "key", "value", &error); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| // The database should go out of scope here. |
| @@ -301,12 +296,10 @@ TEST_F(LevelDBServiceTest, Reconnect) { |
| // We should still be able to read the key back from the database. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - mojo::Array<uint8_t> value; |
| - DatabaseSyncGet(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("key")), &error, |
| - &value); |
| + std::vector<uint8_t> value; |
| + DatabaseSyncGet(database.get(), "key", &error, &value); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| - EXPECT_EQ("value", value.To<std::string>()); |
| + EXPECT_EQ("value", Uint8VectorToStdString(value)); |
| } |
| } |
| @@ -331,9 +324,7 @@ TEST_F(LevelDBServiceTest, GetFromSnapshots) { |
| // Write a key to the database. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - DatabaseSyncPut(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("key")), |
| - mojo::Array<uint8_t>::From(std::string("value")), &error); |
| + DatabaseSyncPut(database.get(), "key", "value", &error); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| // Take a snapshot where key=value. |
| @@ -344,30 +335,26 @@ TEST_F(LevelDBServiceTest, GetFromSnapshots) { |
| // Change key to "yek". |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - DatabaseSyncPut(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("key")), |
| - mojo::Array<uint8_t>::From(std::string("yek")), &error); |
| + DatabaseSyncPut(database.get(), "key", "yek", &error); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| // (Ensure this change is live on the database.) |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - mojo::Array<uint8_t> value; |
| - DatabaseSyncGet(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("key")), &error, |
| - &value); |
| + std::vector<uint8_t> value; |
| + DatabaseSyncGet(database.get(), "key", &error, &value); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| - EXPECT_EQ("yek", value.To<std::string>()); |
| + EXPECT_EQ("yek", Uint8VectorToStdString(value)); |
| // But if we were to read from the snapshot, we'd still get value. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - value.SetToEmpty(); |
| + value.clear(); |
| base::RunLoop run_loop2; |
| - database->GetFromSnapshot(key_value_snapshot, |
| - mojo::Array<uint8_t>::From(std::string("key")), |
| - Capture(&error, &value, run_loop2.QuitClosure())); |
| + database->GetFromSnapshot( |
| + key_value_snapshot, StdStringToUint8Vector("key"), |
| + CaptureConstRef(&error, &value, run_loop2.QuitClosure())); |
| run_loop2.Run(); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| - EXPECT_EQ("value", value.To<std::string>()); |
| + EXPECT_EQ("value", Uint8VectorToStdString(value)); |
| } |
| TEST_F(LevelDBServiceTest, InvalidArgumentOnInvalidSnapshot) { |
| @@ -379,11 +366,11 @@ TEST_F(LevelDBServiceTest, InvalidArgumentOnInvalidSnapshot) { |
| uint64_t invalid_snapshot = 8; |
| error = mojom::DatabaseError::OK; |
| - mojo::Array<uint8_t> value; |
| + std::vector<uint8_t> value; |
| base::RunLoop run_loop; |
| - database->GetFromSnapshot(invalid_snapshot, |
| - mojo::Array<uint8_t>::From(std::string("key")), |
| - Capture(&error, &value, run_loop.QuitClosure())); |
| + database->GetFromSnapshot( |
| + invalid_snapshot, StdStringToUint8Vector("key"), |
| + CaptureConstRef(&error, &value, run_loop.QuitClosure())); |
| run_loop.Run(); |
| EXPECT_EQ(mojom::DatabaseError::INVALID_ARGUMENT, error); |
| } |
| @@ -396,36 +383,30 @@ TEST_F(LevelDBServiceTest, MemoryDBReadWrite) { |
| // Write a key to the database. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - DatabaseSyncPut(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("key")), |
| - mojo::Array<uint8_t>::From(std::string("value")), &error); |
| + DatabaseSyncPut(database.get(), "key", "value", &error); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| // Read the key back from the database. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - mojo::Array<uint8_t> value; |
| - DatabaseSyncGet(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("key")), &error, |
| - &value); |
| + std::vector<uint8_t> value; |
| + DatabaseSyncGet(database.get(), "key", &error, &value); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| - EXPECT_EQ("value", value.To<std::string>()); |
| + EXPECT_EQ("value", Uint8VectorToStdString(value)); |
| // Delete the key from the database. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| base::RunLoop run_loop; |
| - database->Delete(mojo::Array<uint8_t>::From(std::string("key")), |
| + database->Delete(StdStringToUint8Vector("key"), |
| Capture(&error, run_loop.QuitClosure())); |
| run_loop.Run(); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| // Read the key back from the database. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - value.SetToEmpty(); |
| - DatabaseSyncGet(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("key")), &error, |
| - &value); |
| + value.clear(); |
| + DatabaseSyncGet(database.get(), "key", &error, &value); |
| EXPECT_EQ(mojom::DatabaseError::NOT_FOUND, error); |
| - EXPECT_EQ("", value.To<std::string>()); |
| + EXPECT_EQ("", Uint8VectorToStdString(value)); |
| } |
| TEST_F(LevelDBServiceTest, Prefixed) { |
| @@ -436,110 +417,90 @@ TEST_F(LevelDBServiceTest, Prefixed) { |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| const std::string prefix("prefix"); |
| - mojo::Array<mojom::KeyValuePtr> key_values; |
| + std::vector<mojom::KeyValuePtr> key_values; |
| // Completely empty database. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - DatabaseSyncGetPrefixed(database.get(), mojo::Array<uint8_t>::From(prefix), |
| - &error, &key_values); |
| + DatabaseSyncGetPrefixed(database.get(), prefix, &error, &key_values); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| EXPECT_TRUE(key_values.empty()); |
| // No values with our prefix, but values before and after. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - DatabaseSyncPut(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("a-before-prefix")), |
| - mojo::Array<uint8_t>::From(std::string("value")), &error); |
| + DatabaseSyncPut(database.get(), "a-before-prefix", "value", &error); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - DatabaseSyncPut(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("z-after-prefix")), |
| - mojo::Array<uint8_t>::From(std::string("value")), &error); |
| + DatabaseSyncPut(database.get(), "z-after-prefix", "value", &error); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| - key_values.SetToEmpty(); |
| + key_values.clear(); |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - DatabaseSyncGetPrefixed(database.get(), mojo::Array<uint8_t>::From(prefix), |
| - &error, &key_values); |
| + DatabaseSyncGetPrefixed(database.get(), prefix, &error, &key_values); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| EXPECT_TRUE(key_values.empty()); |
| // One value with the exact prefix. |
| - DatabaseSyncPut(database.get(), mojo::Array<uint8_t>::From(prefix), |
| - mojo::Array<uint8_t>::From(std::string("value")), &error); |
| + DatabaseSyncPut(database.get(), prefix, "value", &error); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - key_values.SetToEmpty(); |
| - DatabaseSyncGetPrefixed(database.get(), mojo::Array<uint8_t>::From(prefix), |
| - &error, &key_values); |
| + key_values.clear(); |
| + DatabaseSyncGetPrefixed(database.get(), prefix, &error, &key_values); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| EXPECT_EQ(1u, key_values.size()); |
| - EXPECT_EQ("prefix", key_values[0]->key.To<std::string>()); |
| - EXPECT_EQ("value", key_values[0]->value.To<std::string>()); |
| + EXPECT_EQ("prefix", Uint8VectorToStdString(key_values[0]->key)); |
| + EXPECT_EQ("value", Uint8VectorToStdString(key_values[0]->value)); |
| // Multiple values with starting with the prefix. |
| - DatabaseSyncPut(database.get(), mojo::Array<uint8_t>::From(prefix + "2"), |
| - mojo::Array<uint8_t>::From(std::string("value2")), &error); |
| + DatabaseSyncPut(database.get(), (prefix + "2"), "value2", &error); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - key_values.SetToEmpty(); |
| - DatabaseSyncGetPrefixed(database.get(), mojo::Array<uint8_t>::From(prefix), |
| - &error, &key_values); |
| + key_values.clear(); |
| + DatabaseSyncGetPrefixed(database.get(), prefix, &error, &key_values); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| EXPECT_EQ(2u, key_values.size()); |
| - EXPECT_EQ("prefix", key_values[0]->key.To<std::string>()); |
| - EXPECT_EQ("value", key_values[0]->value.To<std::string>()); |
| - EXPECT_EQ("prefix2", key_values[1]->key.To<std::string>()); |
| - EXPECT_EQ("value2", key_values[1]->value.To<std::string>()); |
| + EXPECT_EQ("prefix", Uint8VectorToStdString(key_values[0]->key)); |
| + EXPECT_EQ("value", Uint8VectorToStdString(key_values[0]->value)); |
| + EXPECT_EQ("prefix2", Uint8VectorToStdString(key_values[1]->key)); |
| + EXPECT_EQ("value2", Uint8VectorToStdString(key_values[1]->value)); |
| // Delete the prefixed values. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - DatabaseSyncDeletePrefixed(database.get(), mojo::Array<uint8_t>::From(prefix), |
| - &error); |
| + DatabaseSyncDeletePrefixed(database.get(), prefix, &error); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - key_values.SetToEmpty(); |
| - DatabaseSyncGetPrefixed(database.get(), mojo::Array<uint8_t>::From(prefix), |
| - &error, &key_values); |
| + key_values.clear(); |
| + DatabaseSyncGetPrefixed(database.get(), prefix, &error, &key_values); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| EXPECT_TRUE(key_values.empty()); |
| // Make sure the others are not deleted. |
| - mojo::Array<uint8_t> value; |
| - DatabaseSyncGet(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("a-before-prefix")), |
| - &error, &value); |
| + std::vector<uint8_t> value; |
| + DatabaseSyncGet(database.get(), "a-before-prefix", &error, &value); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| - EXPECT_EQ("value", value.To<std::string>()); |
| - value.SetToEmpty(); |
| - DatabaseSyncGet(database.get(), |
| - mojo::Array<uint8_t>::From(std::string("z-after-prefix")), |
| - &error, &value); |
| + EXPECT_EQ("value", Uint8VectorToStdString(value)); |
| + value.clear(); |
| + DatabaseSyncGet(database.get(), "z-after-prefix", &error, &value); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| - EXPECT_EQ("value", value.To<std::string>()); |
| + EXPECT_EQ("value", Uint8VectorToStdString(value)); |
| // A key having our prefix, but no key matching it exactly. |
| // Even thought there is no exact matching key, GetPrefixed |
| // and DeletePrefixed still operate on the values. |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - DatabaseSyncPut(database.get(), mojo::Array<uint8_t>::From(prefix + "2"), |
| - mojo::Array<uint8_t>::From(std::string("value2")), &error); |
| + DatabaseSyncPut(database.get(), (prefix + "2"), "value2", &error); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - key_values.SetToEmpty(); |
| - DatabaseSyncGetPrefixed(database.get(), mojo::Array<uint8_t>::From(prefix), |
| - &error, &key_values); |
| + key_values.clear(); |
| + DatabaseSyncGetPrefixed(database.get(), prefix, &error, &key_values); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| EXPECT_EQ(1u, key_values.size()); |
| - EXPECT_EQ("prefix2", key_values[0]->key.To<std::string>()); |
| - EXPECT_EQ("value2", key_values[0]->value.To<std::string>()); |
| + EXPECT_EQ("prefix2", Uint8VectorToStdString(key_values[0]->key)); |
| + EXPECT_EQ("value2", Uint8VectorToStdString(key_values[0]->value)); |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - DatabaseSyncDeletePrefixed(database.get(), mojo::Array<uint8_t>::From(prefix), |
| - &error); |
| + DatabaseSyncDeletePrefixed(database.get(), prefix, &error); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| error = mojom::DatabaseError::INVALID_ARGUMENT; |
| - key_values.SetToEmpty(); |
| - DatabaseSyncGetPrefixed(database.get(), mojo::Array<uint8_t>::From(prefix), |
| - &error, &key_values); |
| + key_values.clear(); |
| + DatabaseSyncGetPrefixed(database.get(), prefix, &error, &key_values); |
| EXPECT_EQ(mojom::DatabaseError::OK, error); |
| EXPECT_TRUE(key_values.empty()); |
| } |