tests/test_json.c

changeset 1600
a1a728d7ebfd
parent 1598
1f0b85ea71f5
child 1601
e47078681a6f
equal deleted inserted replaced
1599:aa55109f01d0 1600:a1a728d7ebfd
1674 free(ints); 1674 free(ints);
1675 cxJsonObjPut(a[9], "array", arr); 1675 cxJsonObjPut(a[9], "array", arr);
1676 } 1676 }
1677 1677
1678 CX_TEST_DO { 1678 CX_TEST_DO {
1679 // TODO: only the first test works yet, change i<1 to i<10 for all tests 1679 for(unsigned i=0;i<cx_nmemb(a);i++) {
1680 for(int i=0;i<1;i++) {
1681 CX_TEST_ASSERT(cxJsonIsObject(a[i])); 1680 CX_TEST_ASSERT(cxJsonIsObject(a[i]));
1682 1681
1683 CxJsonValue *b = cxJsonClone(a[i], NULL); 1682 CxJsonValue *b = cxJsonClone(a[i], NULL);
1684 1683
1685 CX_TEST_ASSERT(b != NULL); 1684 CX_TEST_ASSERT(b != NULL);
1686 CX_TEST_ASSERT(b->type == a[i]->type); 1685 CX_TEST_ASSERT(b->type == a[i]->type);
1687 CX_TEST_ASSERT(cxJsonCompare(a[i], b) == 0); 1686 CX_TEST_ASSERT(cxJsonCompare(a[i], b) == 0);
1688 1687
1689 // TODO: cxJsonToString(b, NULL) segfaults 1688 cxmutstr a_str = cxJsonToString(a[i], NULL);
1690 //cxmutstr a_str = cxJsonToString(a[i], NULL); 1689 cxmutstr b_str = cxJsonToString(b, NULL);
1691 //cxmutstr b_str = cxJsonToString(b, NULL); 1690 CX_TEST_ASSERT(cx_strcmp(a_str, b_str) == 0);
1692 //CX_TEST_ASSERT(cx_strcmp(a_str, b_str) == 0); 1691 cx_strfree(&a_str);
1692 cx_strfree(&b_str);
1693 1693
1694 cxJsonValueFree(b); 1694 cxJsonValueFree(b);
1695 } 1695 }
1696 } 1696 }
1697 1697
1708 cxJsonFromString(NULL, "[[1, [[2, [3, 4, 5]]], true], false]", &a[3]); 1708 cxJsonFromString(NULL, "[[1, [[2, [3, 4, 5]]], true], false]", &a[3]);
1709 cxJsonFromString(NULL, "[ { \"abc\": 200, \"str\": \"hello\" }, { }, null ]", &a[4]); 1709 cxJsonFromString(NULL, "[ { \"abc\": 200, \"str\": \"hello\" }, { }, null ]", &a[4]);
1710 cxJsonFromString(NULL, "[ { \"array\": [ 1,2,3 ]} ]", &a[5]); 1710 cxJsonFromString(NULL, "[ { \"array\": [ 1,2,3 ]} ]", &a[5]);
1711 1711
1712 CX_TEST_DO { 1712 CX_TEST_DO {
1713 // TODO: only the first 4 tests work. Change i<4 to i<6 1713 for(unsigned i=0;i<cx_nmemb(a);i++) {
1714 for(int i=0;i<4;i++) {
1715 CX_TEST_ASSERT(cxJsonIsArray(a[i])); 1714 CX_TEST_ASSERT(cxJsonIsArray(a[i]));
1716 1715
1717 CxJsonValue *b = cxJsonClone(a[i], NULL); 1716 CxJsonValue *b = cxJsonClone(a[i], NULL);
1718 CX_TEST_ASSERT(b); 1717 CX_TEST_ASSERT(b);
1719 CX_TEST_ASSERT(cxJsonIsArray(b)); 1718 CX_TEST_ASSERT(cxJsonIsArray(b));
1720 CX_TEST_ASSERT(cxJsonCompare(a[i], b) == 0); 1719 CX_TEST_ASSERT(cxJsonCompare(a[i], b) == 0);
1721 1720
1722 // TODO: enable when cxJsonToString(b, NULL) works 1721 cxmutstr a_str = cxJsonToString(a[i], NULL);
1723 //cxmutstr a_str = cxJsonToString(a[i], NULL); 1722 cxmutstr b_str = cxJsonToString(b, NULL);
1724 //cxmutstr b_str = cxJsonToString(b, NULL); 1723 CX_TEST_ASSERT(cx_strcmp(a_str, b_str) == 0);
1725 //CX_TEST_ASSERT(cx_strcmp(a_str, b_str) == 0); 1724 cx_strfree(&a_str);
1726 1725 cx_strfree(&b_str);
1726
1727 cxJsonValueFree(b); 1727 cxJsonValueFree(b);
1728 } 1728 }
1729 } 1729 }
1730 1730
1731 for(int i=0;i<6;i++) { 1731 for(int i=0;i<6;i++) {

mercurial