test/json.c

changeset 46
96e139ab57f2
parent 44
3bac2715ccb9
equal deleted inserted replaced
45:a8b1df52e63e 46:96e139ab57f2
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 }

mercurial