about summary refs log tree commit homepage
path: root/t/v2mda.t
diff options
context:
space:
mode:
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/v2mda.t
parent31eda8c90633766692156c9c0af061dad6299c84 (diff)
downloadpublic-inbox-9015a8af2909b0071e54b332bfafc4e5b8d0f6c2.tar.gz
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
git.

(*) tested Email::MIME 1.937 on Debian stretch
Diffstat (limited to 't/v2mda.t')
-rw-r--r--t/v2mda.t10
1 files changed, 10 insertions, 0 deletions
diff --git a/t/v2mda.t b/t/v2mda.t
index 7df3a43a..61457208 100644
--- a/t/v2mda.t
+++ b/t/v2mda.t
@@ -65,4 +65,14 @@ my $msgs = $ibx->search->query('');
 my $saved = $ibx->smsg_mime($msgs->[0]);
 is($saved->{mime}->as_string, $mime->as_string, 'injected message');
 
+my $patch = 't/data/0001.patch';
+open my $fh, '<', $patch or die "failed to open $patch: $!\n";
+$rdr = { 0 => fileno($fh) };
+ok(PublicInbox::Import::run_die(['public-inbox-mda'], undef, $rdr),
+        'mda delivered a patch');
+my $post = $ibx->search->reopen->query('dfpost:6e006fd7');
+is(scalar(@$post), 1, 'got one result for dfpost');
+my $pre = $ibx->search->query('dfpre:090d998');
+is(scalar(@$pre), 1, 'got one result for dfpre');
+is($post->[0]->{blob}, $pre->[0]->{blob}, 'same message in both cases');
 done_testing();