Hash-SharedMem

 view release on metacpan or  search on metacpan

t/magic.t  view on Meta::CPAN

ok $sh;
ok is_shash($sh);

my $magic;
my $fetched;
{
	package t::TiedScalar;
	sub TIESCALAR { bless({ value => $_[1] }, $_[0]) }
	sub FETCH { $fetched++; $_[0]->{value} }
}
sub tm1(&$;$) {
	untie $magic;
	$magic = $_[2];
	tie $magic, "t::TiedScalar", $_[1];
	$fetched = 0;
	$_[0]->();
	is $fetched, 1;
}

foreach my $cval ("a19", [], undef, $sh) {
	foreach my $rval ("a20", [], undef) {

t/taint.t  view on Meta::CPAN

ok !is_tainted(undef);
is tainted(undef), undef;
ok is_tainted(tainted(undef));
is tainted(tainted(undef)), undef;
ok is_tainted(tainted(tainted(undef)));
is untainted(undef), undef;
ok !is_tainted(untainted(undef));
is untainted(tainted(undef)), undef;
ok !is_tainted(untainted(tainted(undef)));

sub is_tnt(&$) {
	my $v = eval { $_[0]->() };
	is $@, "";
	ok is_tainted($v);
	is $v, $_[1];
}
sub is_unt(&$) {
	my $v = eval { $_[0]->() };
	is $@, "";
	ok !is_tainted($v);
	is $v, $_[1];
}
sub is_mbt(&$) {
	my $v = eval { $_[0]->() };
	is $@, "";
	is $v, $_[1];
}

BEGIN { $ENV{$_} = untainted($ENV{$_}) foreach keys %ENV; }

BEGIN { use_ok "Hash::SharedMem", qw(
	shash_referential_handle
	is_shash check_shash



( run in 0.807 second using v1.01-cache-2.11-cpan-49f99fa48dc )