diff options
author | Eric Wong <e@80x24.org> | 2021-10-28 11:15:01 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-10-28 19:17:12 +0000 |
commit | 2e15f8d28228d96485891d3bfd19e09a7ba776a1 (patch) | |
tree | a72f6fb1c3e823d88f25ebf3c350d86851d0baef | |
parent | 0de5ec392999835027db8512c6a0e00406fa4dce (diff) | |
download | public-inbox-2e15f8d28228d96485891d3bfd19e09a7ba776a1.tar.gz |
It's not much of a savings, right now, but maybe it can be in the future. I wanted to eliminate the "lei convert" one, too, but convert needs to preserve keywords which isn't possible with the generic fallback, so new tests were written for convert, instead.
-rw-r--r-- | lib/PublicInbox/LeiInput.pm | 5 | ||||
-rw-r--r-- | lib/PublicInbox/LeiRm.pm | 5 | ||||
-rw-r--r-- | t/lei-convert.t | 10 |
3 files changed, 15 insertions, 5 deletions
diff --git a/lib/PublicInbox/LeiInput.pm b/lib/PublicInbox/LeiInput.pm index 540681e3..84fc579d 100644 --- a/lib/PublicInbox/LeiInput.pm +++ b/lib/PublicInbox/LeiInput.pm @@ -64,6 +64,11 @@ sub input_mbox_cb { # base MboxReader callback $self->input_eml_cb($eml); } +sub input_maildir_cb { + my ($fn, $kw, $eml, $self) = @_; + $self->input_eml_cb($eml); +} + sub input_net_cb { # imap_each, nntp_each cb my ($url, $uid, $kw, $eml, $self) = @_; $self->input_eml_cb($eml); diff --git a/lib/PublicInbox/LeiRm.pm b/lib/PublicInbox/LeiRm.pm index 524c178e..cc1abbff 100644 --- a/lib/PublicInbox/LeiRm.pm +++ b/lib/PublicInbox/LeiRm.pm @@ -13,11 +13,6 @@ sub input_eml_cb { # used by PublicInbox::LeiInput::input_fh $self->{lei}->{sto}->wq_do('remove_eml', $eml); } -sub input_maildir_cb { - my (undef, $kw, $eml, $self) = @_; # $_[0] $filename ignored - input_eml_cb($self, $eml); -} - sub lei_rm { my ($lei, @inputs) = @_; $lei->_lei_store(1)->write_prepare($lei); diff --git a/t/lei-convert.t b/t/lei-convert.t index 0ea860c8..e1849ff7 100644 --- a/t/lei-convert.t +++ b/t/lei-convert.t @@ -115,5 +115,15 @@ test_lei({ tmpdir => $tmpdir }, sub { @bar = (); PublicInbox::MboxReader->mboxrd($fh, sub { push @bar, shift }); is_deeply(\@bar, [ $qp_eml ], 'readed gzipped mboxrd'); + + # Status => Maildir flag => Status round trip + $lei_out =~ s/^Status: O/Status: RO/sm or xbail "`seen' Status"; + $rdr = { 0 => \($in = $lei_out), %$lei_opt }; + lei_ok([qw(convert -F mboxrd -o), "$d/md2"], undef, $rdr); + @md = glob("$d/md2/*/*"); + is(scalar(@md), 1, 'one message'); + like($md[0], qr/:2,S\z/, "`seen' flag set in Maildir"); + lei_ok(qw(convert -o mboxrd:/dev/stdout), "$d/md2"); + like($lei_out, qr/^Status: RO/sm, "`seen' flag preserved"); }); done_testing; |