2 # This is automatically generated by author/import-moose-test.pl.
3 # DO NOT EDIT THIS FILE. ANY CHANGES WILL BE LOST!!!
4 use t::lib::MooseCompat;
10 $TODO = q{Mouse is not yet completed};
22 bless { no_moose => "Elk" } => $class;
25 sub no_moose { $_[0]->{no_moose} }
32 has 'moose' => ( is => 'ro', default => 'Foo' );
36 my $super = $class->SUPER::new(@_);
37 return $class->meta->new_object( '__INSTANCE__' => $super, @_ );
40 __PACKAGE__->meta->make_immutable( inline_constructor => 0, debug => 0 );
43 use metaclass 'Mouse::Meta::Class';
45 __PACKAGE__->meta->add_attribute(
46 'squeegee' => ( accessor => 'squeegee' ) );
48 package Old::Bucket::Nose;
50 # see http://www.moosefoundation.org/moose_facts.htm
58 package Custom::Meta1;
59 use base qw(Mouse::Meta::Class);
61 package Custom::Meta2;
62 use base qw(Mouse::Meta::Class);
65 use metaclass 'Custom::Meta1';
71 use metaclass 'Custom::Meta2';
74 # XXX FIXME subclassing meta-attrs and immutable-ing the subclass fails
77 my $foo_moose = Foo::Mouse->new();
78 isa_ok( $foo_moose, 'Foo::Mouse' );
79 isa_ok( $foo_moose, 'Elk' );
81 is( $foo_moose->no_moose, 'Elk',
82 '... got the right value from the Elk method' );
83 is( $foo_moose->moose, 'Foo',
84 '... got the right value from the Foo::Mouse method' );
87 Old::Bucket::Nose->meta->make_immutable( debug => 0 );
89 'Immutability on Mouse class extending Mouse::Meta class ok';
92 SubClass2->meta->superclasses('MyBase');
94 'Can subclass the same non-Mouse class twice with different metaclasses';