mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 07:48:12 +00:00
LibRegex: Make FailForks fail all forks up to the last save point
This makes negative lookarounds with more than one fork behave correctly. Fixes #11350.
This commit is contained in:
parent
105d558922
commit
1a35e27490
4 changed files with 30 additions and 15 deletions
|
@ -973,3 +973,14 @@ TEST_CASE(posix_basic_dollar_is_literal)
|
|||
EXPECT_EQ(re.match("123abc$", PosixFlags::Global).success, true);
|
||||
}
|
||||
}
|
||||
|
||||
TEST_CASE(negative_lookahead)
|
||||
{
|
||||
{
|
||||
// Negative lookahead with more than 2 forks difference between lookahead init and finish.
|
||||
Regex<ECMA262> re(":(?!\\^\\)|1)", ECMAScriptFlags::Global);
|
||||
EXPECT_EQ(re.match(":^)").success, false);
|
||||
EXPECT_EQ(re.match(":1").success, false);
|
||||
EXPECT_EQ(re.match(":foobar").success, true);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue