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 |
25 | );\r |
26 | \r |
27 | sub bar{ 200 }\r |
28 | \r |
29 | $INC{'MyMouseEx.pm'}++;\r |
30 | }\r |
31 | \r |
32 | can_ok 'MyMouse', qw(import unimport);\r |
33 | can_ok 'MyMouseEx', qw(import unimport);\r |
34 | \r |
35 | {\r |
36 | package MyApp;\r |
37 | use Test::More;\r |
38 | use MyMouse;\r |
39 | \r |
40 | can_ok __PACKAGE__, 'meta';\r |
41 | ok defined(&foo), 'foo is imported';\r |
42 | ok defined(&has), 'has is also imported';\r |
43 | \r |
44 | no MyMouse;\r |
45 | \r |
46 | ok !defined(&foo), 'foo is unimported';\r |
47 | ok !defined(&has), 'has is also unimported';\r |
48 | }\r |
49 | {\r |
50 | package MyAppEx;\r |
51 | use Test::More;\r |
52 | use MyMouseEx;\r |
53 | \r |
54 | can_ok __PACKAGE__, 'meta';\r |
55 | ok defined(&foo), 'foo is imported';\r |
56 | ok defined(&bar), 'foo is also imported';\r |
57 | ok defined(&has), 'has is also imported';\r |
58 | \r |
59 | no MyMouseEx;\r |
60 | \r |
61 | ok !defined(&foo), 'foo is unimported';\r |
62 | ok !defined(&bar), 'foo is also unimported';\r |
63 | ok !defined(&has), 'has is also unimported';\r |
64 | }\r |