summaryrefslogtreecommitdiff
path: root/t/lib/Test/SubExporter/s_e.pm
diff options
context:
space:
mode:
Diffstat (limited to 't/lib/Test/SubExporter/s_e.pm')
-rw-r--r--t/lib/Test/SubExporter/s_e.pm38
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";