summaryrefslogtreecommitdiff
path: root/t/lib/Test/SubExporter/DashSetup.pm
diff options
context:
space:
mode:
Diffstat (limited to 't/lib/Test/SubExporter/DashSetup.pm')
-rw-r--r--t/lib/Test/SubExporter/DashSetup.pm35
1 files changed, 35 insertions, 0 deletions
diff --git a/t/lib/Test/SubExporter/DashSetup.pm b/t/lib/Test/SubExporter/DashSetup.pm
new file mode 100644
index 0000000..3425322
--- /dev/null
+++ b/t/lib/Test/SubExporter/DashSetup.pm
@@ -0,0 +1,35 @@
+#!perl
+package Test::SubExporter::DashSetup;
+
+use strict;
+use warnings;
+
+use Sub::Exporter -setup => {
+ exports => {
+ xyzzy => undef,
+ hello_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";