diff options
Diffstat (limited to 'pigeonhole/tests/deprecated/imapflags')
6 files changed, 149 insertions, 0 deletions
diff --git a/pigeonhole/tests/deprecated/imapflags/errors.svtest b/pigeonhole/tests/deprecated/imapflags/errors.svtest new file mode 100644 index 0000000..a9d9cde --- /dev/null +++ b/pigeonhole/tests/deprecated/imapflags/errors.svtest @@ -0,0 +1,24 @@ +require "vnd.dovecot.testsuite"; + +require "comparator-i;ascii-numeric"; +require "relational"; + +test "Deprecated imapflags extension used with imap4flags" { + if test_script_compile "errors/conflict.sieve" { + test_fail "compile should have failed"; + } + + if not test_error :count "eq" :comparator "i;ascii-numeric" "2" { + test_fail "wrong number of errors reported"; + } +} + +test "Deprecated imapflags extension used with imap4flags (ihave)" { + if test_script_compile "errors/conflict-ihave.sieve" { + test_fail "compile should have failed"; + } + + if not test_error :count "eq" :comparator "i;ascii-numeric" "3" { + test_fail "wrong number of errors reported"; + } +} diff --git a/pigeonhole/tests/deprecated/imapflags/errors/conflict-ihave.sieve b/pigeonhole/tests/deprecated/imapflags/errors/conflict-ihave.sieve new file mode 100644 index 0000000..e924923 --- /dev/null +++ b/pigeonhole/tests/deprecated/imapflags/errors/conflict-ihave.sieve @@ -0,0 +1,6 @@ +require "imap4flags"; +require "ihave"; + +if ihave "imapflags" { + addflags "Frop"; +} diff --git a/pigeonhole/tests/deprecated/imapflags/errors/conflict.sieve b/pigeonhole/tests/deprecated/imapflags/errors/conflict.sieve new file mode 100644 index 0000000..1b18a42 --- /dev/null +++ b/pigeonhole/tests/deprecated/imapflags/errors/conflict.sieve @@ -0,0 +1,4 @@ +require "imapflags"; +require "imap4flags"; + +addflag "\\flagged"; diff --git a/pigeonhole/tests/deprecated/imapflags/execute.svtest b/pigeonhole/tests/deprecated/imapflags/execute.svtest new file mode 100644 index 0000000..ea6657b --- /dev/null +++ b/pigeonhole/tests/deprecated/imapflags/execute.svtest @@ -0,0 +1,92 @@ +require "vnd.dovecot.testsuite"; +require "fileinto"; +require "imap4flags"; +require "relational"; +require "comparator-i;ascii-numeric"; +require "mailbox"; + +test_set "message" text: +From: Henry von Flockenstoffen <henry@example.com> +To: Dieter von Ausburg <dieter@example.com> +Subject: Test message. + +Test message. +. +; + +test "Mark / Unmark" { + if not test_script_compile "execute/mark.sieve" { + test_fail "script compile failed"; + } + + if not test_script_run { + test_fail "script execute failed"; + } + + if not test_result_execute { + test_fail "failed to execute first result"; + } + + test_result_reset; + + test_message :folder "Marked" 0; + + if not hasflag "\\flagged" { + test_fail "message not marked"; + } + + test_result_reset; + + test_message :folder "Unmarked" 0; + + if hasflag "\\flagged" { + test_fail "message not unmarked"; + } +} + +test_result_reset; +test "Setflag / Addflag / Removeflag" { + if not test_script_compile "execute/flags.sieve" { + test_fail "script compile failed"; + } + + if not test_script_run { + test_fail "script execute failed"; + } + + if not test_result_execute { + test_fail "failed to execute first result"; + } + + test_result_reset; + + test_message :folder "Set" 0; + + if not hasflag "\\draft" { + test_fail "flag not set"; + } + + test_result_reset; + + test_message :folder "Add" 0; + + if not hasflag "\\draft" { + test_fail "flag not retained"; + } + + if not hasflag "\\flagged" { + test_fail "flag not added"; + } + + test_result_reset; + + test_message :folder "Remove" 0; + + if not hasflag "\\flagged" { + test_fail "flag not retained"; + } + + if hasflag "\\draft" { + test_fail "flag not removed"; + } +} diff --git a/pigeonhole/tests/deprecated/imapflags/execute/flags.sieve b/pigeonhole/tests/deprecated/imapflags/execute/flags.sieve new file mode 100644 index 0000000..ba68b44 --- /dev/null +++ b/pigeonhole/tests/deprecated/imapflags/execute/flags.sieve @@ -0,0 +1,12 @@ +require "imapflags"; +require "fileinto"; +require "mailbox"; + +setflag "\\draft"; +fileinto :create "Set"; + +addflag "\\flagged"; +fileinto :create "Add"; + +removeflag "\\draft"; +fileinto :create "Remove"; diff --git a/pigeonhole/tests/deprecated/imapflags/execute/mark.sieve b/pigeonhole/tests/deprecated/imapflags/execute/mark.sieve new file mode 100644 index 0000000..3216ca4 --- /dev/null +++ b/pigeonhole/tests/deprecated/imapflags/execute/mark.sieve @@ -0,0 +1,11 @@ +require "imapflags"; +require "fileinto"; +require "mailbox"; + +mark; + +fileinto :create "Marked"; + +unmark; + +fileinto :create "Unmarked"; |