mirror of
https://github.com/Tencent/rapidjson.git
synced 2025-10-28 03:20:15 +01:00
Add Value::XXXMember(...) overloads for std::string
This commit is contained in:
@@ -957,6 +957,19 @@ TEST(Value, Object) {
|
||||
EXPECT_EQ(2u, o.MemberCount());
|
||||
}
|
||||
|
||||
#if RAPIDJSON_HAS_STDSTRING
|
||||
{
|
||||
// AddMember(StringRefType, const std::string&, Allocator)
|
||||
Value o(kObjectType);
|
||||
o.AddMember("b", std::string("Banana"), allocator);
|
||||
EXPECT_STREQ("Banana", o["b"].GetString());
|
||||
|
||||
// RemoveMember(const std::string&)
|
||||
o.RemoveMember(std::string("b"));
|
||||
EXPECT_TRUE(o.ObjectEmpty());
|
||||
}
|
||||
#endif
|
||||
|
||||
#if RAPIDJSON_HAS_CXX11_RVALUE_REFS
|
||||
// AddMember(GenericValue&&, ...) variants
|
||||
{
|
||||
@@ -986,6 +999,10 @@ TEST(Value, Object) {
|
||||
EXPECT_TRUE(y.HasMember("A"));
|
||||
EXPECT_TRUE(y.HasMember("B"));
|
||||
|
||||
#if RAPIDJSON_HAS_STDSTRING
|
||||
EXPECT_TRUE(x.HasMember(std::string("A")));
|
||||
#endif
|
||||
|
||||
name.SetString("C\0D");
|
||||
EXPECT_TRUE(x.HasMember(name));
|
||||
EXPECT_TRUE(y.HasMember(name));
|
||||
@@ -1009,6 +1026,11 @@ TEST(Value, Object) {
|
||||
EXPECT_STREQ("Banana", y["B"].GetString());
|
||||
EXPECT_STREQ("CherryD", y[C0D].GetString());
|
||||
|
||||
#if RAPIDJSON_HAS_STDSTRING
|
||||
EXPECT_STREQ("Apple", x["A"].GetString());
|
||||
EXPECT_STREQ("Apple", y[std::string("A")].GetString());
|
||||
#endif
|
||||
|
||||
// member iterator
|
||||
Value::MemberIterator itr = x.MemberBegin();
|
||||
EXPECT_TRUE(itr != x.MemberEnd());
|
||||
|
||||
Reference in New Issue
Block a user