tests,json: Add wildcard string matching
authorAndre Heinecke <aheinecke@intevation.de>
Wed, 14 Nov 2018 13:57:40 +0000 (14:57 +0100)
committerAndre Heinecke <aheinecke@intevation.de>
Wed, 14 Nov 2018 13:57:40 +0000 (14:57 +0100)
* tests/json/t-json.c (test_contains): When searching for "*" accept
every string.

--
This allows it to write tests that check for the existence of
a string value but don't care about the contents. E.g. for Data.

tests/json/t-json.c

index 07b9984..f5b2793 100644 (file)
@@ -125,7 +125,9 @@ test_contains (cjson_t needle, cjson_t hay)
     }
   if (cjson_is_string (needle))
     {
-      if (strcmp (needle->valuestring, hay->valuestring))
+      if (strcmp (needle->valuestring, hay->valuestring) &&
+          /* Use * as a general don't care placeholder */
+          strcmp (needle->valuestring, "*"))
         {
           if (verbose)
             fprintf (stderr, "%s: string mismatch Expected '%s' got '%s'\n",