deal with Package::Stash changing its API

This commit is contained in:
Scott Walters 2014-01-07 17:08:06 -06:00
parent 0bfb836ec9
commit 176b6297dd
3 changed files with 9 additions and 9 deletions

View file

@ -71,15 +71,15 @@ sub deprecate ($$) {
my %deep; my %deep;
# keep a copy since it will be replaced # keep a copy since it will be replaced
my $new_sub = $stash->get_package_symbol('&'.$new_method); my $new_sub = $stash->get_symbol('&'.$new_method);
# call new method instead. if # call new method instead. if
$stash->add_package_symbol('&'.$old_method, sub { $stash->add_symbol('&'.$old_method, sub {
my $self = shift; my $self = shift;
derp "$package\::$old_method is deprecated and should be replaced with $new_method"; derp "$package\::$old_method is deprecated and should be replaced with $new_method";
local $deep{1} = 1; local $deep{1} = 1;
$self->$new_method(@_); $self->$new_method(@_);
}); });
$stash->add_package_symbol('&'.$new_method, sub { $stash->add_symbol('&'.$new_method, sub {
my $self = $_[0]; my $self = $_[0];
if (!$deep{1}) { if (!$deep{1}) {
my $old_sub = $self->can($old_method); my $old_sub = $self->can($old_method);

View file

@ -120,7 +120,7 @@ sub new {
}; };
my $stash = Package::Stash->new(ref $mock); my $stash = Package::Stash->new(ref $mock);
$stash->add_package_symbol('&DESTROY', sub { $stash->add_symbol('&DESTROY', sub {
my $self = shift; my $self = shift;
$self->unmock_id; $self->unmock_id;
$self->unmock_url; $self->unmock_url;
@ -134,7 +134,7 @@ sub new {
# remove our namespace # remove our namespace
delete $ns_root->{ $ns_last }; delete $ns_root->{ $ns_last };
}); });
$stash->add_package_symbol('&mock_id', sub { $stash->add_symbol('&mock_id', sub {
my $self = shift; my $self = shift;
$self->unmock_id; $self->unmock_id;
$mocked_id = shift; $mocked_id = shift;
@ -145,14 +145,14 @@ sub new {
return $self; return $self;
}); });
$stash->add_package_symbol('&unmock_id', sub { $stash->add_symbol('&unmock_id', sub {
my $self = shift; my $self = shift;
if ($mocked_id) { if ($mocked_id) {
$CLASS->unmock_id($mocked_id); $CLASS->unmock_id($mocked_id);
} }
return $self; return $self;
}); });
$stash->add_package_symbol('&mock_url', sub { $stash->add_symbol('&mock_url', sub {
my $self = shift; my $self = shift;
$self->unmock_url; $self->unmock_url;
$mocked_url = shift; $mocked_url = shift;
@ -162,7 +162,7 @@ sub new {
return $self; return $self;
}); });
$stash->add_package_symbol('&unmock_url', sub { $stash->add_symbol('&unmock_url', sub {
my $self = shift; my $self = shift;
if ($mocked_url) { if ($mocked_url) {
$CLASS->unmock_url($mocked_url); $CLASS->unmock_url($mocked_url);

View file

@ -166,7 +166,7 @@ checkModule("Cache::FastMmap", "1.35" );
checkModule("Test::Log::Dispatch", "0" ); checkModule("Test::Log::Dispatch", "0" );
checkModule("CHI", "0.34" ); checkModule("CHI", "0.34" );
checkModule('IO::Socket::SSL', ); checkModule('IO::Socket::SSL', );
checkModule('Package::Stash', "0.33" ); checkModule('Package::Stash', "0.36" );
checkModule('HTTP::Exception', ); checkModule('HTTP::Exception', );
checkModule('Net::Twitter', "3.13006" ); checkModule('Net::Twitter', "3.13006" );
checkModule('PerlIO::eol', "0.14" ); checkModule('PerlIO::eol', "0.14" );