upgraded to upstream 0.06
[liburi-template-perl.git] / t / 20-deparse.t
1 use strict;
2 use warnings;
3
4 use Test::More tests => 8;
5
6 use_ok( 'URI::Template' );
7
8 {
9     my $template = URI::Template->new( 'http://{domain}.com/{dir}/{file}.html' );
10     isa_ok( $template, 'URI::Template' );
11     my %result = $template->deparse( 'http://example.com/test/1.html' );
12     is_deeply( \%result, { domain => 'example', dir => 'test', file => '1' }, 'deparse()' );
13 }
14
15 {
16     my $template = URI::Template->new( 'http://test.com/{x}/{y}/{x}/{y}' );
17     isa_ok( $template, 'URI::Template' );
18     my %result = $template->deparse( 'http://test.com/1/2/1/2' );
19     is_deeply( \%result, { x => 1, y => 2 }, 'deparse() with multiple values' );
20 }
21
22 {
23     my $template = URI::Template->new( 'http://ex.com/{x}' );
24     isa_ok( $template, 'URI::Template' );
25     my %input = ( x => 'y' );
26     my $uri = $template->process( x => 'y' );
27     is( $uri, 'http://ex.com/y' );
28     my %result = $template->deparse( $uri );
29     is_deeply( \%result, \%input, 'process => deparse' );
30 }