"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "test/unittest/prettywritertest.cpp" between
rapidjson-1.0.2.tar.gz and rapidjson-1.1.0.tar.gz

About: RapidJSON is a fast JSON parser/generator for C++ with both SAX/DOM style API.

prettywritertest.cpp  (rapidjson-1.0.2):prettywritertest.cpp  (rapidjson-1.1.0)
skipping to change at line 42 skipping to change at line 42
" \"a\": [\n" " \"a\": [\n"
" 1,\n" " 1,\n"
" 2,\n" " 2,\n"
" 3,\n" " 3,\n"
" -1\n" " -1\n"
" ],\n" " ],\n"
" \"u64\": 1234567890123456789,\n" " \"u64\": 1234567890123456789,\n"
" \"i64\": -1234567890123456789\n" " \"i64\": -1234567890123456789\n"
"}"; "}";
static const char kPrettyJson_FormatOptions_SLA[] =
"{\n"
" \"hello\": \"world\",\n"
" \"t\": true,\n"
" \"f\": false,\n"
" \"n\": null,\n"
" \"i\": 123,\n"
" \"pi\": 3.1416,\n"
" \"a\": [1, 2, 3, -1],\n"
" \"u64\": 1234567890123456789,\n"
" \"i64\": -1234567890123456789\n"
"}";
TEST(PrettyWriter, Basic) { TEST(PrettyWriter, Basic) {
StringBuffer buffer; StringBuffer buffer;
PrettyWriter<StringBuffer> writer(buffer); PrettyWriter<StringBuffer> writer(buffer);
Reader reader; Reader reader;
StringStream s(kJson); StringStream s(kJson);
reader.Parse(s, writer); reader.Parse(s, writer);
EXPECT_STREQ(kPrettyJson, buffer.GetString()); EXPECT_STREQ(kPrettyJson, buffer.GetString());
} }
TEST(PrettyWriter, FormatOptions) {
StringBuffer buffer;
PrettyWriter<StringBuffer> writer(buffer);
writer.SetFormatOptions(kFormatSingleLineArray);
Reader reader;
StringStream s(kJson);
reader.Parse(s, writer);
EXPECT_STREQ(kPrettyJson_FormatOptions_SLA, buffer.GetString());
}
TEST(PrettyWriter, SetIndent) { TEST(PrettyWriter, SetIndent) {
StringBuffer buffer; StringBuffer buffer;
PrettyWriter<StringBuffer> writer(buffer); PrettyWriter<StringBuffer> writer(buffer);
writer.SetIndent('\t', 1); writer.SetIndent('\t', 1);
Reader reader; Reader reader;
StringStream s(kJson); StringStream s(kJson);
reader.Parse(s, writer); reader.Parse(s, writer);
EXPECT_STREQ( EXPECT_STREQ(
"{\n" "{\n"
"\t\"hello\": \"world\",\n" "\t\"hello\": \"world\",\n"
skipping to change at line 152 skipping to change at line 175
char buffer[16]; char buffer[16];
FileWriteStream os(fp, buffer, sizeof(buffer)); FileWriteStream os(fp, buffer, sizeof(buffer));
PrettyWriter<FileWriteStream> writer(os); PrettyWriter<FileWriteStream> writer(os);
Reader reader; Reader reader;
StringStream s(kJson); StringStream s(kJson);
reader.Parse(s, writer); reader.Parse(s, writer);
fclose(fp); fclose(fp);
fp = fopen(filename, "rb"); fp = fopen(filename, "rb");
fseek(fp, 0, SEEK_END); fseek(fp, 0, SEEK_END);
size_t size = (size_t)ftell(fp); size_t size = static_cast<size_t>(ftell(fp));
fseek(fp, 0, SEEK_SET); fseek(fp, 0, SEEK_SET);
char* json = (char*)malloc(size + 1); char* json = static_cast<char*>(malloc(size + 1));
size_t readLength = fread(json, 1, size, fp); size_t readLength = fread(json, 1, size, fp);
json[readLength] = '\0'; json[readLength] = '\0';
fclose(fp); fclose(fp);
remove(filename); remove(filename);
EXPECT_STREQ(kPrettyJson, json); EXPECT_STREQ(kPrettyJson, json);
free(json); free(json);
} }
TEST(PrettyWriter, RawValue) {
StringBuffer buffer;
PrettyWriter<StringBuffer> writer(buffer);
writer.StartObject();
writer.Key("a");
writer.Int(1);
writer.Key("raw");
const char json[] = "[\"Hello\\nWorld\", 123.456]";
writer.RawValue(json, strlen(json), kArrayType);
writer.EndObject();
EXPECT_TRUE(writer.IsComplete());
EXPECT_STREQ(
"{\n"
" \"a\": 1,\n"
" \"raw\": [\"Hello\\nWorld\", 123.456]\n" // no indentation within r
aw value
"}",
buffer.GetString());
}
 End of changes. 5 change blocks. 
2 lines changed or deleted 25 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)