Commit | Line | Data |
82657d71 |
1 | #!perl\r |
2 | use strict;\r |
3 | use warnings;\r |
4 | use Test::More tests => 14;\r |
5 | \r |
6 | use Mouse ();\r |
7 | \r |
8 | BEGIN{\r |
9 | package MyMouse;\r |
10 | use Mouse;\r |
11 | Mouse::Exporter->setup_import_methods(\r |
12 | as_is => [qw(foo)],\r |
13 | also => [qw(Mouse)],\r |
14 | );\r |
15 | \r |
16 | sub foo{ 100 }\r |
17 | \r |
18 | $INC{'MyMouse.pm'}++;\r |
19 | \r |
20 | package MyMouseEx;\r |
21 | use Mouse;\r |
22 | Mouse::Exporter->setup_import_methods(\r |
23 | as_is => [\&bar],\r |
24 | also => [qw(MyMouse)],\r |
8cbcbb47 |
25 | \r |
26 | # groups => {\r |
27 | # foobar_only => [qw(foo bar)],\r |
28 | # },\r |
82657d71 |
29 | );\r |
30 | \r |
31 | sub bar{ 200 }\r |
32 | \r |
33 | $INC{'MyMouseEx.pm'}++;\r |
34 | }\r |
35 | \r |
36 | can_ok 'MyMouse', qw(import unimport);\r |
37 | can_ok 'MyMouseEx', qw(import unimport);\r |
38 | \r |
39 | {\r |
40 | package MyApp;\r |
41 | use Test::More;\r |
42 | use MyMouse;\r |
43 | \r |
44 | can_ok __PACKAGE__, 'meta';\r |
45 | ok defined(&foo), 'foo is imported';\r |
46 | ok defined(&has), 'has is also imported';\r |
47 | \r |
48 | no MyMouse;\r |
49 | \r |
50 | ok !defined(&foo), 'foo is unimported';\r |
51 | ok !defined(&has), 'has is also unimported';\r |
52 | }\r |
53 | {\r |
54 | package MyAppEx;\r |
55 | use Test::More;\r |
56 | use MyMouseEx;\r |
57 | \r |
58 | can_ok __PACKAGE__, 'meta';\r |
59 | ok defined(&foo), 'foo is imported';\r |
60 | ok defined(&bar), 'foo is also imported';\r |
61 | ok defined(&has), 'has is also imported';\r |
62 | \r |
63 | no MyMouseEx;\r |
64 | \r |
65 | ok !defined(&foo), 'foo is unimported';\r |
66 | ok !defined(&bar), 'foo is also unimported';\r |
67 | ok !defined(&has), 'has is also unimported';\r |
68 | }\r |
8cbcbb47 |
69 | \r |
70 | # exporting groups are not implemented in Moose::Exporter\r |
71 | #{\r |
72 | # package MyAppExTags;\r |
73 | # use Test::More;\r |
74 | # use MyMouseEx qw(:foobar_only);\r |
75 | #\r |
76 | # can_ok __PACKAGE__, 'meta';\r |
77 | # ok defined(&foo);\r |
78 | # ok defined(&bar);\r |
79 | # ok!defined(&has), "export tags";\r |
80 | #}\r |
81 | \r |