diff options
author | Yusuke Watase <ywatase@gmail.com> | 2012-04-12 19:37:12 +0900 |
---|---|---|
committer | Yusuke Watase <ywatase@gmail.com> | 2012-04-12 19:37:12 +0900 |
commit | c00dffcb11d9d25b7b56840a668356f003c88810 (patch) | |
tree | 54c6692251018bd14fccfd75516d9ed96806e08d | |
parent | checkin before tagging (diff) | |
download | dancer-template-xslate-c00dffcb11d9d25b7b56840a668356f003c88810.tar.gz |
fix extention and suffix problem
-rw-r--r-- | lib/Dancer/Template/Xslate.pm | 4 | ||||
-rw-r--r-- | t/03-cascade.t | 29 | ||||
-rw-r--r-- | t/views/cascade.tx | 4 | ||||
-rw-r--r-- | t/views/cascade_base.tx | 3 |
4 files changed, 39 insertions, 1 deletions
diff --git a/lib/Dancer/Template/Xslate.pm b/lib/Dancer/Template/Xslate.pm index 74f4c18..9777ee9 100644 --- a/lib/Dancer/Template/Xslate.pm +++ b/lib/Dancer/Template/Xslate.pm @@ -32,8 +32,10 @@ sub init { $self->config->{extension} = $xslate_args{suffix} if exists $xslate_args{suffix}; + $self->config->{extension} =~ s/^\.//; + ## avoid 'Text::Xslate: Unknown option(s): extension' - $xslate_args{suffix} = delete $xslate_args{extension} + $xslate_args{suffix} = '.' . delete $xslate_args{extension} if exists $xslate_args{extension}; $self->{driver} = Text::Xslate->new(%xslate_args); diff --git a/t/03-cascade.t b/t/03-cascade.t new file mode 100644 index 0000000..5da25e2 --- /dev/null +++ b/t/03-cascade.t @@ -0,0 +1,29 @@ +use strict; +use warnings; +use Test::More tests => 2; +use File::Spec::Functions qw(catfile); + +use Dancer::Template::Xslate; +my $engine = Dancer::Template::Xslate->new( + config => + { + extension => 'tx', + path => [catfile(qw(t views))], + }, +); + +my $template = catfile(qw(t views cascade.tx)); +my $result = $engine->render($template); +my $expected = "header\nbody\nfooter\n"; + +is $result, $expected, "cascade and extension test"; + +$engine = Dancer::Template::Xslate->new( + config => + { + suffix => '.tx', + path => [catfile(qw(t views))], + }, +); +$result = $engine->render($template); +is $result, $expected, "cascade and extension test"; diff --git a/t/views/cascade.tx b/t/views/cascade.tx new file mode 100644 index 0000000..7317831 --- /dev/null +++ b/t/views/cascade.tx @@ -0,0 +1,4 @@ +: cascade cascade_base +: around body -> { +body +: } diff --git a/t/views/cascade_base.tx b/t/views/cascade_base.tx new file mode 100644 index 0000000..50703a5 --- /dev/null +++ b/t/views/cascade_base.tx @@ -0,0 +1,3 @@ +header +: block body -> {} +footer |