Date: Tue, 25 Mar 2014 10:50:41 +0000 (UTC) From: Dag-Erling Smørgrav <des@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r349120 - in head/www/p5-Catalyst-Authentication-Store-DBIx-Class: . files Message-ID: <201403251050.s2PAofpa037359@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: des Date: Tue Mar 25 10:50:41 2014 New Revision: 349120 URL: http://svnweb.freebsd.org/changeset/ports/349120 QAT: https://qat.redports.org/buildarchive/r349120/ Log: Add upstream patch for CPAN RT #90715 https://rt.cpan.org/Public/Bug/Display.html?id=90715 Approved by: maintainer timeout Added: head/www/p5-Catalyst-Authentication-Store-DBIx-Class/files/ head/www/p5-Catalyst-Authentication-Store-DBIx-Class/files/patch-c30ad9df2c49e9f51435b03182a2bf263c69d63e (contents, props changed) Modified: head/www/p5-Catalyst-Authentication-Store-DBIx-Class/Makefile Modified: head/www/p5-Catalyst-Authentication-Store-DBIx-Class/Makefile ============================================================================== --- head/www/p5-Catalyst-Authentication-Store-DBIx-Class/Makefile Tue Mar 25 10:06:55 2014 (r349119) +++ head/www/p5-Catalyst-Authentication-Store-DBIx-Class/Makefile Tue Mar 25 10:50:41 2014 (r349120) @@ -3,6 +3,7 @@ PORTNAME= Catalyst-Authentication-Store-DBIx-Class PORTVERSION= 0.1505 +PORTREVISION= 1 CATEGORIES= www perl5 MASTER_SITES= CPAN PKGNAMEPREFIX= p5- @@ -26,4 +27,6 @@ RUN_DEPENDS:= ${BUILD_DEPENDS} USES= perl5 USE_PERL5= configure +PATCH_STRIP= -p1 + .include <bsd.port.mk> Added: head/www/p5-Catalyst-Authentication-Store-DBIx-Class/files/patch-c30ad9df2c49e9f51435b03182a2bf263c69d63e ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/www/p5-Catalyst-Authentication-Store-DBIx-Class/files/patch-c30ad9df2c49e9f51435b03182a2bf263c69d63e Tue Mar 25 10:50:41 2014 (r349120) @@ -0,0 +1,91 @@ +From: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org> +Date: Sat, 23 Nov 2013 13:02:41 +0000 (+0000) +Subject: Fix calling User->can() as a class method. RT#90715 +X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FCatalyst-Authentication-Store-DBIx-Class.git;a=commitdiff_plain;h=c30ad9df2c49e9f51435b03182a2bf263c69d63e + +Fix calling User->can() as a class method. RT#90715 +--- + +diff --git a/Changes b/Changes +index 137ee33..c8babb3 100644 +--- a/Changes ++++ b/Changes +@@ -1,6 +1,7 @@ + Revision history for Catalyst-Plugin-Authentication-Store-DBIx-Class + + * Fix doc bugs. RT#87372 ++ * Fix calling User->can() as a class method. RT#90715 + + 0.1505 2013-06-10 + * Fix RT#82944 - test fails on perl >= 5.17.3 +diff --git a/lib/Catalyst/Authentication/Store/DBIx/Class/User.pm b/lib/Catalyst/Authentication/Store/DBIx/Class/User.pm +index 405ae75..18282a4 100644 +--- a/lib/Catalyst/Authentication/Store/DBIx/Class/User.pm ++++ b/lib/Catalyst/Authentication/Store/DBIx/Class/User.pm +@@ -261,7 +261,9 @@ sub can { + my $self = shift; + return $self->SUPER::can(@_) || do { + my ($method) = @_; +- if (not $self->_user) { ++ if (not ref $self) { ++ undef; ++ } elsif (not $self->_user) { + undef; + } elsif (my $code = $self->_user->can($method)) { + sub { shift->_user->$code(@_) } +@@ -279,6 +281,8 @@ sub AUTOLOAD { + (my $method) = (our $AUTOLOAD =~ /([^:]+)$/); + return if $method eq "DESTROY"; + ++ return unless ref $self; ++ + if (my $code = $self->_user->can($method)) { + return $self->_user->$code(@_); + } +diff --git a/t/10-user-autoload.t b/t/10-user-autoload.t +index 74b243d..451ee65 100644 +--- a/t/10-user-autoload.t ++++ b/t/10-user-autoload.t +@@ -1,6 +1,7 @@ + use strict; + use warnings; + use Test::More; ++use Try::Tiny; + use Catalyst::Authentication::Store::DBIx::Class::User; + + my $message = 'I exist'; +@@ -11,9 +12,10 @@ my $message = 'I exist'; + sub exists { $message } + } + ++my $class = 'Catalyst::Authentication::Store::DBIx::Class::User'; + my $o = bless({ + _user => bless({}, 'My::Test'), +-}, 'Catalyst::Authentication::Store::DBIx::Class::User'); ++}, $class); + + is($o->exists, $message, 'AUTOLOAD proxies ok'); + +@@ -23,4 +25,22 @@ is($o->$meth, $message, 'can returns right coderef'); + + is($o->can('non_existent_method'), undef, 'can on non existent method returns undef'); + ++is($o->non_existent_method, undef, 'AUTOLOAD traps non existent method'); ++ ++try { ++ is($class->can('non_existent_method'), undef, "can on non existent class method"); ++} catch { ++ my $e = $_; ++ fail('can on non existent class method'); ++ diag("Got exception: $e"); ++}; ++ ++try { ++ is($class->non_existent_method, undef, 'AUTOLOAD traps non existent class method'); ++} catch { ++ my $e = $_; ++ fail('AUTOLOAD traps non existent class method'); ++ diag("Got exception: $e"); ++}; ++ + done_testing;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201403251050.s2PAofpa037359>