Acme-Class-Std
view release on metacpan or search on metacpan
$enhanced{+caller}++;
goto &Class::Std::import;
}
sub ID ($) {
my ($package, undef, undef, $sub) = caller 1;
if ($sub eq 'Class::Std::new' && $_[0]->isa('SCALAR')
&& ($all || $enhanced{ref $_[0]})) {
# Strangely, it seems that one can dup an unopened file handle without
# warnings.
eval "open $count, '<&dead'";
my $ref = *{delete $Acme::Class::Std::{$count++}}{IO};
$_[0] = bless $ref, ref $_[0];
}
goto &Scalar::Util::refaddr;
}
{
local $^W;
*Class::Std::ID = \&ID;
}
t/acmified_is_best.t view on Meta::CPAN
package main;
use Storable 'freeze';
use Test::More tests => 6;
my $normal = Sputz->new;
ok($normal, "Got something");
ok($normal->isa("SCALAR"), "But it's a scalar reference");
my $frozen = eval {freeze($normal)};
is ($@, '', "Can freeze it");
my $acmified = Gishklork->new;
ok($acmified, "Got something");
ok($acmified->isa("IO"), "It's an IO reference");
$frozen = eval {freeze($acmified)};
like ($@, qr/Can't store/, "Can't freeze Acme::Class::Std objects");
( run in 2.163 seconds using v1.01-cache-2.11-cpan-98e64b0badf )