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};
11 use Test::Mouse qw(does_ok);
14 package Foo::Trait::Class;
19 package Foo::Trait::Attribute;
24 package Foo::Role::Base;
29 package Foo::Exporter;
32 Mouse::Exporter->setup_import_methods(
34 class => ['Foo::Trait::Class'],
35 attribute => ['Foo::Trait::Attribute'],
37 role_metaroles => { role => ['Foo::Trait::Class'] },
38 base_class_roles => ['Foo::Role::Base'],
45 Foo::Exporter->import;
47 has foo => (is => 'ro');
49 ::does_ok(Foo->meta, 'Foo::Trait::Class');
50 ::does_ok(Foo->meta->get_attribute('foo'), 'Foo::Trait::Attribute');
51 ::does_ok('Foo', 'Foo::Role::Base');
55 package Foo::Exporter::WithMouse;
59 my ( $import, $unimport, $init_meta )
60 = Mouse::Exporter->build_import_methods(
63 class => ['Foo::Trait::Class'],
64 attribute => ['Foo::Trait::Attribute'],
66 base_class_roles => ['Foo::Role::Base'],
67 install => [qw(import unimport)],
73 ::pass('custom init_meta was called');
74 Mouse->init_meta(%options);
75 return $package->$init_meta(%options);
81 Foo::Exporter::WithMouse->import;
83 has(foo => (is => 'ro'));
85 ::isa_ok('Foo2', 'Mouse::Object');
86 ::isa_ok(Foo2->meta, 'Mouse::Meta::Class');
87 ::does_ok(Foo2->meta, 'Foo::Trait::Class');
88 ::does_ok(Foo2->meta->get_attribute('foo'), 'Foo::Trait::Attribute');
89 ::does_ok('Foo2', 'Foo::Role::Base');
95 Foo::Exporter->import;
97 ::does_ok(Foo::Role->meta, 'Foo::Trait::Class');
101 package Foo::Exporter::WithMouseRole;
105 my ( $import, $unimport, $init_meta )
106 = Mouse::Exporter->build_import_methods(
107 also => 'Mouse::Role',
109 role => ['Foo::Trait::Class'],
110 attribute => ['Foo::Trait::Attribute'],
112 install => [qw(import unimport)],
118 ::pass('custom init_meta was called');
119 Mouse::Role->init_meta(%options);
120 return $package->$init_meta(%options);
126 Foo::Exporter::WithMouseRole->import;
128 ::isa_ok(Foo2::Role->meta, 'Mouse::Meta::Role');
129 ::does_ok(Foo2::Role->meta, 'Foo::Trait::Class');