X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=xt%2Fnet_writer-imap.t;h=1298b958f683ba5d40404146e8162651736fc087;hb=91f60a476b2407d21d5f85e832164699d4e407ec;hp=11a10e742d68abe13fd1f62541457aa15b9004dc;hpb=2bc961811c57bef3feef24244bf20546f3754d4f;p=public-inbox.git diff --git a/xt/net_writer-imap.t b/xt/net_writer-imap.t index 11a10e74..1298b958 100644 --- a/xt/net_writer-imap.t +++ b/xt/net_writer-imap.t @@ -157,8 +157,13 @@ test_lei(sub { lei_ok qw(import -F eml), $f, \'import local copy w/o keywords'; - $nwr->imap_set_kw($folder_uri, $uid[0], [ 'seen' ])->expunge - or BAIL_OUT "expunge $@"; + $mic = $nwr->mic_for_folder($folder_uri); + # dummy set to ensure second set_kw clobbers + $nwr->imap_set_kw($mic, $uid[0], [ qw(seen answered flagged) ] + )->expunge or BAIL_OUT "expunge $@"; + $nwr->imap_set_kw($mic, $uid[0], [ 'seen' ] + )->expunge or BAIL_OUT "expunge $@"; + $mic = undef; @res = (); $nwr->imap_each($folder_uri, $imap_slurp_all, \@res); is_deeply(\@res, [ [ ['seen'], $exp ] ], 'seen flag set') or @@ -173,17 +178,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 +220,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