compound tests
This commit is contained in:
parent
5dda5f4b6b
commit
3828417f32
|
@ -94,8 +94,8 @@ struct false_pred : pegtl_istring_t("falsepredicate") {};
|
|||
struct not_pre : seq< sor< one< '!' >, seq< pegtl_istring_t("not") >, star< blank > > > {};
|
||||
struct atom_pred : seq< opt< not_pre >, pad< sor< group_pred, true_pred, false_pred, comparison_pred >, blank > > {};
|
||||
|
||||
struct and_op : sor< pad< two< '&' >, blank >, pad_plus< pegtl_istring_t("and"), blank > > {};
|
||||
struct or_op : sor< pad< two< '|' >, blank> , pad_plus< pegtl_istring_t("or"), blank > > {};
|
||||
struct and_op : pad< sor< two< '&' >, pegtl_istring_t("and") >, blank > {};
|
||||
struct or_op : pad< sor< two< '|' >, pegtl_istring_t("or") >, blank > {};
|
||||
|
||||
struct or_ext : if_must< or_op, pred > {};
|
||||
struct and_ext : if_must< and_op, pred > {};
|
||||
|
|
|
@ -65,6 +65,15 @@ static std::vector<std::string> valid_queries = {
|
|||
"NOT(0=0)",
|
||||
"not (0=0)",
|
||||
"NOT (!0=0)",
|
||||
|
||||
// compound
|
||||
"a==a && a==a",
|
||||
"a==a || a==a",
|
||||
"a==a&&a==a||a=a",
|
||||
"a==a and a==a",
|
||||
"a==a OR a==a",
|
||||
"and=='AND'&&'or'=='||'",
|
||||
"and == or && ORE > GRAND",
|
||||
};
|
||||
|
||||
static std::vector<std::string> invalid_queries = {
|
||||
|
@ -109,6 +118,13 @@ static std::vector<std::string> invalid_queries = {
|
|||
"(!!0=0)",
|
||||
"0=0 !",
|
||||
|
||||
// compound
|
||||
"a==a & a==a",
|
||||
"a==a | a==a",
|
||||
"a==a &| a==a",
|
||||
"a==a && OR a==a",
|
||||
"a==aORa==a",
|
||||
|
||||
"truepredicate &&",
|
||||
"truepredicate & truepredicate",
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue