changelog for RT#99102 fix
[p5sagit/Devel-Declare.git] / t / proto.t
CommitLineData
0ba8c7aa 1use strict;
2use warnings;
b52072dc 3use Test::More;
0ba8c7aa 4
5sub fun :lvalue { return my $sv; }
6
7sub X { "what?" }
8
9sub handle_fun {
9026391e 10 my ($usepack, $use, $inpack, $name, $proto) = @_;
0ba8c7aa 11 my $XX = sub (&) {
12 my $cr = $_[0];
13 return sub {
14 return join(': ', $proto, $cr->());
15 };
16 };
17 return (undef, $XX);
18}
19
20use Devel::Declare;
21use Devel::Declare fun => [ DECLARE_PROTO, \&handle_fun ];
22
23my $foo = fun ($a, $b) { "woot" };
24
25is($foo->(), '$a, $b: woot', 'proto declarator ok');
26is(X(), 'what?', 'X sub restored ok');
b52072dc 27
28done_testing;