about summary refs log tree commit homepage
path: root/t/watch_maildir_v2.t
diff options
authorEric Wong <e@80x24.org>2018-07-29 09:34:41 +0000
committerEric Wong <e@80x24.org>2018-07-29 09:43:06 +0000
commit9015a8af2909b0071e54b332bfafc4e5b8d0f6c2 (patch)
tree7db2a5e86ef3cbf9cd18f948be20df52543c837c /t/watch_maildir_v2.t
parent31eda8c90633766692156c9c0af061dad6299c84 (diff)
We must not clobber the original message string, as Email::MIME(*)
still needs it for iterating through parts in SearchIdx (but not
when handing it as a raw string to git-fast-import).

I've noticed message bodies (especially dfpre/dpost) were not
getting indexed when going through -mda (no problems with
-watch).  This also did not affect v1 repos, since indexing is a
separate process for v1 and requires re-reading the data from

(*) tested Email::MIME 1.937 on Debian stretch
Diffstat (limited to 't/watch_maildir_v2.t')
1 files changed, 15 insertions, 0 deletions
diff --git a/t/watch_maildir_v2.t b/t/watch_maildir_v2.t
index a76e413f..fc002dc1 100644
--- a/t/watch_maildir_v2.t
+++ b/t/watch_maildir_v2.t
@@ -120,6 +120,21 @@ More majordomo info at  http://vger.kernel.org/majordomo-info.html\n);
         is($nr, 1, 'inbox has one mail after spamc OK-ed a message');
         my $mref = $ibx->msg_by_smsg($msgs->[0]);
         like($$mref, qr/something\n\z/s, 'message scrubbed on import');
+        delete $config->{'publicinboxwatch.spamcheck'};
+        my $patch = 't/data/0001.patch';
+        open my $fh, '<', $patch or die "failed to open $patch: $!\n";
+        $msg = eval { local $/; <$fh> };
+        PublicInbox::Emergency->new($maildir)->prepare(\$msg);
+        PublicInbox::WatchMaildir->new($config)->scan('full');
+        ($nr, $msgs) = $srch->reopen->query('dfpost:6e006fd7');
+        is($nr, 1, 'diff postimage found');
+        my $post = $msgs->[0];
+        ($nr, $msgs) = $srch->query('dfpre:090d998b6c2c');
+        is($nr, 1, 'diff preimage found');
+        is($post->{blob}, $msgs->[0]->{blob}, 'same message');