PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` package Test2::Tools::Target; use strict; use warnings; our $VERSION = '1.302204'; use Carp qw/croak/; use Test2::Util qw/pkg_to_file/; sub import { my $class = shift; my $caller = caller; $class->import_into($caller, @_); } sub import_into { my $class = shift; my $into = shift or croak "no destination package provided"; croak "No targets specified" unless @_; my %targets; if (@_ == 1) { if (ref $_[0] eq 'HASH') { %targets = %{ $_[0] }; } else { ($targets{CLASS}) = @_; } } else { %targets = @_; } for my $name (keys %targets) { my $target = $targets{$name}; my $file = pkg_to_file($target); require $file; $name ||= 'CLASS'; my $const; { my $const_target = "$target"; $const = sub() { $const_target }; } no strict 'refs'; *{"$into\::$name"} = \$target; *{"$into\::$name"} = $const; } } 1; __END__ =pod =encoding UTF-8 =head1 NAME Test2::Tools::Target - Alias the testing target package. =head1 DESCRIPTION This lets you alias the package you are testing into a constant and a package variable. =head1 SYNOPSIS use Test2::Tools::Target 'Some::Package'; CLASS()->xxx; # Call 'xxx' on Some::Package $CLASS->xxx; # Same Or you can specify names: use Test2::Tools::Target pkg => 'Some::Package'; pkg()->xxx; # Call 'xxx' on Some::Package $pkg->xxx; # Same =head1 SOURCE The source code repository for Test2-Suite can be found at F. =head1 MAINTAINERS =over 4 =item Chad Granum Eexodist@cpan.orgE =back =head1 AUTHORS =over 4 =item Chad Granum Eexodist@cpan.orgE =back =head1 COPYRIGHT Copyright Chad Granum Eexodist@cpan.orgE. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See F =cut