Commit | Line | Data |
fbcc39ad |
1 | use strict; |
2 | use warnings; |
3 | |
4 | use Test::More tests => 4; |
5 | use Test::MockObject; |
6 | use URI; |
7 | |
8 | my $request = Test::MockObject->new; |
9 | $request->mock( 'base', sub { URI->new('http://127.0.0.1/foo') } ); |
10 | $request->mock( 'match', sub { '/yada' } ); |
11 | |
12 | my $context = Test::MockObject->new; |
13 | $context->mock( 'request', sub { $request } ); |
14 | |
15 | use_ok('Catalyst'); |
16 | |
17 | is( |
18 | Catalyst::uri_for( $context, '/bar/baz' )->as_string, |
19 | 'http://127.0.0.1/foo/bar/baz', |
20 | 'URI for absolute path' |
21 | ); |
22 | |
23 | is( |
24 | Catalyst::uri_for( $context, 'bar/baz' )->as_string, |
25 | 'http://127.0.0.1/foo/yada/bar/baz', |
26 | 'URI for relative path' |
27 | ); |
28 | |
29 | is( Catalyst::uri_for( $context, '../quux' )->as_string, |
30 | 'http://127.0.0.1/foo/quux', 'URI for relative dot path' ); |