9 use Catalyst::Test qw(TestAppUnicode);
12 my $res = request('/');
13 ok($res->is_success, 'get main page');
14 like($res->decoded_content, qr/it works/i, 'see if it has our text');
15 is ($res->header('Content-Type'), 'text/html; charset=UTF-8',
16 'Content-Type with charset'
21 my $res = request('/unicode_no_enc');
22 ok($res->is_success, 'get unicode_no_enc');
24 my $exp = "\xE3\x81\xBB\xE3\x81\x92";
25 my $got = Encode::encode_utf8($res->decoded_content);
27 is ($res->header('Content-Type'), 'text/plain',
28 'Content-Type with no charset');
30 is($got, $exp, 'content contains hoge');
34 my $res = request('/unicode');
35 ok( $res->is_success, 'get unicode');
37 is ($res->header('Content-Type'), 'text/plain; charset=UTF-8',
38 'Content-Type with charset');
40 my $exp = "\xE3\x81\xBB\xE3\x81\x92";
41 my $got = Encode::encode_utf8($res->decoded_content);
43 is($got, $exp, 'content contains hoge');
47 my $res = request('/not_unicode');
48 ok($res->is_success, 'get bytes');
49 my $exp = "\xE1\x88\xB4\xE5\x99\xB8";
50 my $got = Encode::encode_utf8($res->decoded_content);
52 is($got, $exp, 'got 1234 5678');
56 my $res = request('/file');
57 ok($res->is_success, 'get file');
58 like($res->decoded_content, qr/this is a test/, 'got filehandle contents');
62 # The latin 1 case is the one everyone forgets. I want to really make sure
63 # its right, so lets check the damn bytes.
64 my $res = request('/latin1');
65 ok($res->is_success, 'get latin1');
66 is ($res->header('Content-Type'), 'text/plain; charset=UTF-8',
67 'Content-Type with charset');
70 my $exp = "LATIN SMALL LETTER E WITH ACUTE: \xC3\xA9";
71 my $got = Encode::encode_utf8($res->decoded_content);
73 is ($got, $exp, 'content octets are UTF-8');
77 my $res = request('/shift_jis');
78 ok($res->is_success, 'get shift_jis');
79 is ($res->header('Content-Type'), 'text/plain; charset=Shift_JIS', 'Content-Type with charset');
80 my $exp = "\xE3\x81\xBB\xE3\x81\x92";
81 my $got = Encode::encode_utf8($res->decoded_content);
82 is ($got, $exp, 'content octets are Shift_JIS');