mirror of
https://github.com/json-c/json-c.git
synced 2026-03-23 06:59:06 +08:00
Merge pull request #453 from darjankrijan/master
Fixed misalignment in JSON string due to space after \n being printed...
This commit is contained in:
@@ -395,7 +395,7 @@ static int json_object_object_to_json_string(struct json_object* jso,
|
||||
printbuf_strappend(pb, "\n");
|
||||
}
|
||||
had_children = 1;
|
||||
if (flags & JSON_C_TO_STRING_SPACED)
|
||||
if (flags & JSON_C_TO_STRING_SPACED && !(flags & JSON_C_TO_STRING_PRETTY))
|
||||
printbuf_strappend(pb, " ");
|
||||
indent(pb, level+1, flags);
|
||||
printbuf_strappend(pb, "\"");
|
||||
@@ -416,7 +416,7 @@ static int json_object_object_to_json_string(struct json_object* jso,
|
||||
printbuf_strappend(pb, "\n");
|
||||
indent(pb,level,flags);
|
||||
}
|
||||
if (flags & JSON_C_TO_STRING_SPACED)
|
||||
if (flags & JSON_C_TO_STRING_SPACED && !(flags & JSON_C_TO_STRING_PRETTY))
|
||||
return printbuf_strappend(pb, /*{*/ " }");
|
||||
else
|
||||
return printbuf_strappend(pb, /*{*/ "}");
|
||||
@@ -1134,7 +1134,7 @@ static int json_object_array_to_json_string(struct json_object* jso,
|
||||
printbuf_strappend(pb, "\n");
|
||||
}
|
||||
had_children = 1;
|
||||
if (flags & JSON_C_TO_STRING_SPACED)
|
||||
if (flags & JSON_C_TO_STRING_SPACED && !(flags&JSON_C_TO_STRING_PRETTY))
|
||||
printbuf_strappend(pb, " ");
|
||||
indent(pb, level + 1, flags);
|
||||
val = json_object_array_get_idx(jso, ii);
|
||||
@@ -1151,7 +1151,7 @@ static int json_object_array_to_json_string(struct json_object* jso,
|
||||
indent(pb,level,flags);
|
||||
}
|
||||
|
||||
if (flags & JSON_C_TO_STRING_SPACED)
|
||||
if (flags & JSON_C_TO_STRING_SPACED && !(flags&JSON_C_TO_STRING_PRETTY))
|
||||
return printbuf_strappend(pb, " ]");
|
||||
return printbuf_strappend(pb, "]");
|
||||
}
|
||||
|
||||
@@ -19,6 +19,7 @@ static struct {
|
||||
{ "plain", JSON_C_TO_STRING_PLAIN },
|
||||
{ "spaced", JSON_C_TO_STRING_SPACED },
|
||||
{ "pretty", JSON_C_TO_STRING_PRETTY },
|
||||
{ "pretty_tab", JSON_C_TO_STRING_PRETTY_TAB },
|
||||
};
|
||||
|
||||
#ifndef NELEM
|
||||
|
||||
@@ -19,4 +19,20 @@ for flag in plain spaced pretty ; do
|
||||
fi
|
||||
done
|
||||
|
||||
# Spaced and pretty JSON string
|
||||
run_output_test -o test1Formatted_spaced_pretty \
|
||||
test1Formatted spaced pretty
|
||||
_err2=$?
|
||||
if [ $_err -eq 0 ] ; then
|
||||
_err=$_err2
|
||||
fi
|
||||
|
||||
# Spaced and pretty JSON string using tabs
|
||||
run_output_test -o test1Formatted_spaced_pretty_pretty_tab \
|
||||
test1Formatted spaced pretty pretty_tab
|
||||
_err2=$?
|
||||
if [ $_err -eq 0 ] ; then
|
||||
_err=$_err2
|
||||
fi
|
||||
|
||||
exit $_err
|
||||
|
||||
86
tests/test1Formatted_spaced_pretty.expected
Normal file
86
tests/test1Formatted_spaced_pretty.expected
Normal file
@@ -0,0 +1,86 @@
|
||||
my_string=
|
||||
my_string.to_string()="\t"
|
||||
my_string=\
|
||||
my_string.to_string()="\\"
|
||||
my_string=/
|
||||
my_string.to_string()="\/"
|
||||
my_string.to_string(NOSLASHESCAPE)="/"
|
||||
my_string=/foo/bar/baz
|
||||
my_string.to_string()="\/foo\/bar\/baz"
|
||||
my_string.to_string(NOSLASHESCAPE)="/foo/bar/baz"
|
||||
my_string=foo
|
||||
my_string.to_string()="foo"
|
||||
my_int=9
|
||||
my_int.to_string()=9
|
||||
my_array=
|
||||
[0]=1
|
||||
[1]=2
|
||||
[2]=3
|
||||
[3]=null
|
||||
[4]=5
|
||||
my_array.to_string()=[
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
null,
|
||||
5
|
||||
]
|
||||
my_array=
|
||||
[0]=1
|
||||
[1]=2
|
||||
[2]=3
|
||||
[3]=4
|
||||
[4]=5
|
||||
[5]=null
|
||||
[6]=7
|
||||
my_array.to_string()=[1,2,3,4,5,null,7]
|
||||
after del_idx(0,1)=0, my_array.to_string()=[2,3,4,5,null,7]
|
||||
after del_idx(0,1)=0, my_array.to_string()=[3,4,5,null,7]
|
||||
after del_idx(0,1)=0, my_array.to_string()=[4,5,null,7]
|
||||
after del_idx(0,1)=0, my_array.to_string()=[5,null,7]
|
||||
after del_idx(0,1)=0, my_array.to_string()=[null,7]
|
||||
after del_idx(0,1)=0, my_array.to_string()=[7]
|
||||
after del_idx(0,1)=0, my_array.to_string()=[]
|
||||
after del_idx(0,1)=-1, my_array.to_string()=[]
|
||||
after del_idx(0,7)=0, my_array.to_string()=[]
|
||||
after del_idx(0,8)=-1, my_array.to_string()=[1,2,3,4,5,null,7]
|
||||
after del_idx(0,6)=0, my_array.to_string()=[7]
|
||||
after adding more entries, my_array.to_string()=[7,"s1","s2","s3"]
|
||||
my_array=
|
||||
[0]=3
|
||||
[1]=1
|
||||
[2]=2
|
||||
[3]=null
|
||||
[4]=0
|
||||
my_array.to_string()=[
|
||||
3,
|
||||
1,
|
||||
2,
|
||||
null,
|
||||
0
|
||||
]
|
||||
my_array=
|
||||
[0]=null
|
||||
[1]=0
|
||||
[2]=1
|
||||
[3]=2
|
||||
[4]=3
|
||||
my_array.to_string()=[
|
||||
null,
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
baz_obj.to_string()="fark"
|
||||
my_object=
|
||||
abc: 12
|
||||
foo: "bar"
|
||||
bool0: false
|
||||
bool1: true
|
||||
my_object.to_string()={
|
||||
"abc": 12,
|
||||
"foo": "bar",
|
||||
"bool0": false,
|
||||
"bool1": true
|
||||
}
|
||||
86
tests/test1Formatted_spaced_pretty_pretty_tab.expected
Normal file
86
tests/test1Formatted_spaced_pretty_pretty_tab.expected
Normal file
@@ -0,0 +1,86 @@
|
||||
my_string=
|
||||
my_string.to_string()="\t"
|
||||
my_string=\
|
||||
my_string.to_string()="\\"
|
||||
my_string=/
|
||||
my_string.to_string()="\/"
|
||||
my_string.to_string(NOSLASHESCAPE)="/"
|
||||
my_string=/foo/bar/baz
|
||||
my_string.to_string()="\/foo\/bar\/baz"
|
||||
my_string.to_string(NOSLASHESCAPE)="/foo/bar/baz"
|
||||
my_string=foo
|
||||
my_string.to_string()="foo"
|
||||
my_int=9
|
||||
my_int.to_string()=9
|
||||
my_array=
|
||||
[0]=1
|
||||
[1]=2
|
||||
[2]=3
|
||||
[3]=null
|
||||
[4]=5
|
||||
my_array.to_string()=[
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
null,
|
||||
5
|
||||
]
|
||||
my_array=
|
||||
[0]=1
|
||||
[1]=2
|
||||
[2]=3
|
||||
[3]=4
|
||||
[4]=5
|
||||
[5]=null
|
||||
[6]=7
|
||||
my_array.to_string()=[1,2,3,4,5,null,7]
|
||||
after del_idx(0,1)=0, my_array.to_string()=[2,3,4,5,null,7]
|
||||
after del_idx(0,1)=0, my_array.to_string()=[3,4,5,null,7]
|
||||
after del_idx(0,1)=0, my_array.to_string()=[4,5,null,7]
|
||||
after del_idx(0,1)=0, my_array.to_string()=[5,null,7]
|
||||
after del_idx(0,1)=0, my_array.to_string()=[null,7]
|
||||
after del_idx(0,1)=0, my_array.to_string()=[7]
|
||||
after del_idx(0,1)=0, my_array.to_string()=[]
|
||||
after del_idx(0,1)=-1, my_array.to_string()=[]
|
||||
after del_idx(0,7)=0, my_array.to_string()=[]
|
||||
after del_idx(0,8)=-1, my_array.to_string()=[1,2,3,4,5,null,7]
|
||||
after del_idx(0,6)=0, my_array.to_string()=[7]
|
||||
after adding more entries, my_array.to_string()=[7,"s1","s2","s3"]
|
||||
my_array=
|
||||
[0]=3
|
||||
[1]=1
|
||||
[2]=2
|
||||
[3]=null
|
||||
[4]=0
|
||||
my_array.to_string()=[
|
||||
3,
|
||||
1,
|
||||
2,
|
||||
null,
|
||||
0
|
||||
]
|
||||
my_array=
|
||||
[0]=null
|
||||
[1]=0
|
||||
[2]=1
|
||||
[3]=2
|
||||
[4]=3
|
||||
my_array.to_string()=[
|
||||
null,
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3
|
||||
]
|
||||
baz_obj.to_string()="fark"
|
||||
my_object=
|
||||
abc: 12
|
||||
foo: "bar"
|
||||
bool0: false
|
||||
bool1: true
|
||||
my_object.to_string()={
|
||||
"abc": 12,
|
||||
"foo": "bar",
|
||||
"bool0": false,
|
||||
"bool1": true
|
||||
}
|
||||
@@ -19,4 +19,20 @@ for flag in plain spaced pretty ; do
|
||||
fi
|
||||
done
|
||||
|
||||
# Spaced and pretty JSON string
|
||||
run_output_test -o test2Formatted_spaced_pretty \
|
||||
test2Formatted spaced pretty
|
||||
_err2=$?
|
||||
if [ $_err -eq 0 ] ; then
|
||||
_err=$_err2
|
||||
fi
|
||||
|
||||
# Spaced and pretty JSON string using tabs
|
||||
run_output_test -o test2Formatted_spaced_pretty_pretty_tab \
|
||||
test2Formatted spaced pretty pretty_tab
|
||||
_err2=$?
|
||||
if [ $_err -eq 0 ] ; then
|
||||
_err=$_err2
|
||||
fi
|
||||
|
||||
exit $_err
|
||||
|
||||
23
tests/test2Formatted_spaced_pretty.expected
Normal file
23
tests/test2Formatted_spaced_pretty.expected
Normal file
@@ -0,0 +1,23 @@
|
||||
new_obj.to_string()={
|
||||
"glossary": {
|
||||
"title": "example glossary",
|
||||
"GlossDiv": {
|
||||
"title": "S",
|
||||
"GlossList": [
|
||||
{
|
||||
"ID": "SGML",
|
||||
"SortAs": "SGML",
|
||||
"GlossTerm": "Standard Generalized Markup Language",
|
||||
"Acronym": "SGML",
|
||||
"Abbrev": "ISO 8879:1986",
|
||||
"GlossDef": "A meta-markup language, used to create markup languages such as DocBook.",
|
||||
"GlossSeeAlso": [
|
||||
"GML",
|
||||
"XML",
|
||||
"markup"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
23
tests/test2Formatted_spaced_pretty_pretty_tab.expected
Normal file
23
tests/test2Formatted_spaced_pretty_pretty_tab.expected
Normal file
@@ -0,0 +1,23 @@
|
||||
new_obj.to_string()={
|
||||
"glossary": {
|
||||
"title": "example glossary",
|
||||
"GlossDiv": {
|
||||
"title": "S",
|
||||
"GlossList": [
|
||||
{
|
||||
"ID": "SGML",
|
||||
"SortAs": "SGML",
|
||||
"GlossTerm": "Standard Generalized Markup Language",
|
||||
"Acronym": "SGML",
|
||||
"Abbrev": "ISO 8879:1986",
|
||||
"GlossDef": "A meta-markup language, used to create markup languages such as DocBook.",
|
||||
"GlossSeeAlso": [
|
||||
"GML",
|
||||
"XML",
|
||||
"markup"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user