about summary refs log tree commit homepage
path: root/xt
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-04-21 23:50:52 +0000
committerEric Wong <e@80x24.org>2021-04-22 09:08:39 +0000
commit91ae332610370d2a5da2cfb0bd1dff09463e5438 (patch)
tree73033ccb65700154bb483c13806055ae59a62131 /xt
parentba0c73ae03214e57004af4192b57141c1a0fff9f (diff)
downloadpublic-inbox-91ae332610370d2a5da2cfb0bd1dff09463e5438.tar.gz
Maildir and IMAP can both handle `forwarded'.  Ensure we don't
lose `forwarded' when reading from stores which do not support
it, but ensure we can set it when reading from IMAP and Maildir
stores.
Diffstat (limited to 'xt')
-rw-r--r--xt/net_writer-imap.t14
1 files changed, 11 insertions, 3 deletions
diff --git a/xt/net_writer-imap.t b/xt/net_writer-imap.t
index 11a10e74..007de35e 100644
--- a/xt/net_writer-imap.t
+++ b/xt/net_writer-imap.t
@@ -173,17 +173,18 @@ test_lei(sub {
         is_deeply([@$res{qw(m kw)}], ['testmessage@example.com', ['seen']],
                 'kw set');
 
+        # prepare messages for watch
         $mic = $nwr->mic_for_folder($folder_uri);
-        for my $kw (qw(Deleted Seen Answered Draft)) {
+        for my $kw (qw(Deleted Seen Answered Draft forwarded)) {
                 my $buf = <<EOM;
 From: x\@example.com
 Message-ID: <$kw\@test.example.com>
 
 EOM
-                $mic->append_string($folder_uri->mailbox, $buf, "\\$kw")
+                my $f = $kw eq 'forwarded' ? '$Forwarded' : "\\$kw";
+                $mic->append_string($folder_uri->mailbox, $buf, $f)
                         or BAIL_OUT "append $kw $@";
         }
-        # $mic->expunge or BAIL_OUT "expunge: $@";
         $mic->disconnect;
 
         my $inboxdir = "$ENV{HOME}/wtest";
@@ -214,6 +215,13 @@ EOM
                 '-watch ignored \\Deleted');
         ok(!defined($mm->num_for('Draft@test.example.com')),
                 '-watch ignored \\Draft');
+        ok(defined($mm->num_for('forwarded@test.example.com')),
+                '-watch takes forwarded message');
+        undef $w; # done with watch
+        lei_ok qw(import), $$folder_uri;
+        lei_ok qw(q m:forwarded@test.example.com);
+        is_deeply(json_utf8->decode($lei_out)->[0]->{kw}, ['forwarded'],
+                'forwarded kw imported from IMAP');
 });
 
 undef $cleanup; # remove temporary folder