|
Server : Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4 System : Linux server.jackjohnson.com 2.6.32-279.5.2.el6.x86_64 #1 SMP Fri Aug 24 01:07:11 UTC 2012 x86_64 User : jackjohn ( 502) PHP Version : 5.3.17 Disable Function : NONE Directory : /installd/perl588installer/Scalar-List-Utils-1.19/t/ |
Upload File : |
#!./perl
BEGIN {
unless (-d 'blib') {
chdir 't' if -d 't';
@INC = '../lib';
require Config; import Config;
keys %Config; # Silence warning
if ($Config{extensions} !~ /\bList\/Util\b/) {
print "1..0 # Skip: List::Util was not built\n";
exit 0;
}
}
}
use Scalar::Util qw(readonly);
use Test::More tests => 11;
ok( readonly(1), 'number constant');
my $var = 2;
ok( !readonly($var), 'number variable');
is( $var, 2, 'no change to number variable');
ok( readonly("fred"), 'string constant');
$var = "fred";
ok( !readonly($var), 'string variable');
is( $var, 'fred', 'no change to string variable');
$var = \2;
ok( !readonly($var), 'reference to constant');
ok( readonly($$var), 'de-reference to constant');
ok( !readonly(*STDOUT), 'glob');
sub try
{
my $v = \$_[0];
return readonly $$v;
}
$var = 123;
{
local $TODO = $Config::Config{useithreads} ? "doesn't work with threads" : undef;
ok( try ("abc"), 'reference a constant in a sub');
}
ok( !try ($var), 'reference a non-constant in a sub');