]> Sergey Matveev's repositories - public-inbox.git/blob - t/lei-p2q.t
t/lei-p2q: add diagnostics
[public-inbox.git] / t / lei-p2q.t
1 #!perl -w
2 # Copyright (C) 2021 all contributors <meta@public-inbox.org>
3 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
4 use strict; use v5.10.1; use PublicInbox::TestCommon;
5 require_git 2.6;
6 require_mods(qw(json DBD::SQLite Search::Xapian));
7
8 test_lei(sub {
9         ok(!lei(qw(p2q this-better-cause-format-patch-to-fail)),
10                 'p2q fails on bogus arg');
11         lei_ok(qw(p2q -w dfpost t/data/0001.patch));
12         is($lei_out, "dfpost:6e006fd73b1d\n", 'pathname') or diag $lei_err;
13         open my $fh, '+<', 't/data/0001.patch' or xbail "open: $!";
14         lei_ok([qw(p2q -w dfpost -)], undef, { %$lei_opt, 0 => $fh });
15         is($lei_out, "dfpost:6e006fd73b1d\n", '--stdin') or diag $lei_err;
16
17         lei_ok(qw(p2q --uri t/data/0001.patch -w), 'dfpost,dfn');
18         is($lei_out, "dfpost%3A6e006fd73b1d+".
19                 "dfn%3Alib%2FPublicInbox%2FSearch.pm\n",
20                 '--uri -w dfpost,dfn');
21         lei_ok(qw(p2q t/data/0001.patch), '--want=dfpost,OR,dfn');
22         is($lei_out, "dfpost:6e006fd73b1d OR dfn:lib/PublicInbox/Search.pm\n",
23                 '--want=OR');
24         lei_ok(qw(p2q t/data/0001.patch --want=dfpost9));
25         is($lei_out, "dfpost:6e006fd73b1d OR " .
26                         "dfpost:6e006fd73b1 OR " .
27                         "dfpost:6e006fd73b OR " .
28                         "dfpost:6e006fd73\n",
29                 '3-byte chop');
30
31         lei_ok(qw(p2q t/data/message_embed.eml --want=dfb));
32         like($lei_out, qr/\bdfb:\S+/, 'got dfb off /dev/null file');
33 });
34 done_testing;