aboutsummaryrefslogtreecommitdiff
path: root/effcee/check_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'effcee/check_test.cc')
-rw-r--r--effcee/check_test.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/effcee/check_test.cc b/effcee/check_test.cc
index c9d0674..d5c118a 100644
--- a/effcee/check_test.cc
+++ b/effcee/check_test.cc
@@ -246,6 +246,21 @@ INSTANTIATE_TEST_SUITE_P(AllCheckTypes, ParseChecksTypeFailTest,
"FOO"}),
ValuesIn(AllCheckTypesAsPairs())));
+TEST(ParseChecks, BadRegexpMatchTrailingSlashFails) {
+ const auto parsed = ParseChecks("CHECK: {{\\}}", Options());
+ EXPECT_THAT(parsed.first.status(), Eq(Status::BadRule));
+ EXPECT_THAT(parsed.first.message(), HasSubstr("invalid regex: \\"));
+ EXPECT_THAT(parsed.second, Eq(CheckList({})));
+}
+
+TEST(ParseChecks, BadRegexpVardefUnboundOptionalFails) {
+ const auto parsed = ParseChecks("CHECK: [[VAR:?]]", Options());
+ EXPECT_THAT(parsed.first.status(), Eq(Status::BadRule));
+ EXPECT_THAT(parsed.first.message(),
+ HasSubstr("invalid regex in variable definition for VAR: ?"));
+ EXPECT_THAT(parsed.second, Eq(CheckList({})));
+}
+
TEST(ParseChecks, CheckSameCantBeFirst) {
const auto parsed = ParseChecks("CHECK-SAME: now", Options());
EXPECT_THAT(parsed.first.status(), Eq(Status::BadRule));