about summary refs log tree commit homepage
path: root/t/nntpd.t
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2018-04-20 03:27:37 +0000
committerEric Wong <e@80x24.org>2018-04-20 03:27:53 +0000
commit0ef5872cee83f07c9ae7afceb2e92257507dc3ca (patch)
tree5464f1ae1d633a31cdf4bcb9808e5a66f3113528 /t/nntpd.t
parente350de7fdbe12dafc36e893e66ce8c93ec6dc3f2 (diff)
downloadpublic-inbox-0ef5872cee83f07c9ae7afceb2e92257507dc3ca.tar.gz
For Subject/To/Cc/From headers, we squeeze them to a space (' ').

For Message-IDs (including References/In-Reply-To), '\t', '\n', '\r'
are deleted since some MUAs might screw them up:

  https://public-inbox.org/git/656C30A1EFC89F6B2082D9B6@localhost/raw
Diffstat (limited to 't/nntpd.t')
-rw-r--r--t/nntpd.t17
1 files changed, 10 insertions, 7 deletions
diff --git a/t/nntpd.t b/t/nntpd.t
index 3698f98b..960e83c1 100644
--- a/t/nntpd.t
+++ b/t/nntpd.t
@@ -80,9 +80,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,7 +140,8 @@ EOF
                 'from' => "El\xc3\xa9anor <me\@example.com>",
                 'to' => "El\xc3\xa9anor <you\@example.com>",
                 'cc' => $addr,
-                'xref' => "example.com $group:1"
+                'xref' => "example.com $group:1",
+                'references' => '<reftabsqueezed>',
         );
 
         my $s = IO::Socket::INET->new(%opts);
@@ -189,7 +191,7 @@ EOF
                         "El\xc3\xa9anor <me\@example.com>",
                         'Thu, 01 Jan 1970 06:06:06 +0000',
                         '<nntp@example.com>',
-                        '',
+                        '<reftabsqueezed>',
                         $len,
                         '1' ] }, "XOVER range works");
 
@@ -198,7 +200,7 @@ EOF
                         "El\xc3\xa9anor <me\@example.com>",
                         'Thu, 01 Jan 1970 06:06:06 +0000',
                         '<nntp@example.com>',
-                        '',
+                        '<reftabsqueezed>',
                         $len,
                         '1' ] }, "XOVER by article works");
 
@@ -220,14 +222,15 @@ 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",
+                        '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');