2 * Copyright (c) 2009 Petri Lehtinen <petri@digip.org>
4 * Jansson is free software; you can redistribute it and/or modify
5 * it under the terms of the MIT license. See LICENSE for details.
12 /* Call the simple functions not covered by other tests of the public API */
17 value = json_integer(1);
18 if(json_typeof(value) != JSON_INTEGER)
19 fail("json_typeof failed");
21 if(json_is_object(value))
22 fail("json_is_object failed");
24 if(json_is_array(value))
25 fail("json_is_array failed");
27 if(json_is_string(value))
28 fail("json_is_string failed");
30 if(!json_is_integer(value))
31 fail("json_is_integer failed");
33 if(json_is_real(value))
34 fail("json_is_real failed");
36 if(!json_is_number(value))
37 fail("json_is_number failed");
39 if(json_is_true(value))
40 fail("json_is_true failed");
42 if(json_is_false(value))
43 fail("json_is_false failed");
45 if(json_is_boolean(value))
46 fail("json_is_boolean failed");
48 if(json_is_null(value))
49 fail("json_is_null failed");
54 value = json_string("foo");
56 fail("json_string failed");
57 if(strcmp(json_string_value(value), "foo"))
58 fail("invalid string value");
60 if(json_string_set(value, "bar"))
61 fail("json_string_set failed");
62 if(strcmp(json_string_value(value), "bar"))
63 fail("invalid string value");
67 value = json_string(NULL);
69 fail("json_string(NULL) failed");
72 value = json_string("a\xefz");
74 fail("json_string(<invalid utf-8>) failed");
76 value = json_string_nocheck("foo");
78 fail("json_string_nocheck failed");
79 if(strcmp(json_string_value(value), "foo"))
80 fail("invalid string value");
82 if(json_string_set_nocheck(value, "bar"))
83 fail("json_string_set_nocheck failed");
84 if(strcmp(json_string_value(value), "bar"))
85 fail("invalid string value");
90 value = json_string_nocheck("qu\xff");
92 fail("json_string_nocheck failed");
93 if(strcmp(json_string_value(value), "qu\xff"))
94 fail("invalid string value");
96 if(json_string_set_nocheck(value, "\xfd\xfe\xff"))
97 fail("json_string_set_nocheck failed");
98 if(strcmp(json_string_value(value), "\xfd\xfe\xff"))
99 fail("invalid string value");
104 value = json_integer(123);
106 fail("json_integer failed");
107 if(json_integer_value(value) != 123)
108 fail("invalid integer value");
109 if(json_number_value(value) != 123.0)
110 fail("invalid number value");
112 if(json_integer_set(value, 321))
113 fail("json_integer_set failed");
114 if(json_integer_value(value) != 321)
115 fail("invalid integer value");
116 if(json_number_value(value) != 321.0)
117 fail("invalid number value");
121 value = json_real(123.123);
123 fail("json_real failed");
124 if(json_real_value(value) != 123.123)
125 fail("invalid integer value");
126 if(json_number_value(value) != 123.123)
127 fail("invalid number value");
129 if(json_real_set(value, 321.321))
130 fail("json_real_set failed");
131 if(json_real_value(value) != 321.321)
132 fail("invalid real value");
133 if(json_number_value(value) != 321.321)
134 fail("invalid number value");
140 fail("json_true failed");
143 value = json_false();
145 fail("json_false failed");
150 fail("json_null failed");