/usr/share/doc/perl-Sub-Exporter/t
#!/usr/bin/perl -T use strict; use warnings; use Test::More tests => 8; BEGIN { use_ok("Sub::Exporter"); } BEGIN { package Thing; BEGIN { main::use_ok("Sub::Exporter::Util", 'merge_col'); } use Sub::Exporter -setup => { collectors => [ qw(defaults etc) ], exports => { merge_col( defaults => { stack => sub { my @x = @_; sub { return @x } }, kcats => \'_kcats_gen', }, empty => { bogus => sub { my @x = @_; sub { return @x } }, klame => sub { my @x = @_; sub { return @x } }, }, etc => { other => sub { my @x = @_; sub { return @x } }, }, ), plain => sub { my @x = @_; sub { return @x } }, }, }; sub _kcats_gen { my @x = @_; sub { return reverse @x } } } package Test::SubExporter::MERGE::0; my %col; BEGIN { Thing->import( defaults => ($col{defaults} = { x => 10 }), etc => ($col{etc} = { home => "Kansas" }), stack => { x => 20, y => 30 }, kcats => { y => 3 }, bogus => undef, klame => { bar => 99 }, other => undef, plain => { foo => 10 }, ); } my %tests = ( stack => [ 'Thing', 'stack', { x => 20, y => 30 }, \%col ], kcats => [ \%col, { x => 10, y => 3 }, 'kcats', 'Thing' ], bogus => [ 'Thing', 'bogus', {}, \%col ], klame => [ 'Thing', 'klame', { bar => 99 }, \%col ], other => [ 'Thing', 'other', { home => "Kansas" }, \%col ], plain => [ 'Thing', 'plain', { foo => 10 }, \%col ], ); while (my ($name, $expected) = each %tests) { main::is_deeply( [ __PACKAGE__->$name ], $expected, "$name returned proper value", ); }
.
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