FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
json-tutorial/tutorial01/test.c at master · regsina/json-tutorial · GitHub
regsina
json-tutorial
Repository navigation
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
json-tutorial
/
tutorial01
/
test.c
Copy path
More file actions
More file actions
Latest commit
History
History
History
71 lines (59 loc) · 1.93 KB
Breadcrumbs
json-tutorial
/
tutorial01
/
test.c
Copy path
File metadata and controls
71 lines (59 loc) · 1.93 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include
<stdio.h>
#include
<stdlib.h>
#include
<string.h>
#include
"leptjson.h"
static
int
main_ret
=
0
;
static
int
test_count
=
0
;
static
int
test_pass
=
0
;
#define
EXPECT_EQ_BASE
(
equality
,
expect
,
actual
,
format
) \
do {\
test_count++;\
if (equality)\
test_pass++;\
else {\
fprintf(stderr, "%s:%d: expect: " format " actual: " format "\n", __FILE__, __LINE__, expect, actual);\
main_ret = 1;\
}\
} while(0)
#define
EXPECT_EQ_INT
(
expect
,
actual
) EXPECT_EQ_BASE((expect) == (actual), expect, actual, "%d")
static
void
test_parse_null
() {
lept_value
v
;
v
.
type
=
LEPT_FALSE
;
EXPECT_EQ_INT
(
LEPT_PARSE_OK
,
lept_parse
(
&
v
,
"null"
));
EXPECT_EQ_INT
(
LEPT_NULL
,
lept_get_type
(
&
v
));
}
static
void
test_parse_expect_value
() {
lept_value
v
;
v
.
type
=
LEPT_FALSE
;
EXPECT_EQ_INT
(
LEPT_PARSE_EXPECT_VALUE
,
lept_parse
(
&
v
,
""
));
EXPECT_EQ_INT
(
LEPT_NULL
,
lept_get_type
(
&
v
));
v
.
type
=
LEPT_FALSE
;
EXPECT_EQ_INT
(
LEPT_PARSE_EXPECT_VALUE
,
lept_parse
(
&
v
,
" "
));
EXPECT_EQ_INT
(
LEPT_NULL
,
lept_get_type
(
&
v
));
}
static
void
test_parse_invalid_value
() {
lept_value
v
;
v
.
type
=
LEPT_FALSE
;
EXPECT_EQ_INT
(
LEPT_PARSE_INVALID_VALUE
,
lept_parse
(
&
v
,
"nul"
));
EXPECT_EQ_INT
(
LEPT_NULL
,
lept_get_type
(
&
v
));
v
.
type
=
LEPT_FALSE
;
EXPECT_EQ_INT
(
LEPT_PARSE_INVALID_VALUE
,
lept_parse
(
&
v
,
"?"
));
EXPECT_EQ_INT
(
LEPT_NULL
,
lept_get_type
(
&
v
));
}
static
void
test_parse_root_not_singular
() {
lept_value
v
;
v
.
type
=
LEPT_FALSE
;
EXPECT_EQ_INT
(
LEPT_PARSE_ROOT_NOT_SINGULAR
,
lept_parse
(
&
v
,
"null x"
));
EXPECT_EQ_INT
(
LEPT_NULL
,
lept_get_type
(
&
v
));
}
static
void
test_parse
() {
test_parse_null
();
test_parse_expect_value
();
test_parse_invalid_value
();
test_parse_root_not_singular
();
}
int
main
() {
test_parse
();
printf
(
"%d/%d (%3.2f%%) passed\n"
,
test_pass
,
test_count
,
test_pass
*
100.0
/
test_count
);
return
main_ret
;
}
Back
|
FazBrowse Home
|
New Git URL