1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 22:27:35 +00:00

LibRegex: Add support for non-extended regular expressions in regcomp()

Fixes part of #8506.
This commit is contained in:
Ali Mohammad Pur 2021-07-10 13:18:49 +04:30 committed by Andreas Kling
parent 54d89609de
commit daa6d99e6e
2 changed files with 39 additions and 11 deletions

View file

@ -1127,3 +1127,26 @@ TEST_CASE(simple_notbol_noteol)
regfree(&regex);
regfree(&regex2);
}
TEST_CASE(bre_basic)
{
regex_t regex;
EXPECT_EQ(regcomp(&regex, "hello friends", REG_NOSUB | REG_ICASE), REG_NOERR);
EXPECT_EQ(regexec(&regex, "hello friends", 0, NULL, 0), REG_NOERR);
regfree(&regex);
EXPECT_EQ(regcomp(&regex, "\\(15\\)\\1", REG_NOSUB | REG_ICASE), REG_NOERR);
EXPECT_EQ(regexec(&regex, "1515", 0, NULL, 0), REG_NOERR);
EXPECT_EQ(regexec(&regex, "55", 0, NULL, 0), REG_NOMATCH);
regfree(&regex);
EXPECT_EQ(regcomp(&regex, "15\\{1,2\\}", REG_NOSUB | REG_ICASE), REG_NOERR);
EXPECT_EQ(regexec(&regex, "15", 0, NULL, 0), REG_NOERR);
EXPECT_EQ(regexec(&regex, "1515", 0, NULL, 0), REG_NOMATCH);
EXPECT_EQ(regexec(&regex, "55", 0, NULL, 0), REG_NOMATCH);
regfree(&regex);
EXPECT_EQ(regcomp(&regex, "15{1,2}", REG_NOSUB | REG_ICASE), REG_NOERR);
EXPECT_EQ(regexec(&regex, "15{1,2}", 0, NULL, 0), REG_NOERR);
regfree(&regex);
}