diff options
Diffstat (limited to 'cpan/List-Util/t/getmagic-once.t')
-rw-r--r-- | cpan/List-Util/t/getmagic-once.t | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/cpan/List-Util/t/getmagic-once.t b/cpan/List-Util/t/getmagic-once.t new file mode 100644 index 0000000000..00b3490783 --- /dev/null +++ b/cpan/List-Util/t/getmagic-once.t @@ -0,0 +1,47 @@ +#!./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 strict; +use Scalar::Util qw(blessed reftype refaddr); +use Test::More tests => 6; + +my $getmagic_count; + +{ + package T; + use Tie::Scalar; + use base qw(Tie::StdScalar); + + sub FETCH { + $getmagic_count++; + my($self) = @_; + return $self->SUPER::FETCH; + } +} + +tie my $var, 'T'; + +$var = bless {}; + +$getmagic_count = 0; +ok blessed($var); +is $getmagic_count, 1, 'blessed'; + +$getmagic_count = 0; +ok reftype($var); +is $getmagic_count, 1, 'reftype'; + +$getmagic_count = 0; +ok refaddr($var); +is $getmagic_count, 1, 'refaddr'; |