5 package t::moo::extends_non_moo::base;
8 my ($proto, $args) = @_;
16 package t::moo::extends_non_moo::middle;
17 use base qw(t::moo::extends_non_moo::base);
20 my($class, $app) = @_;
21 $class->new({app => $app})
25 package t::moo::extends_non_moo::moo;
27 extends 't::moo::extends_non_moo::middle';
29 package t::moo::extends_non_moo::moo_with_attr;
31 extends 't::moo::extends_non_moo::middle';
32 has 'attr' => (is=>'ro');
38 ok $app = t::moo::extends_non_moo::middle->wrap($app),
44 ok $app = t::moo::extends_non_moo::moo->wrap($app),
50 ok $app = t::moo::extends_non_moo::moo_with_attr->wrap($app),