X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FCDICompatTestPlugin.pm;h=78d471ae727c40f0e73492598308616c70e00a52;hb=4e45fa288ea80bf2a4587dd2278c784286aafdc3;hp=43b4270e7c0c827be59dc79e13cc372d3b511ab5;hpb=85781ad7ed72409d08127c0c23610ecb2de5663a;p=catagits%2FCatalyst-Runtime.git diff --git a/t/lib/CDICompatTestPlugin.pm b/t/lib/CDICompatTestPlugin.pm index 43b4270..78d471a 100644 --- a/t/lib/CDICompatTestPlugin.pm +++ b/t/lib/CDICompatTestPlugin.pm @@ -8,20 +8,35 @@ package CDICompatTestPlugin; # stuff, as C::A::Plugin::Credential::Password is added to the plugin # list, and that uses base C::A::C::P class, does the mk_accessors. -# If a class data method called _config hasn't been created in +# If a class data method called _config hasn't been created in # MyApp ($app below), then our call to ->config gets our accessor # (rather than the class data one), and we fail.. 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(@_); +} + +# 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::HAS_RUN_SETUP_FINISHED = 1; + $app->next::method(@_); } 1;