summaryrefslogtreecommitdiff
path: root/lib/Tie/RefHash/rebless.t
blob: 4ae40f43fe1fe596397556fe14b5050b5f8b6c44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/perl -T -w

BEGIN {
    if( $ENV{PERL_CORE} ) {
        chdir 't';
        @INC = '../lib';
    }
}

use strict;

use Tie::RefHash;

{
  package Moose;
  sub new { bless { }, shift };

  package Elk;
  use vars qw/@ISA/;
  @ISA = "Moose";
}

$\ = "\n";
print "1..2";

my $obj = Moose->new;

tie my %hash, "Tie::RefHash";

$hash{$obj} = "magic";

print ( ( $hash{$obj} eq "magic" ) ? "" : "not ", "ok - keyed before rebless" );

bless $obj, "Elk";

print ( ( $hash{$obj} eq "magic" ) ? "" : "not ", "ok - still the same");