1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
#!/usr/bin/perl
use strict;
use warnings;
use Test::More;
BEGIN {
use_ok( 'Devel::Declare::Parser::Sublike' );
use_ok( 'Devel::Declare::Parser::Codeblock' );
use_ok( 'Devel::Declare::Parser::Method' );
Devel::Declare::Interface::enhance( 'main', $_->[0], $_->[1] )
for [ 'sl', 'sublike' ],
[ 'cb', 'codeblock' ],
[ 'mth', 'method' ],
}
sub
sl {
$_[-1]->();
}
sub cb {
$_[-1]->();
}
sub mth {
$_[-1]->( 'self' );
}
sub beg {
$_[-1]->();
};
our %ran;
sl a {
$ran{sl}++;
}
sl {
$ran{sl}++;
}
cb {
$ran{cd}++;
}
mth a {
is( $self, 'self', "got self" );
$ran{mth}++;
}
is( $ran{sl}, 2, "ran sl twice" );
ok( $ran{cd}, "ran cd" );
ok( $ran{mth}, "ran mth" );
done_testing();
|