diff options
Diffstat (limited to 'unittests/Support/RegexTest.cpp')
| -rw-r--r-- | unittests/Support/RegexTest.cpp | 30 | 
1 files changed, 24 insertions, 6 deletions
| diff --git a/unittests/Support/RegexTest.cpp b/unittests/Support/RegexTest.cpp index 7b977f744668..c045c49bc3d7 100644 --- a/unittests/Support/RegexTest.cpp +++ b/unittests/Support/RegexTest.cpp @@ -90,23 +90,23 @@ TEST_F(RegexTest, Substitution) {    // Standard Escapes    EXPECT_EQ("a\\ber", Regex("[0-9]+").sub("\\\\", "a1234ber", &Error)); -  EXPECT_EQ(Error, ""); +  EXPECT_EQ("", Error);    EXPECT_EQ("a\nber", Regex("[0-9]+").sub("\\n", "a1234ber", &Error)); -  EXPECT_EQ(Error, ""); +  EXPECT_EQ("", Error);    EXPECT_EQ("a\tber", Regex("[0-9]+").sub("\\t", "a1234ber", &Error)); -  EXPECT_EQ(Error, ""); +  EXPECT_EQ("", Error);    EXPECT_EQ("ajber", Regex("[0-9]+").sub("\\j", "a1234ber", &Error)); -  EXPECT_EQ(Error, ""); +  EXPECT_EQ("", Error);    EXPECT_EQ("aber", Regex("[0-9]+").sub("\\", "a1234ber", &Error));    EXPECT_EQ(Error, "replacement string contained trailing backslash");    // Backreferences    EXPECT_EQ("aa1234bber", Regex("a[0-9]+b").sub("a\\0b", "a1234ber", &Error)); -  EXPECT_EQ(Error, ""); +  EXPECT_EQ("", Error);    EXPECT_EQ("a1234ber", Regex("a([0-9]+)b").sub("a\\1b", "a1234ber", &Error)); -  EXPECT_EQ(Error, ""); +  EXPECT_EQ("", Error);    EXPECT_EQ("aber", Regex("a[0-9]+b").sub("a\\100b", "a1234ber", &Error));    EXPECT_EQ(Error, "invalid backreference string '100'"); @@ -127,6 +127,11 @@ TEST_F(RegexTest, IsLiteralERE) {    EXPECT_FALSE(Regex::isLiteralERE("abc{1,2}"));  } +TEST_F(RegexTest, Escape) { +  EXPECT_EQ("a\\[bc\\]", Regex::escape("a[bc]")); +  EXPECT_EQ("abc\\{1\\\\,2\\}", Regex::escape("abc{1\\,2}")); +} +  TEST_F(RegexTest, IsValid) {    std::string Error;    EXPECT_FALSE(Regex("(foo").isValid(Error)); @@ -135,4 +140,17 @@ TEST_F(RegexTest, IsValid) {    EXPECT_EQ("invalid character range", Error);  } +TEST_F(RegexTest, MoveConstruct) { +  Regex r1("^[0-9]+$"); +  Regex r2(std::move(r1)); +  EXPECT_TRUE(r2.match("916")); +} + +TEST_F(RegexTest, MoveAssign) { +  Regex r1("^[0-9]+$"); +  Regex r2("abc"); +  r2 = std::move(r1); +  EXPECT_TRUE(r2.match("916")); +} +  } | 
