mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 22:57:44 +00:00
Meta: Build AK and LibRegex tests in Lagom and for Serenity
These tests were never built for the serenity target. Move their Lagom build steps to the Lagom CMakeLists.txt, and add serenity build steps for them. Also, fix the build errors when building them with the serenity cross-compiler :^)
This commit is contained in:
parent
860a3bbce3
commit
e787738c24
10 changed files with 268 additions and 259 deletions
|
@ -163,26 +163,26 @@ TEST_CASE(simple_questionmark_matchall)
|
|||
|
||||
EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED), REG_NOERR);
|
||||
EXPECT_EQ(regexec(®ex, "a", num_matches, matches, REG_GLOBAL), REG_NOMATCH);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0);
|
||||
EXPECT_EQ(regexec(®ex, "daa", num_matches, matches, REG_GLOBAL), REG_NOMATCH);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0);
|
||||
|
||||
EXPECT_EQ(regexec(®ex, "ddddd", num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 2u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 2);
|
||||
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 2u);
|
||||
EXPECT_EQ(matches[1].rm_so, 2u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 4u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 2);
|
||||
EXPECT_EQ(matches[1].rm_so, 2);
|
||||
EXPECT_EQ(matches[1].rm_eo, 4);
|
||||
|
||||
EXPECT_EQ(regexec(®ex, "dd", num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(regexec(®ex, "dad", num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(regexec(®ex, "dada", num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(regexec(®ex, "adadaa", num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
|
||||
regfree(®ex);
|
||||
}
|
||||
|
@ -197,9 +197,9 @@ TEST_CASE(character_class)
|
|||
String haystack = "[Window]\nOpacity=255\nAudibleBeep=0\n";
|
||||
EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED), REG_NOERR);
|
||||
EXPECT_EQ(regexec(®ex, haystack.characters(), num_matches, matches, 0), REG_NOMATCH);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0);
|
||||
EXPECT_EQ(regexec(®ex, haystack.characters(), num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 24u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 24);
|
||||
EXPECT_EQ(haystack.substring_view(matches[0].rm_so, matches[0].rm_eo - matches[0].rm_so), "W");
|
||||
EXPECT_EQ(haystack.substring_view(matches[1].rm_so, matches[1].rm_eo - matches[1].rm_so), "i");
|
||||
|
||||
|
@ -217,7 +217,7 @@ TEST_CASE(character_class2)
|
|||
EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED | REG_NEWLINE), REG_NOERR);
|
||||
EXPECT_EQ(regexec(®ex, haystack.characters(), num_matches, matches, 0), REG_NOERR);
|
||||
|
||||
EXPECT_EQ(matches[0].rm_cnt, 3u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 3);
|
||||
#if 0
|
||||
for (int i = 0; i < num_matches; ++i) {
|
||||
fprintf(stderr, "Matches[%i].rm_so: %li, .rm_eo: %li .rm_cnt: %li: ", i, matches[i].rm_so, matches[i].rm_eo, matches[i].rm_cnt);
|
||||
|
@ -275,7 +275,7 @@ TEST_CASE(char_qualifier_asterisk)
|
|||
|
||||
EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED), REG_NOERR);
|
||||
EXPECT_EQ(regexec(®ex, "#include <regex.h>", num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
|
||||
regfree(®ex);
|
||||
}
|
||||
|
@ -289,7 +289,7 @@ TEST_CASE(char_utf8)
|
|||
|
||||
EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED), REG_NOERR);
|
||||
EXPECT_EQ(regexec(®ex, "Привет, мир! 😀 γειά σου κόσμος 😀 こんにちは世界", num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 2u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 2);
|
||||
|
||||
regfree(®ex);
|
||||
}
|
||||
|
@ -304,12 +304,12 @@ TEST_CASE(parens)
|
|||
EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED), REG_NOERR);
|
||||
|
||||
EXPECT_EQ(regexec(®ex, "testhellotest", num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 13u);
|
||||
EXPECT_EQ(matches[1].rm_so, 4u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 9u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 13);
|
||||
EXPECT_EQ(matches[1].rm_so, 4);
|
||||
EXPECT_EQ(matches[1].rm_eo, 9);
|
||||
|
||||
regfree(®ex);
|
||||
}
|
||||
|
@ -427,18 +427,18 @@ TEST_CASE(parens_qualifier_questionmark)
|
|||
|
||||
match_str = "testtest";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 8u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 8);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testtest");
|
||||
|
||||
match_str = "testhellotest";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 13u);
|
||||
EXPECT_EQ(matches[1].rm_so, 4u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 9u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 13);
|
||||
EXPECT_EQ(matches[1].rm_so, 4);
|
||||
EXPECT_EQ(matches[1].rm_eo, 9);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testhellotest");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello");
|
||||
|
||||
|
@ -457,32 +457,32 @@ TEST_CASE(parens_qualifier_asterisk)
|
|||
|
||||
match_str = "testtest";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 8u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 8);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testtest");
|
||||
|
||||
match_str = "testhellohellotest";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 18u);
|
||||
EXPECT_EQ(matches[1].rm_so, 9u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 14u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 18);
|
||||
EXPECT_EQ(matches[1].rm_so, 9);
|
||||
EXPECT_EQ(matches[1].rm_eo, 14);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testhellohellotest");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello");
|
||||
|
||||
match_str = "testhellohellotest, testhellotest";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 2u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 18u);
|
||||
EXPECT_EQ(matches[1].rm_so, 9u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 14u);
|
||||
EXPECT_EQ(matches[2].rm_so, 20u);
|
||||
EXPECT_EQ(matches[2].rm_eo, 33u);
|
||||
EXPECT_EQ(matches[3].rm_so, 24u);
|
||||
EXPECT_EQ(matches[3].rm_eo, 29u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 2);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 18);
|
||||
EXPECT_EQ(matches[1].rm_so, 9);
|
||||
EXPECT_EQ(matches[1].rm_eo, 14);
|
||||
EXPECT_EQ(matches[2].rm_so, 20);
|
||||
EXPECT_EQ(matches[2].rm_eo, 33);
|
||||
EXPECT_EQ(matches[3].rm_so, 24);
|
||||
EXPECT_EQ(matches[3].rm_eo, 29);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testhellohellotest");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello");
|
||||
EXPECT_EQ(StringView(&match_str[matches[2].rm_so], matches[2].rm_eo - matches[2].rm_so), "testhellotest");
|
||||
|
@ -503,31 +503,31 @@ TEST_CASE(parens_qualifier_asterisk_2)
|
|||
|
||||
match_str = "testasdftest";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 12u);
|
||||
EXPECT_EQ(matches[1].rm_so, 4u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 8u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 12);
|
||||
EXPECT_EQ(matches[1].rm_so, 4);
|
||||
EXPECT_EQ(matches[1].rm_eo, 8);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testasdftest");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "asdf");
|
||||
|
||||
match_str = "testasdfasdftest";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 16u);
|
||||
EXPECT_EQ(matches[1].rm_so, 4u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 12u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 16);
|
||||
EXPECT_EQ(matches[1].rm_so, 4);
|
||||
EXPECT_EQ(matches[1].rm_eo, 12);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testasdfasdftest");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "asdfasdf");
|
||||
|
||||
match_str = "testaaaatest, testbbbtest, testtest";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 35u);
|
||||
EXPECT_EQ(matches[1].rm_so, 4u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 31u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 35);
|
||||
EXPECT_EQ(matches[1].rm_so, 4);
|
||||
EXPECT_EQ(matches[1].rm_eo, 31);
|
||||
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testaaaatest, testbbbtest, testtest");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "aaaatest, testbbbtest, test");
|
||||
|
@ -549,52 +549,52 @@ TEST_CASE(mulit_parens_qualifier_too_less_result_values)
|
|||
|
||||
match_str = "testabtest";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches - 1, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 10u);
|
||||
EXPECT_EQ(matches[1].rm_so, 4u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 5u);
|
||||
EXPECT_EQ(matches[2].rm_so, 5u);
|
||||
EXPECT_EQ(matches[2].rm_eo, 6u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 10);
|
||||
EXPECT_EQ(matches[1].rm_so, 4);
|
||||
EXPECT_EQ(matches[1].rm_eo, 5);
|
||||
EXPECT_EQ(matches[2].rm_so, 5);
|
||||
EXPECT_EQ(matches[2].rm_eo, 6);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testabtest");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "a");
|
||||
EXPECT_EQ(StringView(&match_str[matches[2].rm_so], matches[2].rm_eo - matches[2].rm_so), "b");
|
||||
EXPECT_EQ(matches[3].rm_so, -2);
|
||||
EXPECT_EQ(matches[3].rm_eo, -2);
|
||||
EXPECT_EQ(matches[3].rm_cnt, 100u);
|
||||
EXPECT_EQ(matches[3].rm_cnt, 100);
|
||||
|
||||
match_str = "testabctest";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches - 1, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 11u);
|
||||
EXPECT_EQ(matches[1].rm_so, 4u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 5u);
|
||||
EXPECT_EQ(matches[2].rm_so, 5u);
|
||||
EXPECT_EQ(matches[2].rm_eo, 6u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 11);
|
||||
EXPECT_EQ(matches[1].rm_so, 4);
|
||||
EXPECT_EQ(matches[1].rm_eo, 5);
|
||||
EXPECT_EQ(matches[2].rm_so, 5);
|
||||
EXPECT_EQ(matches[2].rm_eo, 6);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testabctest");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "a");
|
||||
EXPECT_EQ(StringView(&match_str[matches[2].rm_so], matches[2].rm_eo - matches[2].rm_so), "b");
|
||||
EXPECT_EQ(matches[3].rm_so, -2);
|
||||
EXPECT_EQ(matches[3].rm_eo, -2);
|
||||
EXPECT_EQ(matches[3].rm_cnt, 100u);
|
||||
EXPECT_EQ(matches[3].rm_cnt, 100);
|
||||
|
||||
match_str = "testabctest, testabctest";
|
||||
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches - 1, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 2u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 11u);
|
||||
EXPECT_EQ(matches[1].rm_so, 4u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 5u);
|
||||
EXPECT_EQ(matches[2].rm_so, 5u);
|
||||
EXPECT_EQ(matches[2].rm_eo, 6u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 2);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 11);
|
||||
EXPECT_EQ(matches[1].rm_so, 4);
|
||||
EXPECT_EQ(matches[1].rm_eo, 5);
|
||||
EXPECT_EQ(matches[2].rm_so, 5);
|
||||
EXPECT_EQ(matches[2].rm_eo, 6);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testabctest");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "a");
|
||||
EXPECT_EQ(StringView(&match_str[matches[2].rm_so], matches[2].rm_eo - matches[2].rm_so), "b");
|
||||
EXPECT_EQ(matches[3].rm_so, -2);
|
||||
EXPECT_EQ(matches[3].rm_eo, -2);
|
||||
EXPECT_EQ(matches[3].rm_cnt, 100u);
|
||||
EXPECT_EQ(matches[3].rm_cnt, 100);
|
||||
|
||||
regfree(®ex);
|
||||
}
|
||||
|
@ -611,20 +611,20 @@ TEST_CASE(multi_parens_qualifier_questionmark)
|
|||
|
||||
match_str = "testtest";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 8u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 8);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testtest");
|
||||
|
||||
match_str = "testabctest";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 11u);
|
||||
EXPECT_EQ(matches[1].rm_so, 4u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 5u);
|
||||
EXPECT_EQ(matches[2].rm_so, 5u);
|
||||
EXPECT_EQ(matches[2].rm_eo, 6u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 11);
|
||||
EXPECT_EQ(matches[1].rm_so, 4);
|
||||
EXPECT_EQ(matches[1].rm_eo, 5);
|
||||
EXPECT_EQ(matches[2].rm_so, 5);
|
||||
EXPECT_EQ(matches[2].rm_eo, 6);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testabctest");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "a");
|
||||
EXPECT_EQ(StringView(&match_str[matches[2].rm_so], matches[2].rm_eo - matches[2].rm_so), "b");
|
||||
|
@ -632,24 +632,24 @@ TEST_CASE(multi_parens_qualifier_questionmark)
|
|||
match_str = "testabctest, testactest";
|
||||
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 2u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 11u);
|
||||
EXPECT_EQ(matches[1].rm_so, 4u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 5u);
|
||||
EXPECT_EQ(matches[2].rm_so, 5u);
|
||||
EXPECT_EQ(matches[2].rm_eo, 6u);
|
||||
EXPECT_EQ(matches[3].rm_so, 6u);
|
||||
EXPECT_EQ(matches[3].rm_eo, 7u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 2);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 11);
|
||||
EXPECT_EQ(matches[1].rm_so, 4);
|
||||
EXPECT_EQ(matches[1].rm_eo, 5);
|
||||
EXPECT_EQ(matches[2].rm_so, 5);
|
||||
EXPECT_EQ(matches[2].rm_eo, 6);
|
||||
EXPECT_EQ(matches[3].rm_so, 6);
|
||||
EXPECT_EQ(matches[3].rm_eo, 7);
|
||||
|
||||
EXPECT_EQ(matches[4].rm_so, 13u);
|
||||
EXPECT_EQ(matches[4].rm_eo, 23u);
|
||||
EXPECT_EQ(matches[5].rm_so, 17u);
|
||||
EXPECT_EQ(matches[5].rm_eo, 18u);
|
||||
EXPECT_EQ(matches[4].rm_so, 13);
|
||||
EXPECT_EQ(matches[4].rm_eo, 23);
|
||||
EXPECT_EQ(matches[5].rm_so, 17);
|
||||
EXPECT_EQ(matches[5].rm_eo, 18);
|
||||
EXPECT_EQ(matches[6].rm_so, -1);
|
||||
EXPECT_EQ(matches[6].rm_eo, -1);
|
||||
EXPECT_EQ(matches[7].rm_so, 18u);
|
||||
EXPECT_EQ(matches[7].rm_eo, 19u);
|
||||
EXPECT_EQ(matches[7].rm_so, 18);
|
||||
EXPECT_EQ(matches[7].rm_eo, 19);
|
||||
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testabctest");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "a");
|
||||
|
@ -673,19 +673,19 @@ TEST_CASE(simple_alternative)
|
|||
EXPECT_EQ(regcomp(®ex, pattern.characters(), REG_EXTENDED), REG_NOERR);
|
||||
|
||||
EXPECT_EQ(regexec(®ex, "test", num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 4u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 4);
|
||||
|
||||
EXPECT_EQ(regexec(®ex, "hello", num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 5u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 5);
|
||||
|
||||
EXPECT_EQ(regexec(®ex, "friends", num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 7u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 7);
|
||||
|
||||
regfree(®ex);
|
||||
}
|
||||
|
@ -702,7 +702,7 @@ TEST_CASE(alternative_match_groups)
|
|||
|
||||
match_str = "test";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 4);
|
||||
EXPECT_EQ(matches[1].rm_so, -1);
|
||||
|
@ -715,11 +715,11 @@ TEST_CASE(alternative_match_groups)
|
|||
|
||||
match_str = "testa";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 5u);
|
||||
EXPECT_EQ(matches[1].rm_so, 4u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 5u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 5);
|
||||
EXPECT_EQ(matches[1].rm_so, 4);
|
||||
EXPECT_EQ(matches[1].rm_eo, 5);
|
||||
EXPECT_EQ(matches[2].rm_so, -1);
|
||||
EXPECT_EQ(matches[2].rm_eo, -1);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testa");
|
||||
|
@ -728,22 +728,22 @@ TEST_CASE(alternative_match_groups)
|
|||
|
||||
match_str = "testb";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 5u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 5);
|
||||
EXPECT_EQ(matches[1].rm_so, -1);
|
||||
EXPECT_EQ(matches[1].rm_eo, -1);
|
||||
EXPECT_EQ(matches[2].rm_so, 4u);
|
||||
EXPECT_EQ(matches[2].rm_eo, 5u);
|
||||
EXPECT_EQ(matches[2].rm_so, 4);
|
||||
EXPECT_EQ(matches[2].rm_eo, 5);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "testb");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "");
|
||||
EXPECT_EQ(StringView(&match_str[matches[2].rm_so], matches[2].rm_eo - matches[2].rm_so), "b");
|
||||
|
||||
match_str = "hello friends";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 13u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 13);
|
||||
EXPECT_EQ(matches[1].rm_so, -1);
|
||||
EXPECT_EQ(matches[1].rm_eo, -1);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hello friends");
|
||||
|
@ -751,9 +751,9 @@ TEST_CASE(alternative_match_groups)
|
|||
|
||||
match_str = "hello dear friends";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 18u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 18);
|
||||
EXPECT_EQ(matches[1].rm_so, -1);
|
||||
EXPECT_EQ(matches[1].rm_eo, -1);
|
||||
EXPECT_EQ(matches[2].rm_so, -1);
|
||||
|
@ -767,9 +767,9 @@ TEST_CASE(alternative_match_groups)
|
|||
|
||||
match_str = "hello my friends";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 16u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 16);
|
||||
EXPECT_EQ(matches[1].rm_so, -1);
|
||||
EXPECT_EQ(matches[1].rm_eo, -1);
|
||||
EXPECT_EQ(matches[2].rm_so, -1);
|
||||
|
@ -783,13 +783,13 @@ TEST_CASE(alternative_match_groups)
|
|||
|
||||
match_str = "testabc";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOMATCH);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0);
|
||||
EXPECT_EQ(matches[0].rm_so, -1);
|
||||
EXPECT_EQ(matches[0].rm_eo, -1);
|
||||
|
||||
match_str = "hello test friends";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOMATCH);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0);
|
||||
EXPECT_EQ(matches[0].rm_so, -1);
|
||||
EXPECT_EQ(matches[0].rm_eo, -1);
|
||||
|
||||
|
@ -808,35 +808,35 @@ TEST_CASE(parens_qualifier_exact)
|
|||
|
||||
match_str = "hello";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOMATCH);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0);
|
||||
|
||||
match_str = "hellohellohello";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 15u);
|
||||
EXPECT_EQ(matches[1].rm_so, 10u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 15u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 15);
|
||||
EXPECT_EQ(matches[1].rm_so, 10);
|
||||
EXPECT_EQ(matches[1].rm_eo, 15);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello");
|
||||
|
||||
match_str = "hellohellohellohello";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 15u);
|
||||
EXPECT_EQ(matches[1].rm_so, 10u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 15u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 15);
|
||||
EXPECT_EQ(matches[1].rm_so, 10);
|
||||
EXPECT_EQ(matches[1].rm_eo, 15);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello");
|
||||
|
||||
match_str = "test hellohellohello";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 5u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 20u);
|
||||
EXPECT_EQ(matches[1].rm_so, 15u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 20u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 5);
|
||||
EXPECT_EQ(matches[0].rm_eo, 20);
|
||||
EXPECT_EQ(matches[1].rm_so, 15);
|
||||
EXPECT_EQ(matches[1].rm_eo, 20);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello");
|
||||
|
||||
|
@ -855,46 +855,46 @@ TEST_CASE(parens_qualifier_minimum)
|
|||
|
||||
match_str = "hello";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOMATCH);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0);
|
||||
|
||||
match_str = "hellohellohello";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 15u);
|
||||
EXPECT_EQ(matches[1].rm_so, 10u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 15u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 15);
|
||||
EXPECT_EQ(matches[1].rm_so, 10);
|
||||
EXPECT_EQ(matches[1].rm_eo, 15);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello");
|
||||
|
||||
match_str = "hellohellohellohello";
|
||||
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_SEARCH), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 20u);
|
||||
EXPECT_EQ(matches[1].rm_so, 15u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 20u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 20);
|
||||
EXPECT_EQ(matches[1].rm_so, 15);
|
||||
EXPECT_EQ(matches[1].rm_eo, 20);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohellohello");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello");
|
||||
|
||||
match_str = "test hellohellohello";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 5u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 20u);
|
||||
EXPECT_EQ(matches[1].rm_so, 15u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 20u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 5);
|
||||
EXPECT_EQ(matches[0].rm_eo, 20);
|
||||
EXPECT_EQ(matches[1].rm_so, 15);
|
||||
EXPECT_EQ(matches[1].rm_eo, 20);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello");
|
||||
|
||||
match_str = "test hellohellohellohello";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 5u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 25u);
|
||||
EXPECT_EQ(matches[1].rm_so, 20u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 25u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 5);
|
||||
EXPECT_EQ(matches[0].rm_eo, 25);
|
||||
EXPECT_EQ(matches[1].rm_so, 20);
|
||||
EXPECT_EQ(matches[1].rm_eo, 25);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohellohello");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello");
|
||||
|
||||
|
@ -913,45 +913,45 @@ TEST_CASE(parens_qualifier_maximum)
|
|||
|
||||
match_str = "hello";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOMATCH);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 0);
|
||||
|
||||
match_str = "hellohellohello";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 15u);
|
||||
EXPECT_EQ(matches[1].rm_so, 10u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 15u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 15);
|
||||
EXPECT_EQ(matches[1].rm_so, 10);
|
||||
EXPECT_EQ(matches[1].rm_eo, 15);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello");
|
||||
|
||||
match_str = "hellohellohellohello";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 0u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 15u);
|
||||
EXPECT_EQ(matches[1].rm_so, 10u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 15u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 0);
|
||||
EXPECT_EQ(matches[0].rm_eo, 15);
|
||||
EXPECT_EQ(matches[1].rm_so, 10);
|
||||
EXPECT_EQ(matches[1].rm_eo, 15);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello");
|
||||
|
||||
match_str = "test hellohellohello";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 5u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 20u);
|
||||
EXPECT_EQ(matches[1].rm_so, 15u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 20u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 5);
|
||||
EXPECT_EQ(matches[0].rm_eo, 20);
|
||||
EXPECT_EQ(matches[1].rm_so, 15);
|
||||
EXPECT_EQ(matches[1].rm_eo, 20);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello");
|
||||
|
||||
match_str = "test hellohellohellohello";
|
||||
EXPECT_EQ(regexec(®ex, match_str, num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_so, 5u);
|
||||
EXPECT_EQ(matches[0].rm_eo, 20u);
|
||||
EXPECT_EQ(matches[1].rm_so, 15u);
|
||||
EXPECT_EQ(matches[1].rm_eo, 20u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(matches[0].rm_so, 5);
|
||||
EXPECT_EQ(matches[0].rm_eo, 20);
|
||||
EXPECT_EQ(matches[1].rm_so, 15);
|
||||
EXPECT_EQ(matches[1].rm_eo, 20);
|
||||
EXPECT_EQ(StringView(&match_str[matches[0].rm_so], matches[0].rm_eo - matches[0].rm_so), "hellohellohello");
|
||||
EXPECT_EQ(StringView(&match_str[matches[1].rm_so], matches[1].rm_eo - matches[1].rm_so), "hello");
|
||||
|
||||
|
@ -970,7 +970,7 @@ TEST_CASE(char_qualifier_min_max)
|
|||
EXPECT_EQ(regexec(®ex, "cc", num_matches, matches, 0), REG_NOMATCH);
|
||||
EXPECT_EQ(regexec(®ex, "ccc", num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(regexec(®ex, "cccccccccccccccccccccccccccccc", num_matches, matches, 0), REG_NOERR);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1u);
|
||||
EXPECT_EQ(matches[0].rm_cnt, 1);
|
||||
EXPECT_EQ(regexec(®ex, "ccccccccccccccccccccccccccccccc", num_matches, matches, 0), REG_NOMATCH);
|
||||
EXPECT_EQ(regexec(®ex, "ccccccccccccccccccccccccccccccc", num_matches, matches, REG_GLOBAL), REG_NOERR);
|
||||
EXPECT_EQ(regexec(®ex, "cccccccccccccccccccccccccccccccc", num_matches, matches, 0), REG_NOMATCH);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue