fix uri_for class method tests
[catagits/Catalyst-Runtime.git] / t / unicode_plugin_live.t
CommitLineData
55046410 1use strict;
2use warnings;
3use Test::More;
55046410 4
5# setup library path
6use FindBin qw($Bin);
7use lib "$Bin/lib";
8
77ca88e5 9use Catalyst::Test qw(TestAppUnicode);
55046410 10
77ca88e5 11{
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'
17 );
18}
55046410 19
20{
77ca88e5 21 my $res = request('/unicode_no_enc');
22 ok($res->is_success, 'get unicode_no_enc');
55046410 23
24 my $exp = "\xE3\x81\xBB\xE3\x81\x92";
77ca88e5 25 my $got = Encode::encode_utf8($res->decoded_content);
55046410 26
77ca88e5 27 is ($res->header('Content-Type'), 'text/plain',
55046410 28 'Content-Type with no charset');
29
30 is($got, $exp, 'content contains hoge');
31}
32
33{
77ca88e5 34 my $res = request('/unicode');
35 ok( $res->is_success, 'get unicode');
55046410 36
77ca88e5 37 is ($res->header('Content-Type'), 'text/plain; charset=UTF-8',
55046410 38 'Content-Type with charset');
39
40 my $exp = "\xE3\x81\xBB\xE3\x81\x92";
77ca88e5 41 my $got = Encode::encode_utf8($res->decoded_content);
55046410 42
43 is($got, $exp, 'content contains hoge');
44}
45
46{
77ca88e5 47 my $res = request('/not_unicode');
48 ok($res->is_success, 'get bytes');
55046410 49 my $exp = "\xE1\x88\xB4\xE5\x99\xB8";
77ca88e5 50 my $got = Encode::encode_utf8($res->decoded_content);
55046410 51
52 is($got, $exp, 'got 1234 5678');
53}
54
55{
77ca88e5 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');
55046410 59}
60
61{
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.
77ca88e5 64 my $res = request('/latin1');
65 ok($res->is_success, 'get latin1');
66 is ($res->header('Content-Type'), 'text/plain; charset=UTF-8',
55046410 67 'Content-Type with charset');
68
69
70 my $exp = "LATIN SMALL LETTER E WITH ACUTE: \xC3\xA9";
77ca88e5 71 my $got = Encode::encode_utf8($res->decoded_content);
55046410 72
73 is ($got, $exp, 'content octets are UTF-8');
74}
75
76{
77ca88e5 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');
55046410 80 my $exp = "\xE3\x81\xBB\xE3\x81\x92";
77ca88e5 81 my $got = Encode::encode_utf8($res->decoded_content);
55046410 82 is ($got, $exp, 'content octets are Shift_JIS');
83}
84
85done_testing;
86