pcre2 / tests /tests_compile.c
AryaWu's picture
Upload folder using huggingface_hub
864071c verified
#include "unity/unity.h"
#define PCRE2_CODE_UNIT_WIDTH 8
#include "pcre2.h"
void setUp(void) {
/* Called before each test */
}
void tearDown(void) {
/* Called after each test */
}
void test_simple_pattern_compiles(void) {
pcre2_code *re;
int errornumber;
PCRE2_SIZE erroroffset;
PCRE2_SPTR pattern = (PCRE2_SPTR)"\\d+";
re = pcre2_compile(pattern, PCRE2_ZERO_TERMINATED, 0,
&errornumber, &erroroffset, NULL);
TEST_ASSERT_NOT_NULL_MESSAGE(re, "Pattern should compile");
pcre2_code_free(re);
}
void test_invalid_pattern_fails(void) {
pcre2_code *re;
int errornumber;
PCRE2_SIZE erroroffset;
PCRE2_SPTR pattern = (PCRE2_SPTR)"[invalid";
re = pcre2_compile(pattern, PCRE2_ZERO_TERMINATED, 0,
&errornumber, &erroroffset, NULL);
TEST_ASSERT_NULL_MESSAGE(re, "Invalid pattern should fail");
}
void test_utf8_pattern(void) {
pcre2_code *re;
int errornumber;
PCRE2_SIZE erroroffset;
PCRE2_SPTR pattern = (PCRE2_SPTR)"café";
re = pcre2_compile(pattern, PCRE2_ZERO_TERMINATED, PCRE2_UTF,
&errornumber, &erroroffset, NULL);
TEST_ASSERT_NOT_NULL_MESSAGE(re, "UTF-8 pattern should compile");
pcre2_code_free(re);
}
int main(void) {
UNITY_BEGIN();
RUN_TEST(test_simple_pattern_compiles);
RUN_TEST(test_invalid_pattern_fails);
RUN_TEST(test_utf8_pattern);
return UNITY_END();
}