Commit | Line | Data |
94caac6e |
1 | use strict; |
2 | use warnings; |
974f5442 |
3 | use Test::More 'no_plan'; |
94caac6e |
4 | |
5 | sub method { |
9026391e |
6 | my ($usepack, $name, $inpack, $sub) = @_; |
94caac6e |
7 | no strict 'refs'; |
9026391e |
8 | *{"${inpack}::${name}"} = $sub; |
94caac6e |
9 | } |
10 | |
0ba8c7aa |
11 | sub handle_method { |
9026391e |
12 | my ($usepack, $use, $inpack, $name) = @_; |
13 | return sub (&) { ($usepack, $name, $inpack, $_[0]); }; |
0ba8c7aa |
14 | } |
15 | |
16 | use Devel::Declare 'method' => \&handle_method; |
94caac6e |
17 | |
c630715a |
18 | my ($args1, $args2); |
19 | |
94caac6e |
20 | method bar { |
c630715a |
21 | $args1 = join(', ', @_); |
22 | }; |
23 | |
24 | method # blather |
25 | baz |
26 | # whee |
53e3ab32 |
27 | { # fweet |
c630715a |
28 | $args2 = join(', ', @_); |
94caac6e |
29 | }; |
30 | |
c630715a |
31 | __PACKAGE__->bar(qw(1 2)); |
32 | __PACKAGE__->baz(qw(3 4)); |
33 | |
34 | is($args1, 'main, 1, 2', 'Method bar args ok'); |
35 | is($args2, 'main, 3, 4', 'Method baz args ok'); |
0ba8c7aa |
36 | |