Added uri_for test
[catagits/Catalyst-Runtime.git] / t / unit / core / uri_for.t
index 26c14b1..81324b7 100644 (file)
@@ -1,7 +1,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 5;
+use Test::More tests => 6;
 use Test::MockObject;
 use URI;
 
@@ -29,11 +29,21 @@ is(
 is( Catalyst::uri_for( $context, '../quux' )->as_string,
     'http://127.0.0.1/foo/quux', 'URI for relative dot path' );
 
-# bug found by drewbie
-$request->mock('base', sub { URI->new('http://localhost:3000/') } );
-$request->mock('match', sub { 'orderentry/contract' } );
+$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' );
+}