77int main (int argc , char * * argv )
88{
99 char buff [1024 ], * json = NULL , * ret ;
10- int len , jlen = 0 ;
10+ int len , len2 , jlen = 0 ;
1111 FILE * f ;
1212
1313 fail_unless ((f = fopen ("./test/test.json" ,"r" )) != NULL );
@@ -23,11 +23,36 @@ int main(int argc, char **argv)
2323// printf("got %s %d\n",ret,len);
2424 fail_unless (strncmp ("value" ,ret ,len ) == 0 );
2525
26+ ret = js0n ("foo" ,0 ,json ,jlen ,& len );
27+ fail_unless (strncmp ("b\\\"a and \\\\ r" ,ret ,len ) == 0 );
28+
29+ ret = js0n ("array" ,0 ,json ,jlen ,& len );
30+ fail_unless (strncmp ("[1,2,\"three\",4]" ,ret ,len ) == 0 );
31+
32+ ret = js0n (0 ,2 ,ret ,len ,& len2 );
33+ fail_unless (strncmp ("three" ,ret ,len2 ) == 0 );
34+
35+ ret = js0n ("baz" ,0 ,json ,jlen ,& len );
36+ fail_unless (strncmp ("{\"a\":\"b\"}" ,ret ,len ) == 0 );
37+
38+ ret = js0n ("num" ,0 ,json ,jlen ,& len );
39+ fail_unless (strncmp ("123.45" ,ret ,len ) == 0 );
40+
41+ ret = js0n ("bool" ,0 ,json ,jlen ,& len );
42+ fail_unless (strncmp ("true" ,ret ,len ) == 0 );
43+
44+ ret = js0n ("bare" ,0 ,json ,jlen ,& len );
45+ fail_unless (strncmp ("yep" ,ret ,len ) == 0 );
46+
47+ ret = js0n ("utf8" ,0 ,json ,jlen ,& len );
48+ fail_unless (strncmp ("$¢€𤪤" ,ret ,len ) == 0 );
49+
50+ ret = js0n ("key" ,0 ,json ,jlen ,& len );
51+ fail_unless (strncmp ("value\\n\\\"newline\\\"" ,ret ,len ) == 0 );
52+
53+ ret = js0n ("obj" ,0 ,json ,jlen ,& len );
54+ fail_unless (strncmp ("{\"true\":true}" ,ret ,len ) == 0 );
2655
27- // printf("j0g_val 'key' val offset %d\n", j0g_val("key",(char*)json,res));
28- // printf("j0g_str 'key' val '%s'\n", j0g_str("key",(char*)json,res));
29- // printf("j0g_str 'num' val '%0.2f'\n", (j0g_str("num",(char*)json,res)!=NULL)?strtof(j0g_str("num",(char*)json,res), NULL):0);
30- // printf("j0g_test obj->true %d\n", j0g_test("true",j0g(j0g_str("obj",(char*)json,res),res,16),res));
3156 return 0 ;
3257}
3358
0 commit comments