From eed3d0d330ff6ce9462b913777c3aa121370ac8a Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Sat, 29 Aug 2020 11:50:47 +0200 Subject: fix test_mustach_jansson and actually run it during test suite --- src/mustach/test_mustach_jansson.c | 142 ++++++++++++++++++++++++------------- 1 file changed, 91 insertions(+), 51 deletions(-) (limited to 'src/mustach/test_mustach_jansson.c') diff --git a/src/mustach/test_mustach_jansson.c b/src/mustach/test_mustach_jansson.c index ed49983f..93ef05f8 100644 --- a/src/mustach/test_mustach_jansson.c +++ b/src/mustach/test_mustach_jansson.c @@ -25,74 +25,109 @@ #include "platform.h" #include "mustach-jansson.h" -void -assert_template (const char *template, json_t *root, const char *expected) + +static void +assert_template (const char *template, + json_t *root, + const char *expected) { char *r; size_t sz; - GNUNET_assert (0 == mustach_jansson (template, root, &r, &sz)); - GNUNET_assert (0 == strcmp (r, expected)); + GNUNET_assert (0 == mustach_jansson (template, + root, + &r, + &sz)); + GNUNET_assert (0 == strcmp (r, + expected)); GNUNET_free (r); } + int main (int argc, char *const *argv) { json_t *root = json_object (); json_t *arr = json_array (); - json_t *obj = json_object(); + json_t *obj = json_object (); json_t *contract; /* test 1 */ - char *t1 = "hello world"; - char *x1 = "hello world"; + const char *t1 = "hello world"; + const char *x1 = "hello world"; /* test 2 */ - char *t2 = "hello {{ v1 }}"; - char *x2 = "hello world"; + const char *t2 = "hello {{ v1 }}"; + const char *x2 = "hello world"; /* test 3 */ - char *t3 = "hello {{ v3.x }}"; - char *x3 = "hello baz"; + const char *t3 = "hello {{ v3.x }}"; + const char *x3 = "hello baz"; /* test 4 */ - char *t4 = "hello {{# v2 }}{{ . }}{{/ v2 }}"; - char *x4 = "hello foobar"; + const char *t4 = "hello {{# v2 }}{{ . }}{{/ v2 }}"; + const char *x4 = "hello foobar"; /* test 5 */ - char *t5 = "hello {{# v3 }}{{ y }}/{{ x }}{{ z }}{{/ v3 }}"; - char *x5 = "hello quux/baz"; + const char *t5 = "hello {{# v3 }}{{ y }}/{{ x }}{{ z }}{{/ v3 }}"; + const char *x5 = "hello quux/baz"; /* test 6 */ - char *t6 = "hello {{ v2!stringify }}"; - char *x6 = "hello [\n \"foo\",\n \"bar\"\n]"; + const char *t6 = "hello {{ v2!stringify }}"; + const char *x6 = "hello [\n \"foo\",\n \"bar\"\n]"; /* test 7 */ - char *t7 = "amount: {{ amt!amount_decimal }} {{ amt!amount_currency }}"; - char *x7 = "amount: 123.00 EUR"; + const char *t7 = "amount: {{ amt!amount_decimal }} {{ amt!amount_currency }}"; + const char *x7 = "amount: 123.00 EUR"; /* test 8 */ - char *t8 = "{{^ v4 }}fallback{{/ v4 }}"; - char *x8 = "fallback"; + const char *t8 = "{{^ v4 }}fallback{{/ v4 }}"; + const char *x8 = "fallback"; /* contract test 8 (contract) */ - char *tc = "summary: {{ summary!i18n }}"; - char *xc_en = "summary: ENGLISH"; - char *xc_de = "summary: DEUTSCH"; - char *xc_fr = "summary: FRANCAISE"; - - json_object_set_new (root, "v1", json_string ("world")); - json_object_set_new (root, "v4", json_array ()); - json_array_append_new (arr, json_string ("foo")); - json_array_append_new (arr, json_string ("bar")); - json_object_set_new (root, "v2", arr); - json_object_set_new (root, "v3", obj); - json_object_set_new (root, "amt", json_string("EUR:123.00")); - json_object_set_new (obj, "x", json_string ("baz")); - json_object_set_new (obj, "y", json_string ("quux")); - - contract = json_pack("{ s:s, s:{s:s, s:s}}", - "summary", - "ENGLISH", - "summary_i18n", - "de", - "DEUTSCH", - "fr", - "FRANCAISE"); + const char *tc = "summary: {{ summary!i18n }}"; + const char *xc_en = "summary: ENGLISH"; + const char *xc_de = "summary: DEUTSCH"; + const char *xc_fr = "summary: FRANCAISE"; + + GNUNET_assert (NULL != root); + GNUNET_assert (NULL != arr); + GNUNET_assert (NULL != obj); + GNUNET_assert (0 == + json_object_set_new (root, + "v1", + json_string ("world"))); + GNUNET_assert (0 == + json_object_set_new (root, + "v4", + json_array ())); + GNUNET_assert (0 == + json_array_append_new (arr, + json_string ("foo"))); + GNUNET_assert (0 == + json_array_append_new (arr, + json_string ("bar"))); + GNUNET_assert (0 == + json_object_set_new (root, + "v2", + arr)); + GNUNET_assert (0 == + json_object_set_new (root, + "v3", + obj)); + GNUNET_assert (0 == + json_object_set_new (root, + "amt", + json_string ("EUR:123.00"))); + GNUNET_assert (0 == + json_object_set_new (obj, + "x", + json_string ("baz"))); + GNUNET_assert (0 == + json_object_set_new (obj, + "y", + json_string ("quux"))); + contract = json_pack ("{ s:s, s:{s:s, s:s}}", + "summary", + "ENGLISH", + "summary_i18n", + "de", + "DEUTSCH", + "fr", + "FRANCAISE"); GNUNET_assert (NULL != contract); assert_template (t1, root, x1); @@ -103,21 +138,26 @@ main (int argc, assert_template (t6, root, x6); assert_template (t7, root, x7); assert_template (t8, root, x8); - assert_template (tc, contract, xc_en); - json_object_set_new (contract, "$language", json_string ("de")); + GNUNET_assert (0 == + json_object_set_new (contract, + "$language", + json_string ("de"))); assert_template (tc, contract, xc_de); - json_object_set_new (contract, "$language", json_string ("fr")); + GNUNET_assert (0 == + json_object_set_new (contract, + "$language", + json_string ("fr"))); assert_template (tc, contract, xc_fr); - json_object_set_new (contract, "$language", json_string ("it")); + GNUNET_assert (0 == + json_object_set_new (contract, + "$language", + json_string ("it"))); assert_template (tc, contract, xc_en); - json_decref (root); json_decref (contract); - return 0; } - -- cgit v1.2.3