1#!./perl -w 2 3BEGIN { 4 if ($ENV{PERL_CORE}){ 5 require Config; import Config; 6 no warnings 'once'; 7 if ($Config{'extensions'} !~ /\bData\/Dumper\b/) { 8 print "1..0 # Skip: Data::Dumper was not built\n"; 9 exit 0; 10 } 11 } 12} 13 14use strict; 15use Data::Dumper; 16use Test::More tests => 4; 17 18my ($a, $b, $obj); 19my (@values, @names); 20my (@newvalues, $objagain, %newvalues); 21$a = 'alpha'; 22$b = 'beta'; 23 24$obj = Data::Dumper->new([$a,$b], [qw(a b)]); 25@values = $obj->Values; 26is_deeply(\@values, [$a,$b], "Values() returned expected list"); 27 28@newvalues = ( qw| gamma delta epsilon | ); 29$objagain = $obj->Values(\@newvalues); 30is($objagain, $obj, "Values returned same object"); 31is_deeply($objagain->{todump}, \@newvalues, 32 "Able to use Values() to set values to be dumped"); 33 34$obj = Data::Dumper->new([$a,$b], [qw(a b)]); 35%newvalues = ( gamma => 'delta', epsilon => 'zeta' ); 36eval { @values = $obj->Values(\%newvalues); }; 37like($@, qr/Argument to Values, if provided, must be array ref/, 38 "Got expected error message: bad argument to Values()"); 39 40 41