- CatalystX-CRUD fails tests against 5.80 (karpet)
+ - Catalyst-Plugin-Authorization-ACL fails as
+ Catalyst::Dispatcher::_do_forward does not fix arguments if you throw
+ an exception. Needs a test case (Caelum)
+
+ - Catalyst::Plugin::Authentication::Store::DBIC fails as
+ overriding the setup_finished class data method in a plugin no longer
+ works correctly (see t/cdi_backcompat_accessor_override.t).
+
- Issues with TWMC not being loaded when it used to be in 5.70
(Bill Moseley)
# 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;
+ # FIXME - this is over-enthusiastic?
if (defined $parent_symbol) {
*{"${pkg}::${attribute}"} = $parent_symbol;
}
use warnings;
use lib 't/lib';
-use Test::More tests => 1;
+use Test::More tests => 2;
use Test::Exception;
# Force a stack trace.
CDICompatTestApp->setup;
} 'Setup app with plugins which says use base qw/Class::Accessor::Fast/';
+# And the plugin's setup_finished method should have been run, as accessors
+# are not created in MyApp until the data is written to.
+TODO: {
+ local $TODO = "Copying the class data accessor down into MyApp other than at runtime\n" .
+ " when assigned (as pre exact CDI behavior) causes methods to not get run';
+ no warnings 'once';
+ is $CDICompatTestPlugin::Data::HAS_RUN_SETUP_FINISHED, 1, 'Plugin setup_finish run';
+}
$app->next::method(@_);
}
+# However, if we are too enthusiastic about adding accessors to the
+# MyApp package, then this method isn't called (as there is a local
+# symbol already).
+
+# Note - use a different package here, so that Moose's
+# package detection code doesn't get confused..
+$CDICompatTestPlugin::Data::HAS_RUN_SETUP_FINISHED = 0;
+
+sub setup_finished {
+ my $app = shift;
+ $CDICompatTestPlugin::Data::AS_RUN_SETUP_FINISHED = 1;
+ $app->next::method(@_);
+}
+
1;