Changeset 36290

Show
Ignore:
Timestamp:
12/28/09 15:16:55 (3 years ago)
Author:
ktat
Message:

fix bug: returns string "undef" by mistake when deleted hash value is undef.

Location:
lang/perl/Tie-Trace/trunk
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Tie-Trace/trunk/Makefile.PL

    r14192 r36290  
    1010    PL_FILES            => {}, 
    1111    PREREQ_PM => { 
    12         'Test::More' => 0, 
     12        'Test::More' => '0.88', 
    1313        'Test::Base' => 0, 
    1414        'PadWalker'  => 0, 
  • lang/perl/Tie-Trace/trunk/lib/Tie/Trace.pm

    r36058 r36290  
    326326  my($self, $key) = @_; 
    327327  my $deleted = delete $self->{storage}->{$key}; 
    328   $deleted = 'undef' if not defined $deleted; 
    329   $self->_carpit(key => $key, value => sprintf("DELETED(%s)", $self->_dumper($deleted)), filter => sub{$_[0] =~ s/^\'(.+)\'$/$1/; $_[0] =~s /\\'/'/g})  unless $QUIET; 
     328  $self->_carpit(key => $key, 
     329                 value => sprintf("DELETED(%s)", $self->_dumper(defined $deleted? $deleted : 'undef')), 
     330                 filter => sub{$_[0] =~ s/^\'(.+)\'$/$1/; $_[0] =~s /\\'/'/g} 
     331                )  unless $QUIET; 
    330332  return $deleted; 
    331333} 
  • lang/perl/Tie-Trace/trunk/t/tie-trace-watch.t

    r36058 r36290  
    1 use Test::More tests => 24; 
     1use Test::More; 
    22 
    33local $SIG{__DIE__} = sub {print "ERROR: ", @_;}; 
     
    9494  $hash4{xxx}->{xxx} = 'var'; 
    9595  unlike($err, qr/^\s*\{xxx\} => 'var'/m, q{$hash{xxx}->{xxx} = 'var'}); 
     96  $hash4{xxx} = undef; 
     97  my $del = delete $hash4{xxx}; 
     98  is($del, undef); 
    9699  
    97100=iranai 
     
    120123} 
    121124 
    122  
     125done_testing;