X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Faggregate%2Funit_core_engine_cgi-prepare_path.t;h=12c21b42739fd8ab57bc54acf0a19ccf7748de04;hb=d827e95c0b05a17a62d4cb911b70621708c8753e;hp=76bad625cf893f65e8165117405f3a561399fe1d;hpb=a9a405db0d420172e69219fd71d2d39fd56167cf;p=catagits%2FCatalyst-Runtime.git diff --git a/t/aggregate/unit_core_engine_cgi-prepare_path.t b/t/aggregate/unit_core_engine_cgi-prepare_path.t index 76bad62..12c21b4 100644 --- a/t/aggregate/unit_core_engine_cgi-prepare_path.t +++ b/t/aggregate/unit_core_engine_cgi-prepare_path.t @@ -13,8 +13,8 @@ use Catalyst::Engine::CGI; SCRIPT_NAME => '/comics/dispatch.cgi', REQUEST_URI => '/comics/', ); - is ''.$r->uri, 'http://www.foo.com/comics/'; - is ''.$r->base, 'http://www.foo.com/comics/'; + is ''.$r->uri, 'http://www.foo.com/comics/', 'uri is correct'; + is ''.$r->base, 'http://www.foo.com/comics/', 'base is correct'; } # mod_rewrite to sub path under app root for non / based app @@ -46,8 +46,8 @@ use Catalyst::Engine::CGI; SCRIPT_NAME => '/~bobtfish/Gitalist/script/gitalist.cgi', REQUEST_URI => '/~bobtfish/Gitalist/script/gitalist.cgi/%252F/%252F', ); - is ''.$r->uri, 'http://www.foo.com/~bobtfish/Gitalist/script/gitalist.cgi/%252F/%252F'; - is ''.$r->base, 'http://www.foo.com/~bobtfish/Gitalist/script/gitalist.cgi/'; + is ''.$r->uri, 'http://www.foo.com/~bobtfish/Gitalist/script/gitalist.cgi/%252F/%252F', 'uri correct'; + is ''.$r->base, 'http://www.foo.com/~bobtfish/Gitalist/script/gitalist.cgi/', 'base correct'; } # Using rewrite rules to ask for a sub-path in your app. @@ -81,12 +81,37 @@ use Catalyst::Engine::CGI; SCRIPT_NAME => '/oslobilder/', REQUEST_URI => '/oslobilder/%22foo%22', ); - is ''.$r->path, '%22foo%22'; - is ''.$r->uri, 'http://www.foo.com/oslobilder/%22foo%22'; - is ''.$r->base, 'http://www.foo.com/oslobilder/'; + is ''.$r->path, '%22foo%22', 'path correct'; + is ''.$r->uri, 'http://www.foo.com/oslobilder/%22foo%22', 'uri correct'; + is ''.$r->base, 'http://www.foo.com/oslobilder/', 'base correct'; } +{ + local $TODO = 'Another mod_rewrite case'; + my $r = get_req ( + PATH_INFO => '/auth/login', + SCRIPT_NAME => '/tx', + REQUEST_URI => '/login', + ); + is ''.$r->path, 'auth/login', 'path correct'; + is ''.$r->uri, 'http://www.foo.com/tx/auth/login', 'uri correct'; + is ''.$r->base, 'http://www.foo.com/tx/', 'base correct'; +} +# test req->base and c->uri_for work correctly after an internally redirected request +# (i.e. REDIRECT_URL set) when the PATH_INFO contains a regex +{ + my $path = '/engine/request/uri/Rx(here)'; + my $r = get_req ( + SCRIPT_NAME => '/', + PATH_INFO => $path, + REQUEST_URI => $path, + REDIRECT_URL => $path, + ); + + is $r->path, 'engine/request/uri/Rx(here)', 'URI contains correct path'; + is $r->base, 'http://www.foo.com/', 'Base is correct'; +} # FIXME - Test proxy logic