From 22e0e0c1de72187f9f20e9d7375422b51ec10fb9 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197121 91177308-0d34-0410-b5e6-96231b3b80d8 --- unittests/Support/RegexTest.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'unittests') diff --git a/unittests/Support/RegexTest.cpp b/unittests/Support/RegexTest.cpp index 7b977f7446..abc8d0f38e 100644 --- a/unittests/Support/RegexTest.cpp +++ b/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