mirror of
https://github.com/Tencent/rapidjson.git
synced 2025-10-27 11:06:53 +01:00
Add invalid regex tests and fix a bug
This commit is contained in:
@@ -494,4 +494,40 @@ TEST(Regex, Escape) {
|
||||
EXPECT_FALSE(re.Match(s)); // Not escaping
|
||||
}
|
||||
|
||||
TEST(Regex, Invalid) {
|
||||
#define TEST_INVALID(s) \
|
||||
{\
|
||||
Regex re(s);\
|
||||
EXPECT_FALSE(re.IsValid());\
|
||||
}
|
||||
|
||||
TEST_INVALID("a|");
|
||||
TEST_INVALID("()");
|
||||
TEST_INVALID(")");
|
||||
TEST_INVALID("(a))");
|
||||
TEST_INVALID("(a|)");
|
||||
TEST_INVALID("(a||b)");
|
||||
TEST_INVALID("(|b)");
|
||||
TEST_INVALID("?");
|
||||
TEST_INVALID("*");
|
||||
TEST_INVALID("+");
|
||||
TEST_INVALID("{");
|
||||
TEST_INVALID("{}");
|
||||
TEST_INVALID("a{a}");
|
||||
TEST_INVALID("a{0}");
|
||||
TEST_INVALID("a{-1}");
|
||||
TEST_INVALID("a{}");
|
||||
TEST_INVALID("a{0,}");
|
||||
TEST_INVALID("a{,0}");
|
||||
TEST_INVALID("a{1,0}");
|
||||
TEST_INVALID("a{-1,0}");
|
||||
TEST_INVALID("a{-1,1}");
|
||||
TEST_INVALID("[]");
|
||||
TEST_INVALID("[^]");
|
||||
TEST_INVALID("[\\a]");
|
||||
TEST_INVALID("\\a");
|
||||
|
||||
#undef TEST_INVALID
|
||||
}
|
||||
|
||||
#undef EURO
|
||||
|
||||
Reference in New Issue
Block a user