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};
13 use Mouse::Meta::Role::Application;
14 use Mouse::Meta::Role::Composite;
20 override foo => sub { 'Role::Foo::foo' };
25 override bar => sub { 'Role::Bar::bar' };
27 package Role::FooConflict;
30 override foo => sub { 'Role::FooConflict::foo' };
32 package Role::FooMethodConflict;
35 sub foo { 'Role::FooConflict::foo' }
37 package Role::BarMethodConflict;
40 sub bar { 'Role::BarConflict::bar' }
43 # test simple overrides
45 my $c = Mouse::Meta::Role::Composite->new(
51 isa_ok($c, 'Mouse::Meta::Role::Composite');
53 is($c->name, 'Role::Foo|Role::Bar', '... got the composite role name');
56 Mouse::Meta::Role::Application->new->apply($c);
57 } '... this lives ok';
60 [ sort $c->get_method_modifier_list('override') ],
62 '... got the right list of methods'
66 # test simple overrides w/ conflicts
68 Mouse::Meta::Role::Application->new->apply(
69 Mouse::Meta::Role::Composite->new(
72 Role::FooConflict->meta,
76 } '... this fails as expected';
78 # test simple overrides w/ conflicts
80 Mouse::Meta::Role::Application->new->apply(
81 Mouse::Meta::Role::Composite->new(
84 Role::FooMethodConflict->meta,
88 } '... this fails as expected';
91 # test simple overrides w/ conflicts
93 Mouse::Meta::Role::Application->new->apply(
94 Mouse::Meta::Role::Composite->new(
98 Role::FooConflict->meta,
102 } '... this fails as expected';
105 # test simple overrides w/ conflicts
107 Mouse::Meta::Role::Application->new->apply(
108 Mouse::Meta::Role::Composite->new(
112 Role::FooMethodConflict->meta,
116 } '... this fails as expected';