X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-regex-quote.c;h=02728f9347ab8cb9b491d5f1effde06bbe582a5f;hb=cc1a9b724883a74e39445da64ae096b954bf781b;hp=417beddc72e8620b96470ad125f713b74bbf3771;hpb=86e9d08f1419a61e14e124568b101be4a1e6a408;p=gnulib.git diff --git a/tests/test-regex-quote.c b/tests/test-regex-quote.c index 417beddc7..02728f934 100644 --- a/tests/test-regex-quote.c +++ b/tests/test-regex-quote.c @@ -1,5 +1,5 @@ /* Test of constructing a regular expression from a literal string. - Copyright (C) 2010 Free Software Foundation, Inc. + Copyright (C) 2010-2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -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];