]> Sergey Matveev's repositories - public-inbox.git/blobdiff - t/nntpd.t
Add Xrefs to over/xover lines
[public-inbox.git] / t / nntpd.t
index 3698f98baccc5d4f119d1dddda274700c75f494e..9c1d076259fb91866e55c2576cb41a22feecc0c7 100644 (file)
--- a/t/nntpd.t
+++ b/t/nntpd.t
@@ -16,6 +16,7 @@ use Fcntl qw(FD_CLOEXEC F_SETFD F_GETFD);
 use Socket qw(SO_KEEPALIVE IPPROTO_TCP TCP_NODELAY);
 use File::Temp qw/tempdir/;
 use Net::NNTP;
+use Sys::Hostname;
 
 my $tmpdir = tempdir('pi-nntpd-XXXXXX', TMPDIR => 1, CLEANUP => 1);
 my $home = "$tmpdir/pi-home";
@@ -80,9 +81,10 @@ From: =?utf-8?Q?El=C3=A9anor?= <me\@example.com>
 Cc: $addr
 Message-Id: <nntp\@example.com>
 Content-Type: text/plain; charset=utf-8
-Subject: Testing for =?utf-8?Q?El=C3=A9anor?=
+Subject: Testing for   =?utf-8?Q?El=C3=A9anor?=
 Date: Thu, 01 Jan 1970 06:06:06 +0000
 Content-Transfer-Encoding: 8bit
+References: <ref       tab     squeezed>
 
 This is a test message for El\xc3\xa9anor
 EOF
@@ -139,12 +141,14 @@ EOF
                'from' => "El\xc3\xa9anor <me\@example.com>",
                'to' => "El\xc3\xa9anor <you\@example.com>",
                'cc' => $addr,
-               'xref' => "example.com $group:1"
+               'xref' => hostname . " $group:1",
+               'references' => '<reftabsqueezed>',
        );
 
        my $s = IO::Socket::INET->new(%opts);
        sysread($s, my $buf, 4096);
-       is($buf, "201 server ready - post via email\r\n", 'got greeting');
+       is($buf, "201 " . hostname . " ready - post via email\r\n",
+               'got greeting');
        $s->autoflush(1);
 
        ok(syswrite($s, "   \r\n"), 'wrote spaces');
@@ -154,7 +158,8 @@ EOF
 
        $s = IO::Socket::INET->new(%opts);
        sysread($s, $buf, 4096);
-       is($buf, "201 server ready - post via email\r\n", 'got greeting');
+       is($buf, "201 " . hostname . " ready - post via email\r\n",
+               'got greeting');
        $s->autoflush(1);
 
        syswrite($s, "NEWGROUPS 19990424 000000 GMT\r\n");
@@ -189,18 +194,22 @@ EOF
                        "El\xc3\xa9anor <me\@example.com>",
                        'Thu, 01 Jan 1970 06:06:06 +0000',
                        '<nntp@example.com>',
-                       '',
+                       '<reftabsqueezed>',
                        $len,
-                       '1' ] }, "XOVER range works");
+                       '1',
+                       'Xref: '. hostname . ' test-nntpd:1'] },
+               "XOVER range works");
 
        is_deeply($n->xover('1'), {
                '1' => ["Testing for El\xc3\xa9anor",
                        "El\xc3\xa9anor <me\@example.com>",
                        'Thu, 01 Jan 1970 06:06:06 +0000',
                        '<nntp@example.com>',
-                       '',
+                       '<reftabsqueezed>',
                        $len,
-                       '1' ] }, "XOVER by article works");
+                       '1',
+                       'Xref: '. hostname . ' test-nntpd:1'] },
+               "XOVER by article works");
 
        is_deeply($n->head(1), $n->head('<nntp@example.com>'), 'HEAD OK');
        is_deeply($n->body(1), $n->body('<nntp@example.com>'), 'BODY OK');
@@ -220,14 +229,16 @@ EOF
                is($r[1], "0\tTesting for El\xc3\xa9anor\t" .
                        "El\xc3\xa9anor <me\@example.com>\t" .
                        "Thu, 01 Jan 1970 06:06:06 +0000\t" .
-                       "$mid\t\t$len\t1", 'OVER by Message-ID works');
+                       "$mid\t<reftabsqueezed>\t$len\t1" .
+                       "\tXref: " . hostname . " test-nntpd:0",
+                       'OVER by Message-ID works');
                is($r[2], '.', 'correctly terminated response');
        }
 
        is_deeply($n->xhdr(qw(Cc 1-)), { 1 => 'test-nntpd@example.com' },
                 'XHDR Cc 1- works');
-       is_deeply($n->xhdr(qw(References 1-)), { 1 => '' },
-                'XHDR References 1- works (empty string)');
+       is_deeply($n->xhdr(qw(References 1-)), { 1 => '<reftabsqueezed>' },
+                'XHDR References 1- works)');
        is_deeply($n->xhdr(qw(list-id 1-)), {},
                 'XHDR on invalid header returns empty');