about summary refs log tree commit homepage
path: root/t
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2019-01-05 00:35:42 +0000
committerEric Wong <e@80x24.org>2019-01-05 08:32:45 +0000
commited3b90b7a203fe5513894d01d478f6104cdff897 (patch)
treeb12be504375306e0208424757286dc30b7f6df6a /t
parent4a7f4550a4e9f39f801879c5f339abc56984b393 (diff)
downloadpublic-inbox-ed3b90b7a203fe5513894d01d478f6104cdff897.tar.gz
Not sure what I was smoking when I originally wrote this code.

cf. https://public-inbox.org/meta/874li887mp.fsf@vuxu.org/
Diffstat (limited to 't')
-rw-r--r--t/watch_maildir_v2.t38
1 files changed, 35 insertions, 3 deletions
diff --git a/t/watch_maildir_v2.t b/t/watch_maildir_v2.t
index fc002dc1..3b5d2b85 100644
--- a/t/watch_maildir_v2.t
+++ b/t/watch_maildir_v2.t
@@ -38,13 +38,14 @@ ok(POSIX::mkfifo("$maildir/cur/fifo", 0777),
         'create FIFO to ensure we do not get stuck on it :P');
 my $sem = PublicInbox::Emergency->new($spamdir); # create dirs
 
-my $config = PublicInbox::Config->new({
+my %orig = (
         "$cfgpfx.address" => $addr,
         "$cfgpfx.mainrepo" => $mainrepo,
         "$cfgpfx.watch" => "maildir:$maildir",
         "$cfgpfx.filter" => 'PublicInbox::Filter::Vger',
-        "publicinboxlearn.watchspam" => "maildir:$spamdir",
-});
+        "publicinboxlearn.watchspam" => "maildir:$spamdir"
+);
+my $config = PublicInbox::Config->new({%orig});
 my $ibx = $config->lookup_name('test');
 ok($ibx, 'found inbox by name');
 my $srch = $ibx->search;
@@ -137,4 +138,35 @@ More majordomo info at  http://vger.kernel.org/majordomo-info.html\n);
         is($post->{blob}, $msgs->[0]->{blob}, 'same message');
 }
 
+# multiple inboxes in the same maildir
+{
+        my $v1repo = "$tmpdir/v1";
+        my $v1pfx = "publicinbox.v1";
+        my $v1addr = 'v1-public@example.com';
+        is(system(qw(git init -q --bare), $v1repo), 0, 'v1 init OK');
+        my $config = PublicInbox::Config->new({
+                %orig,
+                "$v1pfx.address" => $v1addr,
+                "$v1pfx.mainrepo" => $v1repo,
+                "$v1pfx.watch" => "maildir:$maildir",
+        });
+        my $both = <<EOF;
+From: user\@example.com
+To: $addr, $v1addr
+Subject: both
+Message-Id: <both\@b.com>
+Date: Sat, 18 Jun 2016 00:00:00 +0000
+
+both
+EOF
+        PublicInbox::Emergency->new($maildir)->prepare(\$both);
+        PublicInbox::WatchMaildir->new($config)->scan('full');
+        my ($total, $msgs) = $srch->reopen->query('m:both@b.com');
+        my $v1 = $config->lookup_name('v1');
+        my $msg = $v1->git->cat_file($msgs->[0]->{blob});
+        is($both, $$msg, 'got original message back from v1');
+        $msg = $ibx->git->cat_file($msgs->[0]->{blob});
+        is($both, $$msg, 'got original message back from v2');
+}
+
 done_testing;