5 #include "../../JSONOptions.h"
6 #include "../../libjson.h"
7 #include "../Source/JSONNode.h"
18 #define assertCStringSame(a, b) assertCStringEqualsW(a, b)
19 #define assertCStringNotSame(a, b) assertCStringNotEqualsW(a, b)
21 #define assertCStringSame(a, b) assertCStringEquals(a, b)
22 #define assertCStringNotSame(a, b) assertCStringNotEquals(a, b)
28 static void TestSelf(
void);
29 static void TestString(
void);
30 static void TestConverters(
void);
32 static void TestBase64(
void);
34 static void TestReferenceCounting(
void);
35 static void TestConstructors(
void);
36 static void TestAssigning(
void);
37 static void TestEquality(
void);
38 static void TestInequality(
void);
39 static void TestChildren(
void);
40 static void TestFunctions(
void);
41 static void TestIterators(
void);
42 static void TestInspectors(
void);
43 static void TestNamespace(
void);
44 static void TestValidator(
void);
45 static void TestStreams(
void);
46 #ifdef JSON_WRITE_PRIORITY
47 static void TestWriter(
void);
50 static void TestComments(
void);
52 #ifdef JSON_MUTEX_CALLBACKS
53 static void TestMutex(
void);
54 static void TestThreading(
void);
56 static void TestSharedString(
void);
57 static void TestFinal(
void);
64 static void testParsingItself(JSONNODE * x){
65 #if defined(JSON_WRITE_PRIORITY) && defined(JSON_READ_PRIORITY)
67 json_char * written = json_write(x);
68 JSONNODE * copy = json_parse(written);
69 assertTrue(json_equal(x, copy));
74 json_char * written = json_write_formatted(x);
75 JSONNODE * copy = json_parse(written);
76 assertTrue(json_equal(x, copy));
81 json_char * written = json_write_formatted(x);
82 json_char * written2 = json_write(x);
83 json_char * stripped = json_strip_white_space(written);
84 assertCStringSame(written2, stripped);
91 JSONNODE * copy = json_duplicate(x);
92 assertTrue(json_equal(x, copy));
97 static void testParsingItself(
JSONNode & x){
98 #if defined(JSON_WRITE_PRIORITY) && defined(JSON_READ_PRIORITY)
99 assertEquals(libjson::parse(x.write()), x);
100 assertEquals(libjson::parse(x.write_formatted()), x);
101 assertEquals(libjson::strip_white_space(x.write_formatted()), x.write());
103 assertEquals(x, x.duplicate())
Definition: JSONNode.h:132
Definition: TestSuite.h:26