248 |
248 |
249 CX_TEST(test_json_number) { |
249 CX_TEST(test_json_number) { |
250 CxJson json; |
250 CxJson json; |
251 cxJsonInit(&json); |
251 cxJsonInit(&json); |
252 CX_TEST_DO { |
252 CX_TEST_DO { |
|
253 // TODO: find a better way to terminate values that are not arrays/objects |
253 CxJsonValue *v; |
254 CxJsonValue *v; |
254 |
255 int result; |
255 cxJsonNext(&json, &v); |
256 cxJsonFill(&json, "3.1415 "); |
|
257 result = cxJsonNext(&json, &v); |
|
258 CX_TEST_ASSERT(result == 1); |
|
259 CX_TEST_ASSERT(cxJsonIsNumber(v)); |
|
260 CX_TEST_ASSERT(cxJsonAsDouble(v) == 3.1415); |
|
261 cxJsonFill(&json, "-47.11e2 "); |
|
262 result = cxJsonNext(&json, &v); |
|
263 CX_TEST_ASSERT(result == 1); |
|
264 CX_TEST_ASSERT(cxJsonIsNumber(v)); |
|
265 CX_TEST_ASSERT(cxJsonAsDouble(v) == -4711.0); |
256 } |
266 } |
257 cxJsonDestroy(&json); |
267 cxJsonDestroy(&json); |
258 } |
268 } |
259 |
269 |
260 CxTestSuite *cx_test_suite_json(void) { |
270 CxTestSuite *cx_test_suite_json(void) { |
263 cx_test_register(suite, test_json_init_default); |
273 cx_test_register(suite, test_json_init_default); |
264 cx_test_register(suite, test_json_simple_object); |
274 cx_test_register(suite, test_json_simple_object); |
265 cx_test_register(suite, test_json_object_incomplete_token); |
275 cx_test_register(suite, test_json_object_incomplete_token); |
266 cx_test_register(suite, test_json_object_error); |
276 cx_test_register(suite, test_json_object_error); |
267 cx_test_register(suite, test_json_large_nesting_depth); |
277 cx_test_register(suite, test_json_large_nesting_depth); |
|
278 cx_test_register(suite, test_json_number); |
268 |
279 |
269 return suite; |
280 return suite; |
270 } |
281 } |
271 |
282 |