Go to the source code of this file.
|
| | TEST (Writer, Compact) |
| |
| | TEST (Writer, Root) |
| |
| | TEST (Writer, Int) |
| |
| | TEST (Writer, UInt) |
| |
| | TEST (Writer, Int64) |
| |
| | TEST (Writer, Uint64) |
| |
| | TEST (Writer, String) |
| |
| | TEST (Writer, Issue_889) |
| |
| | TEST (Writer, ScanWriteUnescapedString) |
| |
| | TEST (Writer, Double) |
| |
| template<typename TargetEncoding > |
| void | TestTranscode (const char *json) |
| |
| | TEST (Writer, Transcode) |
| |
| | TEST (Writer, OStreamWrapper) |
| |
| | TEST (Writer, AssertRootMayBeAnyValue) |
| |
| | TEST (Writer, AssertIncorrectObjectLevel) |
| |
| | TEST (Writer, AssertIncorrectArrayLevel) |
| |
| | TEST (Writer, AssertIncorrectEndObject) |
| |
| | TEST (Writer, AssertIncorrectEndArray) |
| |
| | TEST (Writer, AssertObjectKeyNotString) |
| |
| | TEST (Writer, AssertMultipleRoot) |
| |
| | TEST (Writer, RootObjectIsComplete) |
| |
| | TEST (Writer, RootArrayIsComplete) |
| |
| | TEST (Writer, RootValueIsComplete) |
| |
| | TEST (Writer, InvalidEncoding) |
| |
| | TEST (Writer, ValidateEncoding) |
| |
| | TEST (Writer, InvalidEventSequence) |
| |
| | TEST (Writer, NaN) |
| |
| | TEST (Writer, Inf) |
| |
| | TEST (Writer, RawValue) |
| |
| | TEST (Write, RawValue_Issue1152) |
| |
◆ T [1/3]
Value: {\
StringBuffer buffer;\
Writer<StringBuffer> writer(buffer);\
EXPECT_TRUE(x);\
}
◆ T [2/3]
Value: {\
StringBuffer buffer;\
Writer<StringBuffer> writer(buffer);\
writer.StartObject();\
}
◆ T [3/3]
Value: {\
StringBuffer buffer;\
Writer<StringBuffer> writer(buffer);\
EXPECT_FALSE(writer.IsComplete()); \
x; \
EXPECT_TRUE(writer.IsComplete()); \
}
◆ TEST_ROUNDTRIP
| #define TEST_ROUNDTRIP |
( |
|
json | ) |
|
Value: { \
StringBuffer buffer; \
Writer<StringBuffer> writer(buffer); \
Reader reader; \
EXPECT_STREQ(
json, buffer.GetString()); \
EXPECT_TRUE(writer.IsComplete()); \
}
@ kParseFullPrecisionFlag
Parse number in full precision (but slower).
Definition at line 43 of file writertest.cpp.
◆ TEST() [1/29]
| TEST |
( |
Write |
, |
|
|
RawValue_Issue1152 |
|
|
) |
| |
Definition at line 541 of file writertest.cpp.
548 EXPECT_EQ(
static_cast<unsigned>(
'n'), out[0]);
549 EXPECT_EQ(
static_cast<unsigned>(
'u'), out[1]);
550 EXPECT_EQ(
static_cast<unsigned>(
'l'), out[2]);
551 EXPECT_EQ(
static_cast<unsigned>(
'l'), out[3]);
552 EXPECT_EQ(
static_cast<unsigned>(0 ), out[4]);
C-runtime library allocator.
Represents an in-memory output stream.
const Ch * GetString() const
#define EXPECT_EQ(val1, val2)
#define EXPECT_TRUE(condition)
#define EXPECT_STREQ(s1, s2)
#define EXPECT_FALSE(condition)
@ kWriteValidateEncodingFlag
Validate encoding of JSON strings.
◆ TEST() [2/29]
| TEST |
( |
Writer |
, |
|
|
AssertIncorrectArrayLevel |
|
|
) |
| |
Definition at line 263 of file writertest.cpp.
#define ASSERT_THROW(statement, expected_exception)
◆ TEST() [3/29]
| TEST |
( |
Writer |
, |
|
|
AssertIncorrectEndArray |
|
|
) |
| |
◆ TEST() [4/29]
| TEST |
( |
Writer |
, |
|
|
AssertIncorrectEndObject |
|
|
) |
| |
◆ TEST() [5/29]
| TEST |
( |
Writer |
, |
|
|
AssertIncorrectObjectLevel |
|
|
) |
| |
◆ TEST() [6/29]
| TEST |
( |
Writer |
, |
|
|
AssertMultipleRoot |
|
|
) |
| |
Definition at line 306 of file writertest.cpp.
310 writer.StartObject();
314 writer.Reset(buffer);
318 writer.Reset(buffer);
319 writer.String(
"foo");
322 writer.Reset(buffer);
◆ TEST() [7/29]
| TEST |
( |
Writer |
, |
|
|
AssertObjectKeyNotString |
|
|
) |
| |
Definition at line 285 of file writertest.cpp.
288 StringBuffer buffer;\
289 Writer<StringBuffer> writer(buffer);\
290 writer.StartObject();\
291 ASSERT_THROW(x, AssertException); \
293 T(writer.Bool(
false));
294 T(writer.Bool(
true));
301 T(writer.StartObject());
302 T(writer.StartArray());
◆ TEST() [8/29]
| TEST |
( |
Writer |
, |
|
|
AssertRootMayBeAnyValue |
|
|
) |
| |
Definition at line 236 of file writertest.cpp.
239 StringBuffer buffer;\
240 Writer<StringBuffer> writer(buffer);\
243 T(writer.Bool(
false));
244 T(writer.Bool(
true));
251 T(writer.String(
"foo"));
◆ TEST() [9/29]
Definition at line 30 of file writertest.cpp.
31 StringStream s(
"{ \"hello\" : \"world\", \"t\" : true , \"f\" : false, \"n\": null, \"i\":123, \"pi\": 3.1416, \"a\":[1, 2, 3] } ");
36 reader.
Parse<0>(s, writer);
37 EXPECT_STREQ(
"{\"hello\":\"world\",\"t\":true,\"f\":false,\"n\":null,\"i\":123,\"pi\":3.1416,\"a\":[1,2,3]}", buffer.
GetString());
ParseResult Parse(InputStream &is, Handler &handler)
Parse JSON text.
size_t GetSize() const
Get the size of string in bytes in the string buffer.
◆ TEST() [10/29]
◆ TEST() [11/29]
Definition at line 503 of file writertest.cpp.
504 double inf = std::numeric_limits<double>::infinity();
@ kWriteNanAndInfFlag
Allow writing of Infinity, -Infinity and NaN.
◆ TEST() [12/29]
◆ TEST() [13/29]
◆ TEST() [14/29]
| TEST |
( |
Writer |
, |
|
|
InvalidEncoding |
|
|
) |
| |
◆ TEST() [15/29]
| TEST |
( |
Writer |
, |
|
|
InvalidEventSequence |
|
|
) |
| |
Definition at line 433 of file writertest.cpp.
438 writer.StartObject();
456 writer.StartObject();
465 writer.StartObject();
475 writer.StartObject();
#define EXPECT_THROW(statement, expected_exception)
◆ TEST() [16/29]
◆ TEST() [17/29]
Definition at line 484 of file writertest.cpp.
485 double nan = std::numeric_limits<double>::quiet_NaN();
◆ TEST() [18/29]
Definition at line 221 of file writertest.cpp.
222 StringStream s(
"{ \"hello\" : \"world\", \"t\" : true , \"f\" : false, \"n\": null, \"i\":123, \"pi\": 3.1416, \"a\":[1, 2, 3], \"u64\": 1234567890123456789, \"i64\":-1234567890123456789 } ");
224 std::stringstream ss;
230 reader.
Parse<0>(s, writer);
233 EXPECT_STREQ(
"{\"hello\":\"world\",\"t\":true,\"f\":false,\"n\":null,\"i\":123,\"pi\":3.1416,\"a\":[1,2,3],\"u64\":1234567890123456789,\"i64\":-1234567890123456789}", actual.c_str());
◆ TEST() [19/29]
Definition at line 527 of file writertest.cpp.
530 writer.StartObject();
534 const char json[] =
"[\"Hello\\nWorld\", 123.456]";
◆ TEST() [20/29]
◆ TEST() [21/29]
| TEST |
( |
Writer |
, |
|
|
RootArrayIsComplete |
|
|
) |
| |
◆ TEST() [22/29]
| TEST |
( |
Writer |
, |
|
|
RootObjectIsComplete |
|
|
) |
| |
Definition at line 328 of file writertest.cpp.
332 writer.StartObject();
334 writer.String(
"foo");
◆ TEST() [23/29]
| TEST |
( |
Writer |
, |
|
|
RootValueIsComplete |
|
|
) |
| |
Definition at line 356 of file writertest.cpp.
359 StringBuffer buffer;\
360 Writer<StringBuffer> writer(buffer);\
361 EXPECT_FALSE(writer.IsComplete()); \
363 EXPECT_TRUE(writer.IsComplete()); \
366 T(writer.Bool(
true));
367 T(writer.Bool(
false));
373 T(writer.String(
""));
◆ TEST() [24/29]
| TEST |
( |
Writer |
, |
|
|
ScanWriteUnescapedString |
|
|
) |
| |
Definition at line 116 of file writertest.cpp.
117 const char json[] =
"[\" \\\"0123456789ABCDEF\"]";
119 char buffer2[
sizeof(
json) + 32];
122 for (
int i = 0; i < 32; i++) {
123 char* p = buffer2 + i;
void * memcpy(void *a, const void *b, size_t c)
◆ TEST() [25/29]
◆ TEST() [26/29]
Definition at line 160 of file writertest.cpp.
161 const char json[] =
"{\"hello\":\"world\",\"t\":true,\"f\":false,\"n\":null,\"i\":123,\"pi\":3.1416,\"a\":[1,2,3],\"dollar\":\"\x24\",\"cents\":\"\xC2\xA2\",\"euro\":\"\xE2\x82\xAC\",\"gclef\":\"\xF0\x9D\x84\x9E\"}";
164 TestTranscode<UTF8<> >(
json);
167 TestTranscode<ASCII<> >(
json);
170 TestTranscode<UTF16<> >(
json);
173 TestTranscode<UTF32<> >(
json);
177 for (
size_t i = 0; i < 5; i++) {
183 reader.
Parse(s, writer);
190 reader2.
Parse(is, writer2);
Output stream wrapper with dynamically bound encoding and automatic encoding detection.
UTFType
Runtime-specified UTF encoding type of a stream.
@ kUTF32BE
UTF-32 big endian.
@ kUTF16BE
UTF-16 big endian.
@ kUTF32LE
UTF-32 little endian.
@ kUTF16LE
UTF-16 little endian.
Represents an in-memory output byte stream.
const Ch * GetBuffer() const
Represents an in-memory input byte stream.
◆ TEST() [27/29]
◆ TEST() [28/29]
◆ TEST() [29/29]
| TEST |
( |
Writer |
, |
|
|
ValidateEncoding |
|
|
) |
| |
◆ TestTranscode()
template<typename TargetEncoding >
| void TestTranscode |
( |
const char * |
json | ) |
|