Code

Merged branch 'master' of git://git.tokkee.org/sysdb.
[sysdb.git] / t / unit / frontend / parser_test.c
index 2368bcc4d3efe821a5342aa25ee07316ff69e7e1..c5b514fde5156fa43fafed5a714e6ffbd2e768cf 100644 (file)
@@ -186,6 +186,12 @@ START_TEST(test_parse)
                  "1Y42D",               -1,  1, SDB_CONNECTION_LOOKUP },
                 */
 
+               /* array constants */
+               { "LOOKUP hosts MATCHING "
+                 "backend = ['foo']",   -1,  1, SDB_CONNECTION_LOOKUP },
+               { "LOOKUP hosts MATCHING "
+                 "backend = ['a','b']", -1,  1, SDB_CONNECTION_LOOKUP },
+
                /* NULL */
                { "LOOKUP hosts MATCHING "
                  "attribute['foo'] "
@@ -452,6 +458,14 @@ START_TEST(test_parse_matcher)
                 * IS NULL currently maps to an equality matcher */
                { "attribute['foo'] IS NULL",     -1,  MATCHER_ISNULL },
                { "attribute['foo'] IS NOT NULL", -1,  MATCHER_ISNNULL },
+               /* array expressions */
+               { "backend < ['a']",              -1,  MATCHER_LT },
+               { "backend <= ['a']",             -1,  MATCHER_LE },
+               { "backend = ['a']",              -1,  MATCHER_EQ },
+               { "backend != ['a']",             -1,  MATCHER_NE },
+               { "backend >= ['a']",             -1,  MATCHER_GE },
+               { "backend > ['a']",              -1,  MATCHER_GT },
+               { "backend &^ ['a']",             -1,  -1 },
 
                /* object field matchers */
                { "name < 'a'",                   -1,  MATCHER_LT },