X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-regex-quote.c;h=02728f9347ab8cb9b491d5f1effde06bbe582a5f;hb=10faf28afff16a02b36cb09ffc7e5380ee984add;hp=7f1e8f0857d9472e7f726712b2502168d82483f3;hpb=d60f3b0c6b0f93a601acd1cfd3923f94ca05abb0;p=gnulib.git diff --git a/tests/test-regex-quote.c b/tests/test-regex-quote.c index 7f1e8f085..02728f934 100644 --- a/tests/test-regex-quote.c +++ b/tests/test-regex-quote.c @@ -29,18 +29,37 @@ static void check (const char *literal, int cflags, const char *expected) { + struct regex_quote_spec spec; char *result; size_t length; - result = regex_quote (literal, cflags); + spec = regex_quote_spec_posix (cflags, false); + result = regex_quote (literal, &spec); ASSERT (strcmp (result, expected) == 0); - length = regex_quote_length (literal, cflags); + length = regex_quote_length (literal, &spec); ASSERT (length == strlen (result)); free (result); result = (char *) xmalloc (1 + length + 1 + 1); result[0] = '^'; - strcpy (regex_quote_copy (result + 1, literal, cflags), "$"); + strcpy (regex_quote_copy (result + 1, literal, &spec), "$"); + { + regex_t regex; + regmatch_t match[1]; + + ASSERT (regcomp (®ex, result, cflags) == 0); + + ASSERT (regexec (®ex, literal, 1, match, 0) == 0); + ASSERT (match[0].rm_so == 0); + ASSERT (match[0].rm_eo == strlen (literal)); + regfree (®ex); + } + free (result); + + spec = regex_quote_spec_posix (cflags, true); + result = regex_quote (literal, &spec); + length = regex_quote_length (literal, &spec); + ASSERT (length == strlen (result)); { regex_t regex; regmatch_t match[1];