1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
package TestAppEncoding::Controller::Root;
use strict;
use warnings;
use base 'Catalyst::Controller';
use Test::More;
__PACKAGE__->config->{namespace} = '';
sub binary : Local {
my ($self, $c) = @_;
$c->res->content_type('image/gif');
$c->res->body(do {
open(my $fh, '<', $c->path_to('..', '..', 'catalyst_130pix.gif')) or die $!;
binmode($fh);
local $/ = undef; <$fh>;
});
}
sub binary_utf8 : Local {
my ($self, $c) = @_;
$c->forward('binary');
my $str = $c->res->body;
utf8::upgrade($str);
ok utf8::is_utf8($str), 'Body is variable width encoded string';
$c->res->body($str);
}
# called by t/aggregate/catalyst_test_utf8.t
sub utf8_non_ascii_content : Local {
use utf8;
my ($self, $c) = @_;
my $str = 'ʇsʎlɐʇɐɔ'; # 'catalyst' flipped at http://www.revfad.com/flip.html
ok utf8::is_utf8($str), '$str is in UTF8 internally';
$c->res->content_type('text/plain');
$c->res->body($str);
}
sub end : Private {
my ($self,$c) = @_;
}
1;
|