aboutsummaryrefslogtreecommitdiffstats
path: root/common/t-recsel.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2016-09-05 07:49:06 +0000
committerWerner Koch <[email protected]>2016-09-05 07:52:04 +0000
commit959cd8903fd012e63dbb156db56708dd3934b5df (patch)
treefdb038b5db058b7213de7b3a419490cf64392f31 /common/t-recsel.c
parentgpg: Use a common filter_getval for import and export. (diff)
downloadgnupg-959cd8903fd012e63dbb156db56708dd3934b5df.tar.gz
gnupg-959cd8903fd012e63dbb156db56708dd3934b5df.zip
common: Add string operator gt,ge,le,lt to recsel.
* common/recsel.c (recsel_parse_expr): Add them. (recsel_dump): Print them. (recsel_select): Evaluate them. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'common/t-recsel.c')
-rw-r--r--common/t-recsel.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/common/t-recsel.c b/common/t-recsel.c
index fe2a7b9d0..faddc97ed 100644
--- a/common/t-recsel.c
+++ b/common/t-recsel.c
@@ -171,6 +171,8 @@ test_2_getval (void *cookie, const char *name)
return " ";
else if (!strcmp (name, "letters"))
return "abcde";
+ else if (!strcmp (name, "str1"))
+ return "aaa";
else
return cookie;
}
@@ -264,6 +266,37 @@ run_test_2 (void)
FREEEXPR();
+ ADDEXPR ("str1 -gt aa");
+ if (!recsel_select (se, test_2_getval, NULL))
+ fail (0, 0);
+ FREEEXPR();
+ ADDEXPR ("str1 -gt aaa");
+ if (recsel_select (se, test_2_getval, NULL))
+ fail (0, 0);
+ FREEEXPR();
+ ADDEXPR ("str1 -ge aaa");
+ if (!recsel_select (se, test_2_getval, NULL))
+ fail (0, 0);
+ FREEEXPR();
+ ADDEXPR ("str1 -lt aab");
+ if (!recsel_select (se, test_2_getval, NULL))
+ fail (0, 0);
+ FREEEXPR();
+ ADDEXPR ("str1 -le aaa");
+ if (!recsel_select (se, test_2_getval, NULL))
+ fail (0, 0);
+
+ FREEEXPR();
+ ADDEXPR ("-c str1 -lt AAB");
+ if (recsel_select (se, test_2_getval, NULL))
+ fail (0, 0);
+ FREEEXPR();
+ ADDEXPR ("str1 -lt AAB");
+ if (!recsel_select (se, test_2_getval, NULL))
+ fail (0, 0);
+
+
+ FREEEXPR();
ADDEXPR ("uid -n");
if (!recsel_select (se, test_2_getval, NULL))
fail (0, 0);