mirror of
https://github.com/DaveGamble/cJSON.git
synced 2023-08-10 21:13:26 +03:00
Move parse tests from test.c -> parse_example.c
This commit is contained in:
parent
86be961bb5
commit
be0951dfa4
101
test.c
101
test.c
@ -25,26 +25,6 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include "cJSON.h"
|
#include "cJSON.h"
|
||||||
|
|
||||||
/* Parse text to JSON, then render back to text, and print! */
|
|
||||||
static void doit(char *text)
|
|
||||||
{
|
|
||||||
char *out = NULL;
|
|
||||||
cJSON *json = NULL;
|
|
||||||
|
|
||||||
json = cJSON_Parse(text);
|
|
||||||
if (!json)
|
|
||||||
{
|
|
||||||
printf("Error before: [%s]\n", cJSON_GetErrorPtr());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
out = cJSON_Print(json);
|
|
||||||
cJSON_Delete(json);
|
|
||||||
printf("%s\n", out);
|
|
||||||
free(out);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Used by some code below as an example datatype. */
|
/* Used by some code below as an example datatype. */
|
||||||
struct record
|
struct record
|
||||||
{
|
{
|
||||||
@ -278,90 +258,9 @@ static void create_objects(void)
|
|||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
/* a bunch of json: */
|
|
||||||
char text1[] =
|
|
||||||
"{\n"
|
|
||||||
"\"name\": \"Jack (\\\"Bee\\\") Nimble\", \n"
|
|
||||||
"\"format\": {\"type\": \"rect\", \n"
|
|
||||||
"\"width\": 1920, \n"
|
|
||||||
"\"height\": 1080, \n"
|
|
||||||
"\"interlace\": false,\"frame rate\": 24\n"
|
|
||||||
"}\n"
|
|
||||||
"}";
|
|
||||||
char text2[] = "[\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]";
|
|
||||||
char text3[] =
|
|
||||||
"[\n"
|
|
||||||
" [0, -1, 0],\n"
|
|
||||||
" [1, 0, 0],\n"
|
|
||||||
" [0, 0, 1]\n"
|
|
||||||
"\t]\n";
|
|
||||||
char text4[] =
|
|
||||||
"{\n"
|
|
||||||
"\t\t\"Image\": {\n"
|
|
||||||
"\t\t\t\"Width\": 800,\n"
|
|
||||||
"\t\t\t\"Height\": 600,\n"
|
|
||||||
"\t\t\t\"Title\": \"View from 15th Floor\",\n"
|
|
||||||
"\t\t\t\"Thumbnail\": {\n"
|
|
||||||
"\t\t\t\t\"Url\": \"http:/*www.example.com/image/481989943\",\n"
|
|
||||||
"\t\t\t\t\"Height\": 125,\n"
|
|
||||||
"\t\t\t\t\"Width\": \"100\"\n"
|
|
||||||
"\t\t\t},\n"
|
|
||||||
"\t\t\t\"IDs\": [116, 943, 234, 38793]\n"
|
|
||||||
"\t\t}\n"
|
|
||||||
"\t}";
|
|
||||||
char text5[] =
|
|
||||||
"[\n"
|
|
||||||
"\t {\n"
|
|
||||||
"\t \"precision\": \"zip\",\n"
|
|
||||||
"\t \"Latitude\": 37.7668,\n"
|
|
||||||
"\t \"Longitude\": -122.3959,\n"
|
|
||||||
"\t \"Address\": \"\",\n"
|
|
||||||
"\t \"City\": \"SAN FRANCISCO\",\n"
|
|
||||||
"\t \"State\": \"CA\",\n"
|
|
||||||
"\t \"Zip\": \"94107\",\n"
|
|
||||||
"\t \"Country\": \"US\"\n"
|
|
||||||
"\t },\n"
|
|
||||||
"\t {\n"
|
|
||||||
"\t \"precision\": \"zip\",\n"
|
|
||||||
"\t \"Latitude\": 37.371991,\n"
|
|
||||||
"\t \"Longitude\": -122.026020,\n"
|
|
||||||
"\t \"Address\": \"\",\n"
|
|
||||||
"\t \"City\": \"SUNNYVALE\",\n"
|
|
||||||
"\t \"State\": \"CA\",\n"
|
|
||||||
"\t \"Zip\": \"94085\",\n"
|
|
||||||
"\t \"Country\": \"US\"\n"
|
|
||||||
"\t }\n"
|
|
||||||
"\t ]";
|
|
||||||
|
|
||||||
char text6[] =
|
|
||||||
"<!DOCTYPE html>"
|
|
||||||
"<html>\n"
|
|
||||||
"<head>\n"
|
|
||||||
" <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n"
|
|
||||||
" <style type=\"text/css\">\n"
|
|
||||||
" html, body, iframe { margin: 0; padding: 0; height: 100%; }\n"
|
|
||||||
" iframe { display: block; width: 100%; border: none; }\n"
|
|
||||||
" </style>\n"
|
|
||||||
"<title>Application Error</title>\n"
|
|
||||||
"</head>\n"
|
|
||||||
"<body>\n"
|
|
||||||
" <iframe src=\"//s3.amazonaws.com/heroku_pages/error.html\">\n"
|
|
||||||
" <p>Application Error</p>\n"
|
|
||||||
" </iframe>\n"
|
|
||||||
"</body>\n"
|
|
||||||
"</html>\n";
|
|
||||||
|
|
||||||
/* print the version */
|
/* print the version */
|
||||||
printf("Version: %s\n", cJSON_Version());
|
printf("Version: %s\n", cJSON_Version());
|
||||||
|
|
||||||
/* Process each json textblock by parsing, then rebuilding: */
|
|
||||||
doit(text1);
|
|
||||||
doit(text2);
|
|
||||||
doit(text3);
|
|
||||||
doit(text4);
|
|
||||||
doit(text5);
|
|
||||||
doit(text6);
|
|
||||||
|
|
||||||
/* Now some samplecode for building objects concisely: */
|
/* Now some samplecode for building objects concisely: */
|
||||||
create_objects();
|
create_objects();
|
||||||
|
|
||||||
|
1
tests/inputs/test10
Normal file
1
tests/inputs/test10
Normal file
@ -0,0 +1 @@
|
|||||||
|
["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
|
1
tests/inputs/test10.expected
Normal file
1
tests/inputs/test10.expected
Normal file
@ -0,0 +1 @@
|
|||||||
|
["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
|
8
tests/inputs/test11
Normal file
8
tests/inputs/test11
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"name": "Jack (\"Bee\") Nimble",
|
||||||
|
"format": {"type": "rect",
|
||||||
|
"width": 1920,
|
||||||
|
"height": 1080,
|
||||||
|
"interlace": false,"frame rate": 24
|
||||||
|
}
|
||||||
|
}
|
10
tests/inputs/test11.expected
Normal file
10
tests/inputs/test11.expected
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"name": "Jack (\"Bee\") Nimble",
|
||||||
|
"format": {
|
||||||
|
"type": "rect",
|
||||||
|
"width": 1920,
|
||||||
|
"height": 1080,
|
||||||
|
"interlace": false,
|
||||||
|
"frame rate": 24
|
||||||
|
}
|
||||||
|
}
|
22
tests/inputs/test7
Normal file
22
tests/inputs/test7
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"precision": "zip",
|
||||||
|
"Latitude": 37.7668,
|
||||||
|
"Longitude": -122.3959,
|
||||||
|
"Address": "",
|
||||||
|
"City": "SAN FRANCISCO",
|
||||||
|
"State": "CA",
|
||||||
|
"Zip": "94107",
|
||||||
|
"Country": "US"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"precision": "zip",
|
||||||
|
"Latitude": 37.371991,
|
||||||
|
"Longitude": -122.026020,
|
||||||
|
"Address": "",
|
||||||
|
"City": "SUNNYVALE",
|
||||||
|
"State": "CA",
|
||||||
|
"Zip": "94085",
|
||||||
|
"Country": "US"
|
||||||
|
}
|
||||||
|
]
|
19
tests/inputs/test7.expected
Normal file
19
tests/inputs/test7.expected
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
[{
|
||||||
|
"precision": "zip",
|
||||||
|
"Latitude": 37.766800,
|
||||||
|
"Longitude": -122.395900,
|
||||||
|
"Address": "",
|
||||||
|
"City": "SAN FRANCISCO",
|
||||||
|
"State": "CA",
|
||||||
|
"Zip": "94107",
|
||||||
|
"Country": "US"
|
||||||
|
}, {
|
||||||
|
"precision": "zip",
|
||||||
|
"Latitude": 37.371991,
|
||||||
|
"Longitude": -122.026020,
|
||||||
|
"Address": "",
|
||||||
|
"City": "SUNNYVALE",
|
||||||
|
"State": "CA",
|
||||||
|
"Zip": "94085",
|
||||||
|
"Country": "US"
|
||||||
|
}]
|
13
tests/inputs/test8
Normal file
13
tests/inputs/test8
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"Image": {
|
||||||
|
"Width": 800,
|
||||||
|
"Height": 600,
|
||||||
|
"Title": "View from 15th Floor",
|
||||||
|
"Thumbnail": {
|
||||||
|
"Url": "http:/*www.example.com/image/481989943",
|
||||||
|
"Height": 125,
|
||||||
|
"Width": "100"
|
||||||
|
},
|
||||||
|
"IDs": [116, 943, 234, 38793]
|
||||||
|
}
|
||||||
|
}
|
13
tests/inputs/test8.expected
Normal file
13
tests/inputs/test8.expected
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"Image": {
|
||||||
|
"Width": 800,
|
||||||
|
"Height": 600,
|
||||||
|
"Title": "View from 15th Floor",
|
||||||
|
"Thumbnail": {
|
||||||
|
"Url": "http:/*www.example.com/image/481989943",
|
||||||
|
"Height": 125,
|
||||||
|
"Width": "100"
|
||||||
|
},
|
||||||
|
"IDs": [116, 943, 234, 38793]
|
||||||
|
}
|
||||||
|
}
|
5
tests/inputs/test9
Normal file
5
tests/inputs/test9
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
[
|
||||||
|
[0, -1, 0],
|
||||||
|
[1, 0, 0],
|
||||||
|
[0, 0, 1]
|
||||||
|
]
|
1
tests/inputs/test9.expected
Normal file
1
tests/inputs/test9.expected
Normal file
@ -0,0 +1 @@
|
|||||||
|
[[0, -1, 0], [1, 0, 0], [0, 0, 1]]
|
@ -210,6 +210,31 @@ static void file_test6_should_not_be_parsed(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void file_test7_should_be_parsed_and_printed(void)
|
||||||
|
{
|
||||||
|
do_test("test7");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void file_test8_should_be_parsed_and_printed(void)
|
||||||
|
{
|
||||||
|
do_test("test8");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void file_test9_should_be_parsed_and_printed(void)
|
||||||
|
{
|
||||||
|
do_test("test9");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void file_test10_should_be_parsed_and_printed(void)
|
||||||
|
{
|
||||||
|
do_test("test10");
|
||||||
|
}
|
||||||
|
|
||||||
|
static void file_test11_should_be_parsed_and_printed(void)
|
||||||
|
{
|
||||||
|
do_test("test11");
|
||||||
|
}
|
||||||
|
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
UNITY_BEGIN();
|
UNITY_BEGIN();
|
||||||
@ -219,5 +244,10 @@ int main(void)
|
|||||||
RUN_TEST(file_test4_should_be_parsed_and_printed);
|
RUN_TEST(file_test4_should_be_parsed_and_printed);
|
||||||
RUN_TEST(file_test5_should_be_parsed_and_printed);
|
RUN_TEST(file_test5_should_be_parsed_and_printed);
|
||||||
RUN_TEST(file_test6_should_not_be_parsed);
|
RUN_TEST(file_test6_should_not_be_parsed);
|
||||||
|
RUN_TEST(file_test7_should_be_parsed_and_printed);
|
||||||
|
RUN_TEST(file_test8_should_be_parsed_and_printed);
|
||||||
|
RUN_TEST(file_test9_should_be_parsed_and_printed);
|
||||||
|
RUN_TEST(file_test10_should_be_parsed_and_printed);
|
||||||
|
RUN_TEST(file_test11_should_be_parsed_and_printed);
|
||||||
return UNITY_END();
|
return UNITY_END();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user