Add tests for Writer API for RAPIDJSON_HAS_STDSTRING

This commit is contained in:
miloyip 2015-04-13 14:25:05 +08:00
parent 3d82781a75
commit 3c028685df
4 changed files with 22 additions and 2 deletions

View File

@ -78,7 +78,7 @@ public:
#if RAPIDJSON_HAS_STDSTRING
bool String(const std::basic_string<Ch>& str) {
return String(str.data(), SizeType(str.size()));
return String(str.data(), SizeType(str.size()));
}
#endif

View File

@ -127,7 +127,7 @@ public:
#if RAPIDJSON_HAS_STDSTRING
bool String(const std::basic_string<Ch>& str) {
return String(str.data(), SizeType(str.size()));
return String(str.data(), SizeType(str.size()));
}
#endif

View File

@ -79,3 +79,14 @@ TEST(PrettyWriter, SetIndent) {
"}",
buffer.GetString());
}
#if RAPIDJSON_HAS_STDSTRING
TEST(PrettyWriter, String_STDSTRING) {
StringBuffer buffer;
PrettyWriter<StringBuffer> writer(buffer);
EXPECT_TRUE(writer.StartArray());
EXPECT_TRUE(writer.String(std::string("Hello\n")));
EXPECT_TRUE(writer.EndArray());
EXPECT_STREQ("[\n \"Hello\\n\"\n]", buffer.GetString());
}
#endif

View File

@ -89,6 +89,15 @@ TEST(Writer, String) {
TEST_ROUNDTRIP("[\"Hello\"]");
TEST_ROUNDTRIP("[\"Hello\\u0000World\"]");
TEST_ROUNDTRIP("[\"\\\"\\\\/\\b\\f\\n\\r\\t\"]");
#if RAPIDJSON_HAS_STDSTRING
{
StringBuffer buffer;
Writer<StringBuffer> writer(buffer);
writer.String(std::string("Hello\n"));
EXPECT_STREQ("\"Hello\\n\"", buffer.GetString());
}
#endif
}
TEST(Writer, Double) {