X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fsearch.t;h=92f3305d556c5773fadc1e64f6e9f544904ff06f;hb=b714ab45d30d6f0298d73ef4281c1d0263a02493;hp=40264345985477bc0609381d5dbdd4c606c317ac;hpb=e39585ee2bdcbeaab7b6bd33b3568021042d0879;p=public-inbox.git diff --git a/t/search.t b/t/search.t index 40264345..92f3305d 100644 --- a/t/search.t +++ b/t/search.t @@ -66,6 +66,7 @@ Subject: Hello world Message-ID: From: John Smith To: list@example.com +List-Id: I'm not mad \m/ EOF @@ -77,6 +78,7 @@ Message-ID: From: John Smith To: list@example.com Cc: foo@example.com +List-Id: there's nothing goodbye forever :< EOF @@ -286,9 +288,7 @@ EOF }); $ibx->with_umask(sub { - my $eml = 't/utf8.eml'; - my $mime = PublicInbox::InboxWritable::mime_from_path($eml) or - die "open $eml: $!"; + my $mime = mime_load 't/utf8.eml'; my $doc_id = $rw->add_message($mime); ok($doc_id > 0, 'message indexed doc_id with UTF-8'); my $msg = $rw->query('m:testmessage@example.com', {limit => 1})->[0]; @@ -450,6 +450,35 @@ EOF is($ro->query("m:Pine m:LNX m:10010260936330", {mset=>1})->size, 1); }); +{ # List-Id searching + my $found = $ro->query('lid:i.m.just.bored'); + is_deeply([ filter_mids($found) ], [ 'root@s' ], + 'got expected mid on exact lid: search'); + + $found = $ro->query('lid:just.bored'); + is_deeply($found, [], 'got nothing on lid: search'); + + $found = $ro->query('lid:*.just.bored'); + is_deeply($found, [], 'got nothing on lid: search'); + + $found = $ro->query('l:i.m.just.bored'); + is_deeply([ filter_mids($found) ], [ 'root@s' ], + 'probabilistic search works on full List-Id contents'); + + $found = $ro->query('l:just.bored'); + is_deeply([ filter_mids($found) ], [ 'root@s' ], + 'probabilistic search works on partial List-Id contents'); + + $found = $ro->query('lid:mad'); + is_deeply($found, [], 'no match on phrase with lid:'); + + $found = $ro->query('lid:bored'); + is_deeply($found, [], 'no match on partial List-Id with lid:'); + + $found = $ro->query('l:nothing'); + is_deeply($found, [], 'matched on phrase with l:'); +} + done_testing(); 1;