Blame t/tied_store.t

Packit 14c646
#!./perl
Packit 14c646
Packit 14c646
sub BEGIN {
Packit 14c646
    unshift @INC, 't';
Packit 14c646
    unshift @INC, 't/compat' if $] < 5.006002;
Packit 14c646
    require Config; import Config;
Packit 14c646
    if ($ENV{PERL_CORE} and $Config{'extensions'} !~ /\bStorable\b/) {
Packit 14c646
        print "1..0 # Skip: Storable was not built\n";
Packit 14c646
        exit 0;
Packit 14c646
    }
Packit 14c646
}
Packit 14c646
Packit 14c646
use Storable ();
Packit 14c646
use Test::More tests => 3;
Packit 14c646
Packit 14c646
our $f;
Packit 14c646
Packit 14c646
package TIED_HASH;
Packit 14c646
Packit 14c646
sub TIEHASH { bless({}, $_[0]) }
Packit 14c646
Packit 14c646
sub STORE {
Packit 14c646
	$f = Storable::freeze(\$_[2]);
Packit 14c646
	1;
Packit 14c646
}
Packit 14c646
Packit 14c646
package TIED_ARRAY;
Packit 14c646
Packit 14c646
sub TIEARRAY { bless({}, $_[0]) }
Packit 14c646
Packit 14c646
sub STORE {
Packit 14c646
	$f = Storable::freeze(\$_[2]);
Packit 14c646
	1;
Packit 14c646
}
Packit 14c646
Packit 14c646
package TIED_SCALAR;
Packit 14c646
Packit 14c646
sub TIESCALAR { bless({}, $_[0]) }
Packit 14c646
Packit 14c646
sub STORE {
Packit 14c646
	$f = Storable::freeze(\$_[1]);
Packit 14c646
	1;
Packit 14c646
}
Packit 14c646
Packit 14c646
package main;
Packit 14c646
Packit 14c646
my($s, @a, %h);
Packit 14c646
tie $s, "TIED_SCALAR";
Packit 14c646
tie @a, "TIED_ARRAY";
Packit 14c646
tie %h, "TIED_HASH";
Packit 14c646
Packit 14c646
$f = undef;
Packit 14c646
$s = 111;
Packit 14c646
is $f, Storable::freeze(\111);
Packit 14c646
Packit 14c646
$f = undef;
Packit 14c646
$a[3] = 222;
Packit 14c646
is $f, Storable::freeze(\222);
Packit 14c646
Packit 14c646
$f = undef;
Packit 14c646
$h{foo} = 333;
Packit 14c646
is $f, Storable::freeze(\333);
Packit 14c646
Packit 14c646
1;