| 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++) { |