3 use Test::More tests => 56;
6 my @classes = qw(IO Array Hash Moose);
9 my $base = "InsideOut::Base$c";
10 my $sub = "InsideOut::Sub$c";
11 eval "require $base;1" or die $@;
12 eval "require $sub;1" or die $@;
14 my $obj = eval { $sub->new(base_foo => 17) };
15 is($@, "", "$c: no errors creating object");
17 my $get = eval { $obj->base_foo };
18 is($@, "", "$c: no errors getting attribute");
20 local $TODO = "don't clobber superclass' meta's create_instance"
22 is($get, 17, "$c: base_foo is 17");
29 is($@, "", "$c: no errors setting base class attribute");
30 is($set_base, 18, "$c: base_foo is 18");
36 is($@, "", "$c: no errors setting attribute");
37 is($set_sub, 23, "$c: sub_foo is 23");
39 # diag MooseX::InsideOut::Meta::Instance->__dump($obj);
43 $sub->meta->make_immutable(
44 inline_constructor => ($c ne 'Hash' and $c ne 'Array')
45 ), redo if $sub->meta->is_mutable;