mirror of
https://github.com/json-c/json-c.git
synced 2026-04-07 14:29:06 +08:00
Removed newly created test case and incorporated it into test1.test and test2.test
This commit is contained in:
@@ -27,7 +27,6 @@ TESTS+= test_set_value.test
|
|||||||
TESTS+= test_visit.test
|
TESTS+= test_visit.test
|
||||||
TESTS+= test_json_pointer.test
|
TESTS+= test_json_pointer.test
|
||||||
TESTS+= test_int_add.test
|
TESTS+= test_int_add.test
|
||||||
TESTS+= test_string_spaced_pretty.test
|
|
||||||
|
|
||||||
check_PROGRAMS=
|
check_PROGRAMS=
|
||||||
check_PROGRAMS += $(TESTS:.test=)
|
check_PROGRAMS += $(TESTS:.test=)
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ static struct {
|
|||||||
{ "plain", JSON_C_TO_STRING_PLAIN },
|
{ "plain", JSON_C_TO_STRING_PLAIN },
|
||||||
{ "spaced", JSON_C_TO_STRING_SPACED },
|
{ "spaced", JSON_C_TO_STRING_SPACED },
|
||||||
{ "pretty", JSON_C_TO_STRING_PRETTY },
|
{ "pretty", JSON_C_TO_STRING_PRETTY },
|
||||||
|
{ "pretty_tab", JSON_C_TO_STRING_PRETTY_TAB },
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef NELEM
|
#ifndef NELEM
|
||||||
|
|||||||
@@ -19,4 +19,20 @@ for flag in plain spaced pretty ; do
|
|||||||
fi
|
fi
|
||||||
done
|
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
|
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
|
fi
|
||||||
done
|
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
|
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"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,34 +0,0 @@
|
|||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <stddef.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <assert.h>
|
|
||||||
|
|
||||||
#include "json.h"
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
json_object *j;
|
|
||||||
|
|
||||||
j = json_tokener_parse("/* more difficult test case */"
|
|
||||||
"{ \"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\"] } ] } } }");
|
|
||||||
|
|
||||||
printf("flags = 0:\n%s\n\n",
|
|
||||||
json_object_to_json_string_ext(j, 0));
|
|
||||||
|
|
||||||
printf("flags = JSON_C_TO_STRING_SPACED:\n%s\n\n",
|
|
||||||
json_object_to_json_string_ext(j, JSON_C_TO_STRING_SPACED));
|
|
||||||
|
|
||||||
printf("flags = JSON_C_TO_STRING_SPACED|JSON_C_TO_STRING_PRETTY:\n%s\n\n",
|
|
||||||
json_object_to_json_string_ext(j, JSON_C_TO_STRING_SPACED
|
|
||||||
|JSON_C_TO_STRING_PRETTY));
|
|
||||||
|
|
||||||
printf("flags = JSON_C_TO_STRING_SPACED|JSON_C_TO_STRING_PRETTY|JSON_C_TO_STRING_PRETTY_TAB:\n%s\n",
|
|
||||||
json_object_to_json_string_ext(j, JSON_C_TO_STRING_SPACED
|
|
||||||
|JSON_C_TO_STRING_PRETTY
|
|
||||||
|JSON_C_TO_STRING_PRETTY_TAB));
|
|
||||||
|
|
||||||
json_object_put(j);
|
|
||||||
|
|
||||||
return EXIT_SUCCESS;
|
|
||||||
}
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
flags = 0:
|
|
||||||
{"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"]}]}}}
|
|
||||||
|
|
||||||
flags = JSON_C_TO_STRING_SPACED:
|
|
||||||
{ "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" ] } ] } } }
|
|
||||||
|
|
||||||
flags = JSON_C_TO_STRING_SPACED|JSON_C_TO_STRING_PRETTY:
|
|
||||||
{
|
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
flags = JSON_C_TO_STRING_SPACED|JSON_C_TO_STRING_PRETTY|JSON_C_TO_STRING_PRETTY_TAB:
|
|
||||||
{
|
|
||||||
"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"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
test_basic.test
|
|
||||||
Reference in New Issue
Block a user