diff options
author | Werner Koch <[email protected]> | 2016-09-05 07:49:06 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2016-09-05 07:52:04 +0000 |
commit | 959cd8903fd012e63dbb156db56708dd3934b5df (patch) | |
tree | fdb038b5db058b7213de7b3a419490cf64392f31 /common/t-recsel.c | |
parent | gpg: Use a common filter_getval for import and export. (diff) | |
download | gnupg-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.c | 33 |
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); |