Merge branch 'master' of github.com:abh/mojox-renderer-tt
This commit is contained in:
commit
efaef5ae48
2 files changed
+41
No files matched your search
@@ -87,9 +87,12 @@ sub _render {
|
|||||||
my $provider = $self->tt->{SERVICE}->{CONTEXT}->{LOAD_TEMPLATES}->[0];
|
my $provider = $self->tt->{SERVICE}->{CONTEXT}->{LOAD_TEMPLATES}->[0];
|
||||||
$provider->options($options);
|
$provider->options($options);
|
||||||
$provider->ctx($c);
|
$provider->ctx($c);
|
||||||
|
$provider->not_found(0);
|
||||||
|
|
||||||
my $ok = $self->tt->process(defined $inline ? \$inline : $t, @params);
|
my $ok = $self->tt->process(defined $inline ? \$inline : $t, @params);
|
||||||
|
|
||||||
|
return 0 if $provider->not_found;
|
||||||
|
|
||||||
# Error
|
# Error
|
||||||
die $self->tt->error unless $ok;
|
die $self->tt->error unless $ok;
|
||||||
|
|
||||||
@@ -152,6 +155,7 @@ sub new {
|
|||||||
sub renderer { @_ > 1 ? $_[0]->{renderer} = $_[1] : $_[0]->{renderer} }
|
sub renderer { @_ > 1 ? $_[0]->{renderer} = $_[1] : $_[0]->{renderer} }
|
||||||
sub ctx { @_ > 1 ? $_[0]->{ctx} = $_[1] : $_[0]->{ctx} }
|
sub ctx { @_ > 1 ? $_[0]->{ctx} = $_[1] : $_[0]->{ctx} }
|
||||||
sub options { @_ > 1 ? $_[0]->{options} = $_[1] : $_[0]->{options} }
|
sub options { @_ > 1 ? $_[0]->{options} = $_[1] : $_[0]->{options} }
|
||||||
|
sub not_found { @_ > 1 ? $_[0]->{not_found} = $_[1] : $_[0]->{not_found} }
|
||||||
|
|
||||||
sub _template_modified {1}
|
sub _template_modified {1}
|
||||||
|
|
||||||
@@ -175,6 +179,7 @@ sub _template_content {
|
|||||||
# Try DATA section
|
# Try DATA section
|
||||||
if(defined $options) {
|
if(defined $options) {
|
||||||
$data = $self->renderer->get_data_template($options);
|
$data = $self->renderer->get_data_template($options);
|
||||||
|
$self->not_found(1) unless defined $data;
|
||||||
} else {
|
} else {
|
||||||
my $loader = Mojo::Loader->new;
|
my $loader = Mojo::Loader->new;
|
||||||
foreach my $class (@{ $self->renderer->classes }) {
|
foreach my $class (@{ $self->renderer->classes }) {
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Test::More tests => 3;
|
||||||
|
use Test::Mojo;
|
||||||
|
|
||||||
|
use Mojolicious::Lite;
|
||||||
|
|
||||||
|
# Tell Mojolicious we want to load the TT renderer plugin
|
||||||
|
app->plugin(
|
||||||
|
tt_renderer => {
|
||||||
|
template_options => {
|
||||||
|
# These options are specific to TT
|
||||||
|
INCLUDE_PATH => 'templates',
|
||||||
|
COMPILE_DIR => 'templates_c',
|
||||||
|
COMPILE_EXT => '.ttc',
|
||||||
|
# ... anything else to be passed on to TT should go here
|
||||||
|
},
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
app->renderer->default_handler('tt');
|
||||||
|
|
||||||
|
get '/' => sub {
|
||||||
|
die 'foo';
|
||||||
|
};
|
||||||
|
|
||||||
|
my $t = Test::Mojo->new;
|
||||||
|
|
||||||
|
$t->get_ok('/')
|
||||||
|
->status_is(500)
|
||||||
|
->content_like(qr{foo});
|
||||||
|
|
||||||
|
__DATA__
|
||||||
|
|
||||||
|
@@ index.html.tt
|
||||||
|
anything
|
||||||
Reference in new issue
Block a user