@@ -389,6 +389,23 @@ START_TEST(test_util_html_template) {
389389}
390390END_TEST
391391
392+ START_TEST (test_util_jq ) {
393+ request_rec * r = oidc_test_request_get ();
394+ #ifdef USE_LIBJQ
395+ ck_assert_str_eq (oidc_util_jq_filter (r , NULL , "." ), "{}" );
396+ ck_assert_str_eq (oidc_util_jq_filter (r , "{ \"jan\": \"jan\", \"piet\": \"piet\" }" , NULL ),
397+ "{ \"jan\": \"jan\", \"piet\": \"piet\" }" );
398+ ck_assert_str_eq (oidc_util_jq_filter (r , "{ \"jan\": \"jan\", \"piet\": \"piet\" }" , "bogus" ),
399+ "{ \"jan\": \"jan\", \"piet\": \"piet\" }" );
400+ ck_assert_str_eq (oidc_util_jq_filter (r , "{ \"jan\": \"jan\", \"piet\": \"piet\" }" , ".jan" ), "\"jan\"" );
401+ ck_assert_str_eq (oidc_util_jq_filter (r , "{ \"jan\": \"jan\", \"piet\": \"piet\" }" , ".jan" ), "\"jan\"" );
402+ #else
403+ ck_assert_str_eq (oidc_util_jq_filter (r , "{ \"jan\": \"jan\", \"piet\": \"piet\" }" , ".jan" ),
404+ "{ \"jan\": \"jan\", \"piet\": \"piet\" }" );
405+ #endif
406+ }
407+ END_TEST
408+
392409int main (void ) {
393410 TCase * c = NULL ;
394411 Suite * s = suite_create ("util" );
@@ -426,5 +443,10 @@ int main(void) {
426443 tcase_add_test (c , test_util_html_template );
427444 suite_add_tcase (s , c );
428445
446+ c = tcase_create ("jq" );
447+ tcase_add_checked_fixture (c , oidc_test_setup , oidc_test_teardown );
448+ tcase_add_test (c , test_util_jq );
449+ suite_add_tcase (s , c );
450+
429451 return oidc_test_suite_run (s );
430452}
0 commit comments