X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Funit%2Fcore%2Furi_for.t;h=4b020212e2157c1f8d865bd1568bc26670261963;hb=ccc9f8aa38cae2603b7111400ed6de24cdfcb419;hp=f9d5e09a820a1ee5c6f107a5a18af39a92aad800;hpb=fbcc39ad23f2bbecf5d84c9ba581e6af86fcd460;p=catagits%2FCatalyst-Runtime.git diff --git a/t/unit/core/uri_for.t b/t/unit/core/uri_for.t index f9d5e09..4b02021 100644 --- a/t/unit/core/uri_for.t +++ b/t/unit/core/uri_for.t @@ -1,16 +1,16 @@ use strict; use warnings; -use Test::More tests => 4; +use Test::More tests => 6; use Test::MockObject; use URI; my $request = Test::MockObject->new; -$request->mock( 'base', sub { URI->new('http://127.0.0.1/foo') } ); -$request->mock( 'match', sub { '/yada' } ); +$request->mock( 'base', sub { URI->new('http://127.0.0.1/foo') } ); my $context = Test::MockObject->new; -$context->mock( 'request', sub { $request } ); +$context->mock( 'request', sub { $request } ); +$context->mock( 'namespace', sub { 'yada' } ); use_ok('Catalyst'); @@ -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/') } ); + + my $context = Test::MockObject->new; + $context->mock( 'request', sub { $request } ); + $context->mock( 'namespace', sub { '' } ); + + is( Catalyst::uri_for( $context, '/bar/baz' )->as_string, + 'http://127.0.0.1/bar/baz', 'URI with no base or match' ); +}