Code

Add support for the 'NOT IN' operator.
[sysdb.git] / t / unit / frontend / parser_test.c
index 599ffe5088e9cc06b8fce8df51081b9b92ab4f42..2bbf5ccaed1402d12eded1311d0b2d26f358b374 100644 (file)
@@ -255,6 +255,8 @@ struct {
        /* array iteration */
        { "LOOKUP hosts MATCHING "
          "'foo' IN backend",   -1,   1, SDB_CONNECTION_LOOKUP },
+       { "LOOKUP hosts MATCHING 'foo' "
+         "NOT IN backend",   -1,   1, SDB_CONNECTION_LOOKUP },
        { "LOOKUP hosts MATCHING "
          "['foo','bar'] "
          "IN backend ",        -1,   1, SDB_CONNECTION_LOOKUP },
@@ -265,6 +267,8 @@ struct {
        /* type mismatch */
        { "LOOKUP hosts MATCHING "
          "1 IN backend ",      -1,  -1, 0 },
+       { "LOOKUP hosts MATCHING "
+         "1 NOT IN backend ",  -1,  -1, 0 },
        { "LOOKUP hosts MATCHING "
          "ANY backend < 'b'",  -1,   1, SDB_CONNECTION_LOOKUP },
        { "LOOKUP hosts MATCHING "
@@ -691,6 +695,9 @@ struct {
        { "interval >= 20s",              -1,  MATCHER_GE },
        { "interval > 20s",               -1,  MATCHER_GT },
        { "'be' IN backend",              -1,  MATCHER_IN },
+       { "'be' NOT IN backend",          -1,  MATCHER_NIN },
+       { "['a','b'] IN backend",         -1,  MATCHER_IN },
+       { "['a','b'] NOT IN backend",     -1,  MATCHER_NIN },
 
        /* check operator precedence */
        { "name = 'name' OR "