build variants in eval 'BEGIN { }' to allow namespace::clean to work seamlessly
[p5sagit/Package-Variant.git] / t / 40-namespace-clean.t
1 use strictures 1;
2 use Test::More eval { require namespace::clean } ? ()
3   : (skip_all => 'namespace::clean needed for test');
4 {
5   package CleanVariant;
6   use Package::Variant
7     importing => [
8       'Carp' => ['croak'],
9       'namespace::clean',
10     ],
11   ;
12
13   sub make_variant {
14     my ($class, $target_package, %arguments) = @_;
15     my $croak = $target_package->can('croak');
16     ::is $croak, \&Carp::croak, 'sub exists while building';
17   }
18 }
19 my $variant = CleanVariant->build_variant;
20 is $variant->can('croak'), undef, 'sub cleaned after building';
21 done_testing;