Add missing escape characters to the new Regex::escape() function

The old AddFixedStringToRegEx() it was based on got away with this for the
longest time, but the problem became easy to spot after the cleanup in r197096.

Also add a quick unit test to cover regex escaping.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197121 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Alp Toker
2013-12-12 02:51:58 +00:00
parent dcdc5736ad
commit 22e0e0c1de
2 changed files with 11 additions and 21 deletions

View File

@ -127,6 +127,11 @@ TEST_F(RegexTest, IsLiteralERE) {
EXPECT_FALSE(Regex::isLiteralERE("abc{1,2}"));
}
TEST_F(RegexTest, Escape) {
EXPECT_EQ(Regex::escape("a[bc]"), "a\\[bc\\]");
EXPECT_EQ(Regex::escape("abc{1\\,2}"), "abc\\{1\\\\,2\\}");
}
TEST_F(RegexTest, IsValid) {
std::string Error;
EXPECT_FALSE(Regex("(foo").isValid(Error));