diff options
author | Eric Wong <e@80x24.org> | 2016-09-09 00:01:24 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2016-09-09 00:02:18 +0000 |
commit | a9c903a57ff9a18c56a53bcba4316eade423fef6 (patch) | |
tree | 2c3499494c6305dc97b74371e575e632222dd19b /t | |
parent | 766d9b1ef9e2e2c325c5dae9d17bfeb85c9d2f93 (diff) | |
download | public-inbox-a9c903a57ff9a18c56a53bcba4316eade423fef6.tar.gz |
"bs:" and "b:" are adapted from mairix(1) We will also support searching explicitly for quoted vs non-quoted text via "q:" and "nq:" prefixes since sometimes readers will not care for quoted text. In the future, we will support parsing diffs (perhaps when repobrowse integration is complete). Note: this roughly doubles the size of the Xapian database due to the additional information; so this change may not be worth it.
Diffstat (limited to 't')
-rw-r--r-- | t/search.t | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -361,6 +361,31 @@ sub filter_mids { } } +{ + $rw_commit->(); + $ro->reopen; + my $res = $ro->query('b:hello'); + is(scalar @{$res->{msgs}}, 0, 'no match on body search only'); + $res = $ro->query('bs:smith'); + is(scalar @{$res->{msgs}}, 0, + 'no match on body+subject search for From'); + + $res = $ro->query('q:theatre'); + is(scalar @{$res->{msgs}}, 1, 'only one quoted body'); + like($res->{msgs}->[0]->from, qr/\AQuoter/, 'got quoted body'); + + $res = $ro->query('nq:theatre'); + is(scalar @{$res->{msgs}}, 1, 'only one non-quoted body'); + like($res->{msgs}->[0]->from, qr/\ANon-Quoter/, 'got non-quoted body'); + + foreach my $pfx (qw(b: bs:)) { + $res = $ro->query($pfx . 'theatre'); + is(scalar @{$res->{msgs}}, 2, "searched both bodies for $pfx"); + like($res->{msgs}->[0]->from, qr/\ANon-Quoter/, + "non-quoter first for $pfx"); + } +} + done_testing(); 1; |