Subject: | wide character in encoding test |
Date: | Wed, 25 Mar 2015 11:07:49 +0000 |
To: | bug-Dancer [...] rt.cpan.org |
From: | Zefram <zefram [...] fysh.org> |
t/12_response/04_charset_server.t ................... 1/10 Wide character in print at /opt/perl-5.20.2/lib/site_perl/5.20.2/HTTP/Server/Simple/PSGI.pm line 132, <DATA> line 16.
Wide character in print at /opt/perl-5.20.2/lib/site_perl/5.20.2/HTTP/Server/Simple/PSGI.pm line 132, <DATA> line 16.
t/12_response/04_charset_server.t ................... ok
Upon examination, it turns out that HTTP::Server::Simple::PSGI is printing
two strings that contain \x{100} characters, clearly derived from the
two uses of \x{100} in the test script. One of them is adorned with the
comment "UTF-8 seems to be Dancer's default encoding". The warning shows
that there is a failure at some point to apply any default encoding:
some code is getting that \x{100}, incorrectly assuming that it has an
octet string, and then getting bitten by the Perl core's funny fallback
behaviour about squeezing non-octets into octet streams. You'll probably
be able to see some inconsistent encoding if you test with strings
"L\x{e9}on" and "L\x{e9}on \x{2603}".
-zefram