aboutsummaryrefslogtreecommitdiff
path: root/src/json/test_json.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/json/test_json.c')
-rw-r--r--src/json/test_json.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/src/json/test_json.c b/src/json/test_json.c
index 09a154678..adab817b9 100644
--- a/src/json/test_json.c
+++ b/src/json/test_json.c
@@ -195,6 +195,44 @@ test_rsa ()
195} 195}
196 196
197 197
198/**
199 * Test rsa conversions from/to JSON.
200 *
201 * @return 0 on success
202 */
203static int
204test_boolean ()
205{
206 int b1;
207 int b2;
208 json_t *json;
209 struct GNUNET_JSON_Specification pspec[] = {
210 GNUNET_JSON_spec_boolean ("b1", &b1),
211 GNUNET_JSON_spec_boolean ("b2", &b2),
212 GNUNET_JSON_spec_end()
213 };
214
215 json = json_object ();
216 json_object_set_new (json, "b1", json_true ());
217 json_object_set_new (json, "b2", json_false ());
218
219 GNUNET_assert (GNUNET_OK ==
220 GNUNET_JSON_parse (json, pspec,
221 NULL, NULL));
222
223 GNUNET_assert (GNUNET_YES == b1);
224 GNUNET_assert (GNUNET_NO == b2);
225
226 json_object_set_new (json, "b1", json_integer (42));
227
228 GNUNET_assert (GNUNET_OK !=
229 GNUNET_JSON_parse (json, pspec,
230 NULL, NULL));
231
232 return 0;
233}
234
235
198int 236int
199main(int argc, 237main(int argc,
200 const char *const argv[]) 238 const char *const argv[])
@@ -210,6 +248,8 @@ main(int argc,
210 return 1; 248 return 1;
211 if (0 != test_rsa ()) 249 if (0 != test_rsa ())
212 return 1; 250 return 1;
251 if (0 != test_boolean ())
252 return 1;
213 /* FIXME: test EdDSA signature conversion... */ 253 /* FIXME: test EdDSA signature conversion... */
214 return 0; 254 return 0;
215} 255}