Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
56599bf4f7 | ||
|
|
bba3793735 | ||
|
|
ac65e8797e | ||
|
|
32f8daf9cd |
@@ -2,6 +2,9 @@ Revision history for Mojolicious::Plugin::TtRenderer
|
|||||||
|
|
||||||
{{$NEXT}}
|
{{$NEXT}}
|
||||||
|
|
||||||
|
1.55 2015-02-28 10:31:58 -0500
|
||||||
|
- Mojo 6.x compat
|
||||||
|
|
||||||
1.54 2014-12-20 10:17:47 -0500
|
1.54 2014-12-20 10:17:47 -0500
|
||||||
- cpantesters: do not report on older perls
|
- cpantesters: do not report on older perls
|
||||||
|
|
||||||
|
|||||||
@@ -187,11 +187,11 @@ distribution, including the support files required for the full
|
|||||||
|
|
||||||
# AUTHOR
|
# AUTHOR
|
||||||
|
|
||||||
original author: Ask Bjørn Hansen
|
Original author: Ask Bjørn Hansen
|
||||||
|
|
||||||
current maintainer: Graham Ollis <plicease@cpan.org>
|
Current maintainer: Graham Ollis <plicease@cpan.org>
|
||||||
|
|
||||||
contributors:
|
Contributors:
|
||||||
|
|
||||||
vti
|
vti
|
||||||
|
|
||||||
@@ -225,7 +225,7 @@ uwisser
|
|||||||
|
|
||||||
# COPYRIGHT AND LICENSE
|
# COPYRIGHT AND LICENSE
|
||||||
|
|
||||||
This software is copyright (c) 2014 by Ask Bjørn Hansen.
|
This software is copyright (c) 2015 by Ask Bjørn Hansen.
|
||||||
|
|
||||||
This is free software; you can redistribute it and/or modify it under
|
This is free software; you can redistribute it and/or modify it under
|
||||||
the same terms as the Perl 5 programming language system itself.
|
the same terms as the Perl 5 programming language system itself.
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ license = Perl_5
|
|||||||
copyright_holder = Ask Bjørn Hansen
|
copyright_holder = Ask Bjørn Hansen
|
||||||
# copyright_year = 2009
|
# copyright_year = 2009
|
||||||
|
|
||||||
version = 1.54
|
version = 1.55
|
||||||
|
|
||||||
[@Author::Plicease]
|
[@Author::Plicease]
|
||||||
release_tests = 1
|
release_tests = 1
|
||||||
@@ -13,7 +13,7 @@ travis_status = 1
|
|||||||
installer = ModuleBuild
|
installer = ModuleBuild
|
||||||
|
|
||||||
[Prereqs]
|
[Prereqs]
|
||||||
Mojolicious = 3.33
|
Mojolicious = 5.81
|
||||||
Template = 2.18
|
Template = 2.18
|
||||||
|
|
||||||
[Author::Plicease::Thanks]
|
[Author::Plicease::Thanks]
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ sub build {
|
|||||||
my $self = shift->SUPER::new(@_);
|
my $self = shift->SUPER::new(@_);
|
||||||
weaken($self->{app});
|
weaken($self->{app});
|
||||||
$self->_init(@_);
|
$self->_init(@_);
|
||||||
return sub { $self->_render(@_) }
|
sub { $self->_render(@_) }
|
||||||
}
|
}
|
||||||
|
|
||||||
sub _init {
|
sub _init {
|
||||||
@@ -68,7 +68,7 @@ sub _init {
|
|||||||
$self->tt(Template->new(\%config))
|
$self->tt(Template->new(\%config))
|
||||||
or Carp::croak "Could not initialize Template object: $Template::ERROR";
|
or Carp::croak "Could not initialize Template object: $Template::ERROR";
|
||||||
|
|
||||||
return $self;
|
$self;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub _render {
|
sub _render {
|
||||||
@@ -120,7 +120,7 @@ sub _render {
|
|||||||
# Error
|
# Error
|
||||||
die $self->tt->error unless $ok;
|
die $self->tt->error unless $ok;
|
||||||
|
|
||||||
return 1;
|
1;
|
||||||
}
|
}
|
||||||
|
|
||||||
1; # End of Mojolicious::Plugin::TtRenderer::Engine
|
1; # End of Mojolicious::Plugin::TtRenderer::Engine
|
||||||
@@ -150,7 +150,7 @@ sub AUTOLOAD {
|
|||||||
|
|
||||||
die qq/Unknown helper: $method/ unless $self->ctx->app->renderer->helpers->{$method};
|
die qq/Unknown helper: $method/ unless $self->ctx->app->renderer->helpers->{$method};
|
||||||
|
|
||||||
return $self->ctx->$method(@_);
|
$self->ctx->$method(@_);
|
||||||
}
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
@@ -173,7 +173,7 @@ sub new {
|
|||||||
my $self = $class->SUPER::new(%params);
|
my $self = $class->SUPER::new(%params);
|
||||||
$self->renderer($renderer);
|
$self->renderer($renderer);
|
||||||
weaken($self->{renderer});
|
weaken($self->{renderer});
|
||||||
return $self;
|
$self;
|
||||||
}
|
}
|
||||||
|
|
||||||
sub renderer { @_ > 1 ? $_[0]->{renderer} = $_[1] : $_[0]->{renderer} }
|
sub renderer { @_ > 1 ? $_[0]->{renderer} = $_[1] : $_[0]->{renderer} }
|
||||||
@@ -206,9 +206,8 @@ sub _template_content {
|
|||||||
if(defined $options) {
|
if(defined $options) {
|
||||||
$data = $self->renderer->get_data_template($options);
|
$data = $self->renderer->get_data_template($options);
|
||||||
} else {
|
} else {
|
||||||
my $loader = Mojo::Loader->new;
|
|
||||||
foreach my $class (@{ $self->renderer->classes }) {
|
foreach my $class (@{ $self->renderer->classes }) {
|
||||||
$data = $loader->data($class, $t);
|
$data = Mojo::Loader::data_section($class, $t);
|
||||||
last if $data;
|
last if $data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -217,7 +216,7 @@ sub _template_content {
|
|||||||
$data = '';
|
$data = '';
|
||||||
$error = "$path: not found";
|
$error = "$path: not found";
|
||||||
}
|
}
|
||||||
return wantarray ? ($data, $error, time) : $data;
|
wantarray ? ($data, $error, time) : $data;
|
||||||
}
|
}
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
|||||||
@@ -1,69 +0,0 @@
|
|||||||
#!/usr/bin/env perl
|
|
||||||
|
|
||||||
use strict;
|
|
||||||
use warnings;
|
|
||||||
|
|
||||||
#BEGIN { $ENV{MOJO_MODE}='testing'; };
|
|
||||||
|
|
||||||
use utf8;
|
|
||||||
|
|
||||||
use Test::More;
|
|
||||||
|
|
||||||
use Mojolicious::Lite;
|
|
||||||
use Test::Mojo;
|
|
||||||
use File::Temp qw( tempdir );
|
|
||||||
use File::Spec;
|
|
||||||
|
|
||||||
if($Mojolicious::VERSION >= 4.0)
|
|
||||||
{
|
|
||||||
plan skip_all => 'test broken in mojo 4.0';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
plan tests => 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
# Send log to tmp file so that it doesn't clutter up the screen.
|
|
||||||
app->log->level('fatal');
|
|
||||||
app->log->path(do {
|
|
||||||
File::Spec->catfile(tempdir(CLEANUP => 1), 'mojo.log');
|
|
||||||
});
|
|
||||||
|
|
||||||
plugin 'tt_renderer' => {template_options => { COMPILE_DIR => tempdir( CLEANUP => 1 ) }};
|
|
||||||
|
|
||||||
get '/exception' => sub { die };
|
|
||||||
|
|
||||||
#say app->mode;
|
|
||||||
#app->start;
|
|
||||||
#exit;
|
|
||||||
|
|
||||||
my $t = Test::Mojo->new;
|
|
||||||
|
|
||||||
$t->app->renderer->default_handler('tt');
|
|
||||||
|
|
||||||
my $deep_recursion = 0;
|
|
||||||
|
|
||||||
do {
|
|
||||||
local $SIG{__WARN__} = sub {
|
|
||||||
my $warning = shift;
|
|
||||||
if($warning =~ /Deep recursion/) {
|
|
||||||
$deep_recursion = 1;
|
|
||||||
die $warning;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
$t->get_ok('/exception')
|
|
||||||
->status_is(500);
|
|
||||||
};
|
|
||||||
|
|
||||||
ok !$deep_recursion, 'no deep recursion';
|
|
||||||
|
|
||||||
__DATA__
|
|
||||||
|
|
||||||
@@ exception.development.html.tt
|
|
||||||
[% 1 + % %]
|
|
||||||
|
|
||||||
@@ exception.html.tt
|
|
||||||
[% 1 + % %]
|
|
||||||
|
|
||||||
@@ exception.testing.html.tt
|
|
||||||
[% 1 + % %]
|
|
||||||
Reference in New Issue
Block a user