From e41a7b0db983b38f77f535b432e33a021b5bab38 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 22 Sep 2015 10:09:48 +0000 Subject: nntp: XHDR lookups by Message-ID may cross groups This is allowed by RFC 2980 and HDR (to-be-implemented) in RFC 3977 supports it, too. --- t/nntpd.t | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 't') diff --git a/t/nntpd.t b/t/nntpd.t index 090e1500..28d84910 100644 --- a/t/nntpd.t +++ b/t/nntpd.t @@ -90,7 +90,8 @@ EOF $! = 0; fcntl($sock, F_SETFD, $fl |= FD_CLOEXEC); ok(! $!, 'no error from fcntl(F_SETFD)'); - my $n = Net::NNTP->new($sock->sockhost . ':' . $sock->sockport); + my $host_port = $sock->sockhost . ':' . $sock->sockport; + my $n = Net::NNTP->new($host_port); my $list = $n->list; is_deeply($list, { $group => [ qw(1 1 n) ] }, 'LIST works'); is_deeply([$n->group($group)], [ qw(0 1 1), $group ], 'GROUP works'); @@ -112,6 +113,14 @@ EOF "$k by article number works"); } + { + my $nogroup = Net::NNTP->new($host_port); + while (my ($k, $v) = each %xhdr) { + is_deeply($nogroup->xhdr("$k $mid"), { $mid => $v }, + "$k by message-id works without group"); + } + } + # TODO: upgrades and such ok(kill('TERM', $pid), 'killed nntpd'); -- cgit v1.2.3-24-ge0c7