diff options
Diffstat (limited to 't/lib/Test/SubExporter/s_e.pm')
-rw-r--r-- | t/lib/Test/SubExporter/s_e.pm | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/t/lib/Test/SubExporter/s_e.pm b/t/lib/Test/SubExporter/s_e.pm new file mode 100644 index 0000000..64c9932 --- /dev/null +++ b/t/lib/Test/SubExporter/s_e.pm @@ -0,0 +1,38 @@ +#!perl +package Test::SubExporter::s_e; + +use strict; +use warnings; + +use Sub::Exporter; + +Sub::Exporter::setup_exporter({ + exports => { + xyzzy => undef, + hello_sailor => \&_hs_gen, + hi_sailor => \"_hs_gen", + }, + groups => { + default => [ qw(xyzzy hello_sailor) ], + sailor => [ + xyzzy => undef, + hello_sailor => { -as => 'hs_works', game => 'zork3' }, + hello_sailor => { -as => 'hs_fails', game => 'zork1' }, + ] + }, + collectors => [ 'defaults' ], +}); + +sub xyzzy { return "Nothing happens." }; + +sub _hs_gen { + my ($class, $name, $arg, $collection) = @_; + + if (($arg->{game}||'') eq 'zork3') { + return sub { return "Something happens!" }; + } else { + return sub { return "Nothing happens yet." }; + } +} + +"y2"; |