diff options
Diffstat (limited to 'src/json/test_json.c')
-rw-r--r-- | src/json/test_json.c | 40 |
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 | */ | ||
203 | static int | ||
204 | test_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 | |||
198 | int | 236 | int |
199 | main(int argc, | 237 | main(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 | } |