summaryrefslogtreecommitdiffstats
path: root/pigeonhole/tests/extensions/variables/string.svtest
diff options
context:
space:
mode:
Diffstat (limited to 'pigeonhole/tests/extensions/variables/string.svtest')
-rw-r--r--pigeonhole/tests/extensions/variables/string.svtest37
1 files changed, 37 insertions, 0 deletions
diff --git a/pigeonhole/tests/extensions/variables/string.svtest b/pigeonhole/tests/extensions/variables/string.svtest
new file mode 100644
index 0000000..d0244e6
--- /dev/null
+++ b/pigeonhole/tests/extensions/variables/string.svtest
@@ -0,0 +1,37 @@
+require "vnd.dovecot.testsuite";
+
+require "relational";
+require "comparator-i;ascii-numeric";
+
+require "variables";
+
+test "String - :count" {
+ if not string :count "eq" :comparator "i;ascii-numeric" ["a", "b", "c"] "3" {
+ test_fail "string test failed :count match";
+ }
+}
+
+test "String - :count \"\"" {
+ if not string :count "eq" :comparator "i;ascii-numeric" ["a", "", "c"] "2" {
+ test_fail "string test failed :count match";
+ }
+}
+
+test "RFC example" {
+ set "state" "${state} pending";
+
+ if not string :matches " ${state} " "* pending *" {
+ # the above test always succeeds
+
+ test_fail "test should have matched: \" ${state} \"";
+ }
+}
+
+test "No whitespace stripping" {
+ set "vara" " value ";
+ set "varb" "value";
+
+ if not string :is :comparator "i;octet" "${vara}" " ${varb} " {
+ test_fail "string test seems to have stripped white space";
+ }
+}