Compare commits

..
16 Commits
Author SHA1 Message Date
Graham Ollis 56599bf4f7 rm unnecessary returns 2015-03-19 13:45:03 -04:00
Graham Ollis bba3793735 v1.55
- Mojo 6.x compat
2015-02-28 10:32:15 -05:00
Graham Ollis ac65e8797e update changes 2015-02-28 10:31:34 -05:00
Graham Ollis 32f8daf9cd mojo 6.x compat 2015-02-28 10:31:27 -05:00
Graham Ollis 1025d74a36 v1.54
- cpantesters: do not report on older perls
2014-12-20 10:18:14 -05:00
Graham Ollis 4203effb6b update changes 2014-12-20 10:16:02 -05:00
Graham Ollis c6276a8d78 update release tests and diagnostic 2014-12-20 10:15:34 -05:00
Graham Ollis 6dfa5560a8 do not report on older Perls 2014-12-20 10:14:21 -05:00
Graham Ollis bca2f85fb3 update travis 2014-07-31 08:24:57 -04:00
Graham Ollis 5b364d31ac v1.53
- Mojolicious 5.0 support
2014-05-31 06:23:08 -04:00
Graham Ollis f9bc6aa56a some house keeping 2014-05-31 06:20:50 -04:00
Graham Ollis 65e4bbf7c8 Mojolicious 5.0 support 2014-05-31 06:12:45 -04:00
Graham Ollis 5870c014c2 v1.52
- updated repository name
2014-05-08 19:27:10 -04:00
Graham Ollis 8dcb4147f7 updated repostiryo name 2014-05-08 19:25:32 -04:00
Graham Ollis c489fbc86e update diagnostic and release tets 2014-05-08 19:25:20 -04:00
Graham Ollis 9699560925 clean up deps 2014-03-21 15:06:29 -04:00
16 changed files with 322 additions and 223 deletions
+2 -1
View File
@@ -4,7 +4,8 @@ install:
- cpanm -n Template - cpanm -n Template
script: HARNESS_IS_VERBOSE=1 prove -v -Ilib t script: HARNESS_IS_VERBOSE=1 prove -v -Ilib t
perl: perl:
- "5.19" - "5.21"
- "5.20"
- "5.18" - "5.18"
- "5.16" - "5.16"
- "5.14" - "5.14"
+12
View File
@@ -2,6 +2,18 @@ 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
- cpantesters: do not report on older perls
1.53 2014-05-31 06:22:47 -0400
- Mojolicious 5.0 support
1.52 2014-05-08 19:26:47 -0400
- updated repository name
1.51 2014-03-21 14:59:39 -0400 1.51 2014-03-21 14:59:39 -0400
- extended diagnostics - extended diagnostics
- documentation tweaks - documentation tweaks
+4 -4
View File
@@ -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.
+28 -16
View File
@@ -5,30 +5,17 @@ license = Perl_5
copyright_holder = Ask Bjørn Hansen copyright_holder = Ask Bjørn Hansen
# copyright_year = 2009 # copyright_year = 2009
version = 1.51 version = 1.55
[@Author::Plicease] [@Author::Plicease]
release_tests = 1 release_tests = 1
travis_status = 1 travis_status = 1
installer = ModuleBuild
[Prereqs] [Prereqs]
Mojolicious = 3.33 Mojolicious = 5.81
Template = 2.18 Template = 2.18
[Prereqs / TestRequires ]
Test::More = 0
[MetaResources]
bugtracker.web = https://github.com/plicease/mojox-renderer-tt/issues
repository.web = http://github.com/plicease/mojox-renderer-tt
repository.url = git://github.com/plicease/mojox-renderer-tt.git
repository.type = git
[CheckChangeLog]
[Test::Compile]
[HasVersionTests]
[MetaTests]
[Author::Plicease::Thanks] [Author::Plicease::Thanks]
current = Graham Ollis <plicease@cpan.org> current = Graham Ollis <plicease@cpan.org>
original = Ask Bjørn Hansen original = Ask Bjørn Hansen
@@ -54,3 +41,28 @@ contributor = uwisser
[MetaNoIndex] [MetaNoIndex]
directory = example directory = example
[RemovePrereqs]
; comes with Perl
remove = warnings
remove = strict
remove = lib
remove = utf8
remove = base
remove = Carp
remove = Cwd
remove = File::Spec
remove = Scalar::Util
remove = File::Temp
remove = FindBin
remove = IO::Handle
; comes with Mojolicious
remove = Mojo::Base
remove = Mojo::ByteStream
remove = Mojolicious::Plugin
remove = Mojo::IOLoop
remove = Mojolicious::Lite
remove = Test::Mojo
[Author::Plicease::InstallerPerlVersion]
+7 -8
View File
@@ -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;
+37 -7
View File
@@ -1,5 +1,6 @@
use strict; use strict;
use warnings; use warnings;
use Config;
use Test::More tests => 1; use Test::More tests => 1;
BEGIN { BEGIN {
my @modules; my @modules;
@@ -10,14 +11,23 @@ BEGIN {
} || die $@; } || die $@;
do { do {
my $fh; my $fh;
open($fh, '<', File::Spec->catfile($FindBin::Bin, '00_diag.pre.txt')); if(open($fh, '<', File::Spec->catfile($FindBin::Bin, '00_diag.pre.txt')))
{
@modules = <$fh>; @modules = <$fh>;
close $fh; close $fh;
chomp @modules; chomp @modules;
}
}; };
eval qq{ require $_ } for @modules; eval qq{ require $_ } for @modules;
}; };
sub spacer ()
{
diag '';
diag '';
diag '';
}
pass 'okay'; pass 'okay';
my @modules; my @modules;
@@ -33,9 +43,30 @@ my $max = 1;
$max = $_ > $max ? $_ : $max for map { length $_ } @modules; $max = $_ > $max ? $_ : $max for map { length $_ } @modules;
our $format = "%-${max}s %s"; our $format = "%-${max}s %s";
diag ''; spacer;
diag '';
diag ''; my @keys = sort grep /(MOJO|PERL|\A(LC|HARNESS)_|\A(SHELL|LANG)\Z)/i, keys %ENV;
if(@keys > 0)
{
diag "$_=$ENV{$_}" for @keys;
if($ENV{PERL5LIB})
{
spacer;
diag "PERL5LIB path";
diag $_ for split $Config{path_sep}, $ENV{PERL5LIB};
}
elsif($ENV{PERLLIB})
{
spacer;
diag "PERLLIB path";
diag $_ for split $Config{path_sep}, $ENV{PERLLIB};
}
spacer;
}
diag sprintf $format, 'perl ', $^V; diag sprintf $format, 'perl ', $^V;
@@ -56,6 +87,5 @@ foreach my $module (@modules)
} }
} }
diag ''; spacer;
diag '';
diag '';
+1 -18
View File
@@ -1,24 +1,7 @@
Carp
Cwd
EV EV
ExtUtils::MakeMaker Module::Build
File::Spec
File::Temp
FindBin
IO::Handle
IPC::Open3
Mojo::Base
Mojo::ByteStream
Mojo::IOLoop
Mojolicious Mojolicious
Mojolicious::Lite
Mojolicious::Plugin
POSIX POSIX
Scalar::Util
Template Template
Template::Provider Template::Provider
Test::CPAN::Meta
Test::Mojo
Test::More Test::More
lib
utf8
-69
View File
@@ -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 + % %]
-12
View File
@@ -1,12 +0,0 @@
#!perl -T
use strict;
use warnings;
use Test::More;
# Ensure a recent version of Test::Pod
my $min_tp = 1.22;
eval "use Test::Pod $min_tp";
plan skip_all => "Test::Pod $min_tp required for testing POD" if $@;
all_pod_files_ok();
+1 -1
View File
@@ -24,7 +24,7 @@ BEGIN { $ENV{MOJO_TMPDIR} ||= tempdir( CLEANUP => 1) }
# Make sure sockets are working # Make sure sockets are working
plan skip_all => 'working sockets required for this test!' plan skip_all => 'working sockets required for this test!'
unless Mojo::IOLoop->new->generate_port; unless Mojo::IOLoop::Server->new->generate_port;
plan tests => 6; plan tests => 6;
# Leela: OK, this has gotta stop. I'm going to remind Fry of his humanity the way only a woman can. # Leela: OK, this has gotta stop. I'm going to remind Fry of his humanity the way only a woman can.
+1 -1
View File
@@ -5,5 +5,5 @@ use Test::More tests => 1;
SKIP: { SKIP: {
eval q{ use Dist::Zilla::PluginBundle::Author::Plicease }; eval q{ use Dist::Zilla::PluginBundle::Author::Plicease };
skip '[@Plicease] is not installed', 1 if $@; skip '[@Plicease] is not installed', 1 if $@;
ok $Dist::Zilla::PluginBundle::Author::Plicease::VERSION >= 0.7, '[@Plicease] >= 0.7'; ok $Dist::Zilla::PluginBundle::Author::Plicease::VERSION >= 1.45, '[@Plicease] >= 1.45';
} }
+2 -1
View File
@@ -3,7 +3,7 @@ use warnings;
use Test::More; use Test::More;
BEGIN { BEGIN {
plan skip_all => 'test requires Test::Fixme' plan skip_all => 'test requires Test::Fixme'
unless eval q{ use Test::Fixme; 1 }; unless eval q{ use Test::Fixme 0.14; 1 };
}; };
use Test::Fixme 0.07; use Test::Fixme 0.07;
use FindBin; use FindBin;
@@ -14,5 +14,6 @@ chdir(File::Spec->catdir($FindBin::Bin, File::Spec->updir, File::Spec->updir));
run_tests( run_tests(
match => qr/FIXME/, match => qr/FIXME/,
where => [ grep { -e $_ } qw( bin lib t Makefile.PL )], where => [ grep { -e $_ } qw( bin lib t Makefile.PL )],
warn => 1,
); );
+5
View File
@@ -20,11 +20,16 @@ my $config;
$config = LoadFile($config_filename) $config = LoadFile($config_filename)
if -r $config_filename; if -r $config_filename;
plan skip_all => 'disabled' if $config->{pod_coverage}->{skip};
chdir(File::Spec->catdir($FindBin::Bin, File::Spec->updir, File::Spec->updir)); chdir(File::Spec->catdir($FindBin::Bin, File::Spec->updir, File::Spec->updir));
my @private_classes; my @private_classes;
my %private_methods; my %private_methods;
push @{ $config->{pod_coverage}->{private} },
'Alien::.*::Install::Files#Inline';
foreach my $private (@{ $config->{pod_coverage}->{private} }) foreach my $private (@{ $config->{pod_coverage}->{private} })
{ {
my($class,$method) = split /#/, $private; my($class,$method) = split /#/, $private;
+12
View File
@@ -4,11 +4,23 @@ use Test::More;
BEGIN { BEGIN {
plan skip_all => 'test requires Test::Pod::Spelling::CommonMistakes' plan skip_all => 'test requires Test::Pod::Spelling::CommonMistakes'
unless eval q{ use Test::Pod::Spelling::CommonMistakes; 1 }; unless eval q{ use Test::Pod::Spelling::CommonMistakes; 1 };
plan skip_all => 'test requires YAML'
unless eval q{ use YAML qw( LoadFile ); 1 };
}; };
use Test::Pod::Spelling::CommonMistakes; use Test::Pod::Spelling::CommonMistakes;
use FindBin; use FindBin;
use File::Spec; use File::Spec;
my $config_filename = File::Spec->catfile(
$FindBin::Bin, 'release.yml'
);
my $config;
$config = LoadFile($config_filename)
if -r $config_filename;
plan skip_all => 'disabled' if $config->{pod_spelling_common}->{skip};
chdir(File::Spec->catdir($FindBin::Bin, File::Spec->updir, File::Spec->updir)); chdir(File::Spec->catdir($FindBin::Bin, File::Spec->updir, File::Spec->updir));
# FIXME test files in bin too. # FIXME test files in bin too.
+62
View File
@@ -20,6 +20,8 @@ my $config;
$config = LoadFile($config_filename) $config = LoadFile($config_filename)
if -r $config_filename; if -r $config_filename;
plan skip_all => 'disabled' if $config->{pod_spelling_system}->{skip};
chdir(File::Spec->catdir($FindBin::Bin, File::Spec->updir, File::Spec->updir)); chdir(File::Spec->catdir($FindBin::Bin, File::Spec->updir, File::Spec->updir));
add_stopwords(@{ $config->{pod_spelling_system}->{stopwords} }); add_stopwords(@{ $config->{pod_spelling_system}->{stopwords} });
@@ -29,6 +31,7 @@ all_pod_files_spelling_ok;
__DATA__ __DATA__
Plicease Plicease
stdout stdout
stderr
stdin stdin
subref subref
loopback loopback
@@ -37,3 +40,62 @@ os
Ollis Ollis
Mojolicious Mojolicious
plicease plicease
CPAN
reinstall
TODO
filename
filenames
login
callback
callbacks
standalone
VMS
hostname
hostnames
TCP
UDP
IP
API
MSWin32
OpenBSD
FreeBSD
NetBSD
unencrypted
WebSocket
WebSockets
timestamp
timestamps
poney
BackPAN
portably
RedHat
AIX
BSD
XS
FFI
perlish
optimizations
subdirectory
RESTful
SQLite
JavaScript
dir
plugins
munge
jQuery
namespace
PDF
PDFs
usernames
DBI
pluggable
APIs
SSL
JSON
YAML
uncommented
Solaris
OpenVMS
URI
URL
CGI
+63
View File
@@ -0,0 +1,63 @@
use strict;
use warnings;
use Test::More;
BEGIN { plan skip_all => 'test requires Test::Vars ' unless eval q{ use Test::Vars; 1 } }
BEGIN { plan skip_all => 'test requires Path::Class' unless eval q{ use Path::Class::Dir; 1 } }
BEGIN { plan skip_all => 'test requires YAML' unless eval q{ use YAML; 1 } }
my $dir = Path::Class::Dir->new(__FILE__)->parent->parent->parent;
my $config = YAML::LoadFile($dir->file(qw( xt release release.yml )));
plan skip_all => 'disabled' unless defined $config->{unused_vars}->{skip} && !$config->{unused_vars}->{skip};
my @modules;
recurse($dir->subdir('lib'));
sub recurse
{
my $dir = shift;
foreach my $child ($dir->children)
{
if($child->is_dir)
{
recurse($child);
}
else
{
push @modules, $child if $child->basename =~ /\.pm$/;
}
}
}
plan tests => scalar @modules;
my %global = (
ignore_vars => { map { $_ => 1 } @{ $config->{unused_vars}->{global}->{ignore_vars} } },
);
if(defined $config->{unused_vars}->{global}->{ignore_if})
{
$global{ignore_if} = eval $config->{unused_vars}->{global}->{ignore_if};
die $@ if $@;
}
foreach my $file (@modules)
{
my @mod = $file->components;
shift @mod; # get rid of '.';
shift @mod; # get rid of 'lib';
$mod[-1] =~ s/\.pm$//;
my $mod = join '::', @mod;
my %local = %global;
foreach my $ignore (@{ $config->{unused_vars}->{module}->{$mod}->{ignore_vars} || []})
{
$local{ignore_vars}->{$ignore} = 1;
}
if(defined $config->{unused_vars}->{module}->{$mod}->{ignore_if})
{
$local{ignore_if} = eval $config->{unused_vars}->{module}->{$mod}->{ignore_if};
die $@ if $@;
}
vars_ok($file, %local);
}