[Catalyst-commits] r8932 - in Catalyst-Runtime/5.80/trunk: . lib
lib/Catalyst t t/lib
t0m at dev.catalyst.perl.org
t0m at dev.catalyst.perl.org
Sun Dec 21 15:41:42 GMT 2008
Author: t0m
Date: 2008-12-21 15:41:42 +0000 (Sun, 21 Dec 2008)
New Revision: 8932
Modified:
Catalyst-Runtime/5.80/trunk/Changes
Catalyst-Runtime/5.80/trunk/TODO
Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm
Catalyst-Runtime/5.80/trunk/lib/Catalyst/ClassData.pm
Catalyst-Runtime/5.80/trunk/t/cdi_backcompat_plugin_accessor_override.t
Catalyst-Runtime/5.80/trunk/t/lib/CDICompatTestPlugin.pm
Log:
Fix the CDI issue, Plugin::Auth's tests now blow up a different way..
Modified: Catalyst-Runtime/5.80/trunk/Changes
===================================================================
--- Catalyst-Runtime/5.80/trunk/Changes 2008-12-21 14:30:19 UTC (rev 8931)
+++ Catalyst-Runtime/5.80/trunk/Changes 2008-12-21 15:41:42 UTC (rev 8932)
@@ -1,5 +1,9 @@
# This file documents the revision history for Perl extension Catalyst.
+ - Fix Catalyst::Plugin::Authentication's authentication
+ plugin backwards compatibility issues by fixing
+ Class::Data::Inheritable compatibility (t0m)
+ - Test for this (t0m)
- Fix bug causing Catalyst::Request::Upload's basename method
to return undef (t0m)
- Test for this (Carl Franks)
Modified: Catalyst-Runtime/5.80/trunk/TODO
===================================================================
--- Catalyst-Runtime/5.80/trunk/TODO 2008-12-21 14:30:19 UTC (rev 8931)
+++ Catalyst-Runtime/5.80/trunk/TODO 2008-12-21 15:41:42 UTC (rev 8932)
@@ -4,12 +4,26 @@
- Adopt::NEXT
- updated docs with how to disable it (t0m/rafl)
-Known issues:
+Back-compat investigation / konwon issues:
- - Fix t/cdi_backcompat_plugin_accessor_override.t - Catalyst::ClassData
- doesn't emulate Class::Data::Inheritable by crapping on the symbol table
- of the top level MyApp class, which causes back-compat fail.
+ - Find out why C::P::A's test suite causes the 'stack' attributes
+ default method to not be called. (new not being run??)
+ - Common engine test failures, look into and get tests into core.
+
+ - CatalystX-Imports, Class::MOP doesn't consider anon subs in the symbol
+ table as methods, tests + fix, or explanation and documentation?
+ (rafl & phaylon)
+
+ - Run another round of repository smokes against latest 5.80 trunk, manually
+ go through all the things which are broken (t0m).
+
+ - Issues with TWMC not being loaded when it used to be in 5.70
+ (Bill Moseley)
+
+ - Fix memory leaks (I already tried Devel::Leak::Object, but no joy).
+
+
Cleanups:
- Catalyst-Plugin-Authorization-ACL, Can't locate object method "tree"
@@ -47,22 +61,6 @@
- vs 5.70 and optimisation as needed.
-Back-compat investigation:
-
- - Common engine test failures, look into and get tests into core.
-
- - CatalystX-Imports, Class::MOP doesn't consider anon subs in the symbol
- table as methods, tests + fix, or explanation and documentation?
- (rafl & phaylon)
-
- - Run another round of repository smokes against latest 5.80 trunk, manually
- go through all the things which are broken (t0m).
-
- - Issues with TWMC not being loaded when it used to be in 5.70
- (Bill Moseley)
-
- - Fix memory leaks (I already tried Devel::Leak::Object, but no joy).
-
Tests:
- Moosified test application?
Modified: Catalyst-Runtime/5.80/trunk/lib/Catalyst/ClassData.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst/ClassData.pm 2008-12-21 14:30:19 UTC (rev 8931)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst/ClassData.pm 2008-12-21 15:41:42 UTC (rev 8932)
@@ -29,6 +29,13 @@
return ${$v};
} else {
foreach my $super ( $meta->linearized_isa ) {
+ # If there is a code symbol for this attr in a parent class,
+ # then copy it into our package. Is this the correct
+ # fix for C::D::I back-compat? (t0m)
+ my $parent_symbol = *{"${super}::${attribute}"}{CODE} ? \&{"${super}::${attribute}"} : undef;
+ if (defined $parent_symbol) {
+ *{"${pkg}::${attribute}"} = $parent_symbol;
+ }
# tighter version of same after
# my $super_meta = Moose::Meta::Class->initialize($super);
my $v = ${"${super}::"}{$attribute} ? *{"${super}::${attribute}"}{SCALAR} : undef;
Modified: Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm 2008-12-21 14:30:19 UTC (rev 8931)
+++ Catalyst-Runtime/5.80/trunk/lib/Catalyst.pm 2008-12-21 15:41:42 UTC (rev 8932)
@@ -34,7 +34,8 @@
BEGIN { require 5.008001; }
-has stack => (is => 'rw', default => sub { [] });
+# FIXME lazy => 1 here makes C::P::Auth tests pass?!?
+has stack => (is => 'ro', default => sub { [] });
has stash => (is => 'rw', default => sub { {} });
has state => (is => 'rw', default => 0);
has stats => (is => 'rw');
Modified: Catalyst-Runtime/5.80/trunk/t/cdi_backcompat_plugin_accessor_override.t
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/cdi_backcompat_plugin_accessor_override.t 2008-12-21 14:30:19 UTC (rev 8931)
+++ Catalyst-Runtime/5.80/trunk/t/cdi_backcompat_plugin_accessor_override.t 2008-12-21 15:41:42 UTC (rev 8932)
@@ -24,9 +24,7 @@
__PACKAGE__->config;
}
-TODO: {
- local $TODO = 'The overridden setup in CDICompatTestApp + the overridden accessor causes destruction';
- lives_ok {
- CDICompatTestApp->setup;
- } 'Setup app with plugins which says use base qw/Class::Accessor::Fast/';
-}
+lives_ok {
+ CDICompatTestApp->setup;
+} 'Setup app with plugins which says use base qw/Class::Accessor::Fast/';
+
Modified: Catalyst-Runtime/5.80/trunk/t/lib/CDICompatTestPlugin.pm
===================================================================
--- Catalyst-Runtime/5.80/trunk/t/lib/CDICompatTestPlugin.pm 2008-12-21 14:30:19 UTC (rev 8931)
+++ Catalyst-Runtime/5.80/trunk/t/lib/CDICompatTestPlugin.pm 2008-12-21 15:41:42 UTC (rev 8932)
@@ -15,13 +15,14 @@
use strict;
use warnings;
use base qw/Class::Accessor::Fast/;
+use MRO::Compat;
__PACKAGE__->mk_accessors(qw/_config/);
sub setup {
my $app = shift;
$app->config;
- $app->NEXT::setup(@_);
+ $app->next::method(@_);
}
1;
More information about the Catalyst-commits
mailing list