From 2c2926aa1d9f539de3533eceeb550fa51629290e Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan@rename-it.nl> Date: Sun, 2 Aug 2009 14:40:46 +0200 Subject: [PATCH] Testsuite: added an important test for the imap4flags extension. --- tests/extensions/imap4flags/flagstore.svtest | 67 +++++++++++++++++++- 1 file changed, 65 insertions(+), 2 deletions(-) diff --git a/tests/extensions/imap4flags/flagstore.svtest b/tests/extensions/imap4flags/flagstore.svtest index 127d56015..9ede53ea0 100644 --- a/tests/extensions/imap4flags/flagstore.svtest +++ b/tests/extensions/imap4flags/flagstore.svtest @@ -14,7 +14,7 @@ Test message. . ; -test "Before" { +test "Basic" { if hasflag :comparator "i;ascii-numeric" :count "ge" "1" { test_fail "some flags or keywords are already set"; } @@ -74,10 +74,73 @@ test "Before" { test_message :folder "Uninteresting" 2; if not hasflag "\\flagged" { - test_fail "flags not stored for second message"; + test_fail "flags not stored for third message"; + } + + if not hasflag :comparator "i;ascii-numeric" :count "eq" "1" { + test_fail "invalid number of flags set for third message"; + } +} + +test_result_reset; +test_set "message" text: +From: Henry von Flockenstoffen <henry@example.com> +To: Dieter von Ausburg <dieter@example.com> +Subject: Test message. + +Test message. +. +; + +test "Flag changes between stores" { + if hasflag :comparator "i;ascii-numeric" :count "ge" "1" { + test_fail "some flags or keywords are already set"; + } + + setflag "$label1 \\answered"; + fileinto :create "FolderA"; + + setflag "$label2"; + fileinto :create "FolderB"; + + fileinto :create :flags "\\seen \\draft \\flagged" "FolderC"; + + if not test_result_execute { + test_fail "failed to execute first result"; + } + + test_result_reset; + test_message :folder "FolderA" 0; + + if not hasflag "\\answered $label1" { + test_fail "flags not stored for first message"; + } + + if not hasflag :comparator "i;ascii-numeric" :count "eq" "2" { + test_fail "invalid number of flags set for first message"; + } + + test_result_reset; + test_message :folder "FolderB" 0; + + if not hasflag "$label2" { + test_fail "flag not stored for second message"; } if not hasflag :comparator "i;ascii-numeric" :count "eq" "1" { + test_fail "invalid number of flags set for second message"; + } + + test_result_reset; + test_message :folder "FolderC" 0; + + if not hasflag "\\seen \\flagged \\draft" { + test_fail "flags not stored for third message"; + } + + if not hasflag :comparator "i;ascii-numeric" :count "eq" "3" { test_fail "invalid number of flags set for third message"; } } + + -- GitLab