X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Runtime.git;a=blobdiff_plain;f=t%2Funit%2Fcore%2Furi_for.t;h=81324b7224e5c76f63c1ce16d5ecce033ad64e7e;hp=f9d5e09a820a1ee5c6f107a5a18af39a92aad800;hb=496021a4740bcccf5b630f9fbd6f6bff0882dfc7;hpb=fbcc39ad23f2bbecf5d84c9ba581e6af86fcd460 diff --git a/t/unit/core/uri_for.t b/t/unit/core/uri_for.t index f9d5e09..81324b7 100644 --- a/t/unit/core/uri_for.t +++ b/t/unit/core/uri_for.t @@ -1,7 +1,7 @@ use strict; use warnings; -use Test::More tests => 4; +use Test::More tests => 6; use Test::MockObject; use URI; @@ -28,3 +28,22 @@ is( is( Catalyst::uri_for( $context, '../quux' )->as_string, 'http://127.0.0.1/foo/quux', 'URI for relative dot path' ); + +$request->mock( 'base', sub { URI->new('http://localhost:3000/') } ); +$request->mock( 'match', sub { 'orderentry/contract' } ); +is( + Catalyst::uri_for( $context, '/Orderentry/saveContract' )->as_string, + 'http://localhost:3000/Orderentry/saveContract', + 'URI for absolute path' +); + +{ + $request->mock( 'base', sub { URI->new('http://127.0.0.1/') } ); + $request->mock( 'match', sub { '' } ); + + my $context = Test::MockObject->new; + $context->mock( 'request', sub { $request } ); + + is( Catalyst::uri_for( $context, '/bar/baz' )->as_string, + 'http://127.0.0.1/bar/baz', 'URI with no base or match' ); +}