From 91ae332610370d2a5da2cfb0bd1dff09463e5438 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 21 Apr 2021 23:50:52 +0000 Subject: lei: flesh out `forwarded' kw support for Maildir and IMAP 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. --- xt/net_writer-imap.t | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'xt') 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 - $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 -- cgit v1.2.3-24-ge0c7