| 464 CX_TEST_ASSERT(elm2 == NULL); |
464 CX_TEST_ASSERT(elm2 == NULL); |
| 465 |
465 |
| 466 free(obj); |
466 free(obj); |
| 467 } |
467 } |
| 468 } |
468 } |
| |
469 |
| |
470 CX_TEST(testJsonToListEmpty) { |
| |
471 const char *jsonStr = "[]"; |
| |
472 |
| |
473 CxJsonValue *json; |
| |
474 cxJsonFromString(NULL, jsonStr, &json); |
| |
475 |
| |
476 CX_TEST_DO { |
| |
477 CxList *list = dbuJsonToList(test2_class, NULL, json); |
| |
478 |
| |
479 CX_TEST_ASSERT(list != NULL); |
| |
480 CX_TEST_ASSERT(cxListSize(list) == 0); |
| |
481 } |
| |
482 } |
| |
483 |
| |
484 CX_TEST(testJsonToListNull) { |
| |
485 const char *jsonStr = "[ null, null, null ]"; |
| |
486 |
| |
487 CxJsonValue *json; |
| |
488 cxJsonFromString(NULL, jsonStr, &json); |
| |
489 |
| |
490 CX_TEST_DO { |
| |
491 CxList *list = dbuJsonToList(test2_class, NULL, json); |
| |
492 |
| |
493 CX_TEST_ASSERT(list != NULL); |
| |
494 CX_TEST_ASSERT(cxListSize(list) == 3); |
| |
495 |
| |
496 CX_TEST_ASSERT(cxListAt(list, 0) == NULL); |
| |
497 CX_TEST_ASSERT(cxListAt(list, 1) == NULL); |
| |
498 CX_TEST_ASSERT(cxListAt(list, 2) == NULL); |
| |
499 } |
| |
500 } |
| |
501 |
| |
502 CX_TEST(testJsonToList) { |
| |
503 const char *jsonStr = "[ { \"name\":\"list test\", \"i\": 12 }, { \"name\":\"hello world\", \"i\": 14 } ]"; |
| |
504 |
| |
505 CxJsonValue *json; |
| |
506 cxJsonFromString(NULL, jsonStr, &json); |
| |
507 |
| |
508 CX_TEST_DO { |
| |
509 CxList *list = dbuJsonToList(test2_class, NULL, json); |
| |
510 |
| |
511 CX_TEST_ASSERT(list != NULL); |
| |
512 CX_TEST_ASSERT(cxListSize(list) == 2); |
| |
513 |
| |
514 Test2 *elm0 = cxListAt(list, 0); |
| |
515 Test2 *elm1 = cxListAt(list, 1); |
| |
516 |
| |
517 CX_TEST_ASSERT(elm0 != NULL); |
| |
518 CX_TEST_ASSERT(elm1 != NULL); |
| |
519 |
| |
520 CX_TEST_ASSERT(!cx_strcmp(elm0->name, "list test")); |
| |
521 CX_TEST_ASSERT(elm0->i == 12); |
| |
522 |
| |
523 CX_TEST_ASSERT(!cx_strcmp(elm1->name, "hello world")); |
| |
524 CX_TEST_ASSERT(elm1->i == 14); |
| |
525 } |
| |
526 } |