/usr/share/doc/perl-Sub-Exporter/t
#!/usr/bin/perl -T use strict; use warnings; =head1 TEST PURPOSE These tests exercise the handling of collections in the exporter option lists. =cut use Test::More tests => 3; use Data::OptList qw(mkopt_hash); BEGIN { use_ok('Sub::Exporter'); } sub is_defined { my ($class, $value, $arg) = @_; return defined $value; } my $counter = 0; my $config = { exports => [ qw(circsaw drill handsaw nailgun) ], collectors => [ INIT => sub { my ($value, $arg) = @_; return 0 if @{$arg->{import_args}}; # in other words, fail if args $_[0] = [ $counter++ ]; return 1; }, ] }; $config->{$_} = mkopt_hash($config->{$_}) for qw(exports collectors); { my $collection = Sub::Exporter::_collect_collections( $config, [ ], 'main', ); is_deeply( $collection, { INIT => [ 0 ] }, "collection returned properly from collector", ); } { my $collection = eval { Sub::Exporter::_collect_collections( $config, [ [ handsaw => undef ] ], 'main', ); }; like( $@, qr/INIT failed/, "the init collector is run even when other things are here", ); }
.
Edit
..
Edit
00-compile.t
Edit
000-report-versions-tiny.t
Edit
col-init.t
Edit
collection.t
Edit
expand-group.t
Edit
faux-export.t
Edit
gen-callable.t
Edit
group-generator.t
Edit
inherited.t
Edit
into-level.t
Edit
lib
Edit
real-export-groupgen.t
Edit
real-export-href.t
Edit
real-export-setup.t
Edit
util-curry.t
Edit
util-currychain.t
Edit
util-like.t
Edit
util-merge.t
Edit
util-mixin.t
Edit
util-namemap.t
Edit
valid-config.t
Edit