8a917815b279810aab70401d6135501d9eb76c53
[catagits/Catalyst-Runtime.git] / t / cdi_backcompat_plugin_accessor_override.t
1 use strict;
2 use warnings;
3 use lib 't/lib';
4
5 use Test::More tests => 1;
6 use Test::Exception;
7
8 # Force a stack trace.
9 use Carp;
10 $SIG{__DIE__} = \&Carp::confess;
11
12 {
13     package CDICompatTestApp;
14     use Catalyst qw/
15             +CDICompatTestPlugin
16     /;
17     # Calling ->config here (before we call setup). With CDI/Cat 5.70 this
18     # causes *CDICompatTestApp::_config to have a class data accessor created.
19     
20     # If this doesn't happen, then later when we've added CDICompatTestPlugin
21     # to @ISA, we fail in the overridden ->setup method when we call ->config
22     # again, as we get the CAF accessor from CDICompatTestPlugin, not the one
23     # created in this package as a side-effect of this call. :-(
24     __PACKAGE__->config;
25 }
26
27 TODO: {
28     local $TODO = 'The overridden setup in CDICompatTestApp + the overridden accessor causes destruction';
29     lives_ok {
30         CDICompatTestApp->setup;
31     } 'Setup app with plugins which says use base qw/Class::Accessor::Fast/';
32 }