Commit | Line | Data |
1bfb5477 |
1 | #!./perl |
2 | |
f4a2945e |
3 | BEGIN { |
1bfb5477 |
4 | unless (-d 'blib') { |
f4a2945e |
5 | chdir 't' if -d 't'; |
6 | @INC = '../lib'; |
6b05f64e |
7 | require Config; import Config; |
1bfb5477 |
8 | keys %Config; # Silence warning |
6b05f64e |
9 | if ($Config{extensions} !~ /\bList\/Util\b/) { |
10 | print "1..0 # Skip: List::Util was not built\n"; |
11 | exit 0; |
12 | } |
1bfb5477 |
13 | } |
f4a2945e |
14 | } |
15 | |
16 | use Scalar::Util qw(readonly); |
cf083cf9 |
17 | use Test::More tests => 9; |
f4a2945e |
18 | |
cf083cf9 |
19 | ok( readonly(1), 'number constant'); |
f4a2945e |
20 | |
21 | my $var = 2; |
22 | |
cf083cf9 |
23 | ok( !readonly($var), 'number variable'); |
24 | is( $var, 2, 'no change to number variable'); |
f4a2945e |
25 | |
cf083cf9 |
26 | ok( readonly("fred"), 'string constant'); |
f4a2945e |
27 | |
28 | $var = "fred"; |
29 | |
cf083cf9 |
30 | ok( !readonly($var), 'string variable'); |
31 | is( $var, 'fred', 'no change to string variable'); |
f4a2945e |
32 | |
33 | $var = \2; |
34 | |
cf083cf9 |
35 | ok( !readonly($var), 'reference to constant'); |
36 | ok( readonly($$var), 'de-reference to constant'); |
f4a2945e |
37 | |
cf083cf9 |
38 | ok( !readonly(*STDOUT), 'glob'); |