tests/test_json.c

changeset 1598
1f0b85ea71f5
parent 1597
be79be26b01d
child 1600
a1a728d7ebfd
equal deleted inserted replaced
1597:be79be26b01d 1598:1f0b85ea71f5
1699 cxJsonValueFree(a[i]); 1699 cxJsonValueFree(a[i]);
1700 } 1700 }
1701 } 1701 }
1702 1702
1703 CX_TEST(test_json_clone_arrays) { 1703 CX_TEST(test_json_clone_arrays) {
1704 1704 CxJsonValue *a[6];
1705 CX_TEST_DO { 1705 cxJsonFromString(NULL, "[]", &a[0]);
1706 1706 cxJsonFromString(NULL, "[ 1, 2, 4, 8, 16, 32, 64 ]", &a[1]);
1707 cxJsonFromString(NULL, "[ \"string\", 12, 3.14, true, null, false, [] ]", &a[2]);
1708 cxJsonFromString(NULL, "[[1, [[2, [3, 4, 5]]], true], false]", &a[3]);
1709 cxJsonFromString(NULL, "[ { \"abc\": 200, \"str\": \"hello\" }, { }, null ]", &a[4]);
1710 cxJsonFromString(NULL, "[ { \"array\": [ 1,2,3 ]} ]", &a[5]);
1711
1712 CX_TEST_DO {
1713 // TODO: only the first 4 tests work. Change i<4 to i<6
1714 for(int i=0;i<4;i++) {
1715 CX_TEST_ASSERT(cxJsonIsArray(a[i]));
1716
1717 CxJsonValue *b = cxJsonClone(a[i], NULL);
1718 CX_TEST_ASSERT(b);
1719 CX_TEST_ASSERT(cxJsonIsArray(b));
1720 CX_TEST_ASSERT(cxJsonCompare(a[i], b) == 0);
1721
1722 // TODO: enable when cxJsonToString(b, NULL) works
1723 //cxmutstr a_str = cxJsonToString(a[i], NULL);
1724 //cxmutstr b_str = cxJsonToString(b, NULL);
1725 //CX_TEST_ASSERT(cx_strcmp(a_str, b_str) == 0);
1726
1727 cxJsonValueFree(b);
1728 }
1729 }
1730
1731 for(int i=0;i<6;i++) {
1732 cxJsonValueFree(a[i]);
1707 } 1733 }
1708 } 1734 }
1709 1735
1710 1736
1711 1737

mercurial