test_requires 'Catalyst::Plugin::Session::Store::Dummy' => '0';
test_requires 'Test::Exception' => '0';
test_requires 'Test::More' => '0';
+test_requires 'Test::utf8' => '0';
if ($Module::Install::AUTHOR) {
system('pod2text lib/Test/WWW/Mechanize/Catalyst.pm > README');
use Cwd;
use MIME::Base64;
use Encode ();
+use utf8;
__PACKAGE__->config( namespace => '' );
$c->res->body('foo');
}
-sub redirect_to_utf8_upgraded_string {
+sub redirect_to_utf8_upgraded_string : Global {
my($self, $c) = @_;
- my $where = $c->uri_for('hello')->stringify;
+ my $where = $c->uri_for('hello', 'müller')->as_string;
utf8::upgrade($where);
$c->res->redirect($where);
}
use strict;
use warnings;
use lib 'lib';
-use Test::More tests => 29;
+use Test::More tests => 30;
use lib 't/lib';
use Test::WWW::Mechanize::Catalyst 'Catty';
+use HTTP::Request::Common;
+use URI;
+use Test::utf8;
my $root = "http://localhost";
$m->get("$root/redirect_with_500");
is ($m->status, 500, "Redirect not followed on 500");
-$m->get_ok( "$root/redirect_to_utf8_upgraded_string",
- "redirect using an upgraded utf8 string" );
-
+my $req = GET "$root/redirect_to_utf8_upgraded_string";
+my $loc = $m->_do_catalyst_request($req)->header('Location');
+my $uri = URI->new_abs( $loc, $req->uri )->as_string;
+is_sane_utf8($uri);
+isnt_flagged_utf8($uri);