LibRegex: Don't do out-of-bound match accesses when a test fails

This commit is contained in:
Ali Mohammad Pur 2021-07-18 05:06:01 +04:30 committed by Ali Mohammad Pur
parent a245ea1743
commit e5af15a6e9
Notes: sideshowbarker 2024-07-18 08:47:31 +09:00

View file

@ -458,10 +458,12 @@ TEST_CASE(a_star)
String haystack = "[Window]\nOpacity=255\nAudibleBeep=0\n";
EXPECT_EQ(re.search(haystack.view(), result, PosixFlags::Multiline), true);
EXPECT_EQ(result.count, 32u);
EXPECT_EQ(result.matches.at(0).view.length(), 0u);
EXPECT_EQ(result.matches.at(10).view.length(), 1u);
EXPECT_EQ(result.matches.at(10).view, "a");
EXPECT_EQ(result.matches.at(31).view.length(), 0u);
if (result.count == 32u) {
EXPECT_EQ(result.matches.at(0).view.length(), 0u);
EXPECT_EQ(result.matches.at(10).view.length(), 1u);
EXPECT_EQ(result.matches.at(10).view, "a");
EXPECT_EQ(result.matches.at(31).view.length(), 0u);
}
}
TEST_CASE(simple_period_end_benchmark)
@ -624,5 +626,7 @@ TEST_CASE(case_insensitive_match)
auto result = re.match("AEKFCD");
EXPECT_EQ(result.success, true);
EXPECT_EQ(result.matches.at(0).column, 4ul);
if (result.success) {
EXPECT_EQ(result.matches.at(0).column, 4ul);
}
}