From d0d1a74ac9588ab13cc88af5ec2db31235ead154 Mon Sep 17 00:00:00 2001 From: Alp Toker Date: Thu, 12 Dec 2013 02:51:58 +0000 Subject: 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. llvm-svn: 197121 --- llvm/unittests/Support/RegexTest.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'llvm/unittests/Support/RegexTest.cpp') diff --git a/llvm/unittests/Support/RegexTest.cpp b/llvm/unittests/Support/RegexTest.cpp index 7b977f74466..abc8d0f38e0 100644 --- a/llvm/unittests/Support/RegexTest.cpp +++ b/llvm/unittests/Support/RegexTest.cpp @@ -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)); -- cgit v1.2.3