From 45e617d92959178c108cdca4ad3756a919b87bbd Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan@rename-it.nl>
Date: Sun, 31 Aug 2008 16:52:23 +0200
Subject: [PATCH] Forgot to add niet testsuite files.

---
 tests/extensions/imapflags/execute.svtest      | 15 +++++++++++++++
 .../imapflags/execute/flags-side-effect.sieve  | 18 ++++++++++++++++++
 2 files changed, 33 insertions(+)
 create mode 100644 tests/extensions/imapflags/execute.svtest
 create mode 100644 tests/extensions/imapflags/execute/flags-side-effect.sieve

diff --git a/tests/extensions/imapflags/execute.svtest b/tests/extensions/imapflags/execute.svtest
new file mode 100644
index 000000000..5ecbb2ca8
--- /dev/null
+++ b/tests/extensions/imapflags/execute.svtest
@@ -0,0 +1,15 @@
+require "vnd.dovecot.testsuite";
+
+/*
+ * Execution testing (currently just meant to trigger any segfaults)
+ */
+
+test "Flags Side Effect" {
+	if not test_compile "execute/flags-side-effect.sieve" {
+		test_fail "script compile failed";
+	}
+
+	if not test_execute {
+		test_fail "script execute failed";
+	}
+}
diff --git a/tests/extensions/imapflags/execute/flags-side-effect.sieve b/tests/extensions/imapflags/execute/flags-side-effect.sieve
new file mode 100644
index 000000000..f7a91d449
--- /dev/null
+++ b/tests/extensions/imapflags/execute/flags-side-effect.sieve
@@ -0,0 +1,18 @@
+require "imap4flags"; 
+require "fileinto";
+
+/*
+ * When keep/fileinto is used multiple times in a script and duplicate 
+ * message elimination is performed, the last flag list value MUST win.
+ */
+
+setflag "IMPLICIT";
+
+fileinto :flags "\\Seen \\Draft" "INBOX.Junk";
+fileinto :flags "NONSENSE" "INBOX.Junk";
+
+keep;
+keep :flags "\\Seen";
+
+fileinto :flags "\\Seen" "Inbox.Nonsense";
+fileinto "Inbox.Nonsense";
-- 
GitLab