7 delete $Package::{'Stash::'};
8 delete $INC{'Package/Stash.pm'};
9 delete $INC{'Package/Stash/PP.pm'};
10 delete $INC{'Package/Stash/XS.pm'};
16 $has_xs = eval "require Package::Stash::XS; 1";
21 require Package::Stash;
22 warn $Package::Stash::IMPLEMENTATION;
23 is($Package::Stash::IMPLEMENTATION, $has_xs ? 'XS' : 'PP',
24 "autodetected properly");
25 can_ok('Package::Stash', 'new', "and got some methods");
30 $ENV{PACKAGE_STASH_IMPLEMENTATION} = 'PP';
31 require Package::Stash;
32 is($Package::Stash::IMPLEMENTATION, 'PP',
33 "autodetected properly");
34 can_ok('Package::Stash', 'new', "and got some methods");
39 skip "no XS", 2 unless $has_xs;
40 $ENV{PACKAGE_STASH_IMPLEMENTATION} = 'XS';
41 require Package::Stash;
42 is($Package::Stash::IMPLEMENTATION, 'XS',
43 "autodetected properly");
44 can_ok('Package::Stash', 'new', "and got some methods");
49 $Package::Stash::IMPLEMENTATION = 'PP';
50 require Package::Stash;
51 is($Package::Stash::IMPLEMENTATION, 'PP',
52 "autodetected properly");
53 can_ok('Package::Stash', 'new', "and got some methods");
58 skip "no XS", 2 unless $has_xs;
59 $Package::Stash::IMPLEMENTATION = 'XS';
60 require Package::Stash;
61 is($Package::Stash::IMPLEMENTATION, 'XS',
62 "autodetected properly");
63 can_ok('Package::Stash', 'new', "and got some methods");