Imported Upstream version 0.19
[liburi-template-perl.git] / t / 10-basic.t
index 934d87d..4d6f404 100644 (file)
@@ -1,14 +1,37 @@
 use strict;
 use warnings;
 
-use Test::More tests => 15;
+use Test::More tests => 21;
 
 use_ok( 'URI::Template' );
 
-# fatal - no template provided
+#   new, empty template
 {
-    eval { URI::Template->new; };
-    ok( $@ );
+    my $template = URI::Template->new;
+    isa_ok( $template, 'URI::Template' );
+
+    {
+        my $result = $template->process();
+        is( $result, '', 'process() for empty template' );
+        isa_ok( $result, 'URI', 'return value from process() isa URI' );
+    }
+}
+
+#   Update template
+{
+    my $template = URI::Template->new;
+    is( "$template", '', 'stringify from empty' );
+
+    my $text = 'http://foo.com/{bar}/{baz}';
+    $template->template($text);
+
+    is( "$template", $text, 'stringify from updated template' );
+
+    {
+        my $result = $template->process( bar => 'x', baz => 'y' );
+        is( $result, 'http://foo.com/x/y', 'process() for updated template' );
+        isa_ok( $result, 'URI', 'return value from process() isa URI' );
+    }
 }
 
 {