about summary refs log tree commit homepage
path: root/t
diff options
context:
space:
mode:
authorEric Wong <e@yhbt.net>2020-02-24 07:33:26 +0000
committerEric Wong <e@yhbt.net>2020-02-24 18:30:11 +0000
commitaf8434f5f729a541cf8c50dfcb7d96a413facd2b (patch)
tree9fe98c3fce6e91b67496a1e7c2aec1f90e2420ca /t
parentdf0fee8ed3892fb1258d87add809f40bebd3dce2 (diff)
downloadpublic-inbox-af8434f5f729a541cf8c50dfcb7d96a413facd2b.tar.gz
hval: ascii_html: drop CRLF => LF conversion
Instead, we add CRLF conversion to the only remaining place
which needs it, ViewVCS.  This save many redundant ops in in
many places.

The only other place where this mattered was in
View::add_text_body, but we already started doing CRLF
conversions when we added diff parsing and link generation for
ViewVCS.  Otherwise, all other places we used this was for
header viewing and Email::MIME doesn't preserve CRLF in headers.
Diffstat (limited to 't')
-rw-r--r--t/plack.t27
1 files changed, 27 insertions, 0 deletions
diff --git a/t/plack.t b/t/plack.t
index fe767aed..ea318792 100644
--- a/t/plack.t
+++ b/t/plack.t
@@ -109,6 +109,23 @@ EOF
         like($mime->body_raw, qr/hi =3D bye=/, 'our test used QP correctly');
         $im->add($mime);
 
+        my $crlf = <<EOF;
+From: Me
+  <me\@example.com>
+To: $addr
+Message-Id: <crlf\@example.com>
+Subject: carriage
+  return
+  in
+  long
+  subject
+Date: Fri, 02 Oct 1993 00:00:00 +0000
+
+:(
+EOF
+        $crlf =~ s/\n/\r\n/sg;
+        $im->add(Email::MIME->new($crlf));
+
         $im->done;
 }
 
@@ -120,6 +137,16 @@ test_psgi($app, sub {
         }
 });
 
+test_psgi($app, sub {
+        my ($cb) = @_;
+        my $res = $cb->(GET('http://example.com/test/crlf@example.com/'));
+        is($res->code, 200, 'retrieved CRLF as HTML');
+        unlike($res->content, qr/\r/, 'no CR in HTML');
+        $res = $cb->(GET('http://example.com/test/crlf@example.com/raw'));
+        is($res->code, 200, 'retrieved CRLF raw');
+        like($res->content, qr/\r/, 'CR preserved in raw message');
+});
+
 # redirect with newsgroup
 test_psgi($app, sub {
         my ($cb) = @_;