Add a test for cprepp.

This commit is contained in:
Timothy Stack 2010-04-25 21:12:45 -07:00
parent 34918c606b
commit 80dfd74732
1 changed files with 43 additions and 0 deletions

43
test/test_pcrepp.cc Normal file
View File

@ -0,0 +1,43 @@
#include "config.h"
#include <stdlib.h>
#include <string.h>
#include <string>
#include "pcrepp.hh"
int main(int argc, char *argv[])
{
pcre_context_static<30> context;
int retval = EXIT_SUCCESS;
{
pcrepp nomatch("nothing-to-match");
pcre_input pi("dummy");
assert(!nomatch.match(context, pi));
}
{
pcrepp match1("(\\w*)=(\\d+)");
pcre_input pi("a=1 b=2");
assert(match1.match(context, pi));
assert((context.end() - context.begin()) == 2);
assert(pi.get_substr(context.begin()) == "a");
assert(pi.get_substr(context.begin() + 1) == "1");
assert(match1.match(context, pi));
assert((context.end() - context.begin()) == 2);
assert(pi.get_substr(context.begin()) == "b");
assert(pi.get_substr(context.begin() + 1) == "2");
}
{
pcrepp match2("");
}
return retval;
}