diff options
Diffstat (limited to 't/path_info.t')
-rw-r--r-- | t/path_info.t | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/t/path_info.t b/t/path_info.t new file mode 100644 index 0000000..bab50b9 --- /dev/null +++ b/t/path_info.t @@ -0,0 +1,36 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use Test::More; +use Plack::Test; + +use HTTP::Request::Common; +use Plack::App::URLMap; +use Web::Request; + +my $path_app = sub { + my $req = Web::Request->new_from_env(shift); + my $res = $req->new_response(status => 200); + $res->content_type('text/plain'); + $res->body($req->path_info); + return $res->finalize; +}; + +my $app = Plack::App::URLMap->new; +$app->map("/foo" => $path_app); +$app->map("/" => $path_app); + +test_psgi app => $app->to_app, client => sub { + my $cb = shift; + + my $res = $cb->(GET "http://localhost/foo"); + is $res->content, ''; + + $res = $cb->(GET "http://localhost/foo/bar"); + is $res->content, '/bar'; + + $res = $cb->(GET "http://localhost/xxx/yyy"); + is $res->content, '/xxx/yyy'; +}; + +done_testing; |