1#!./perl -w 2 3use strict; 4use warnings; 5 6use Data::Dumper; 7use Test::More tests => 4; 8 9my ($a, $b, $obj); 10my (@values, @names); 11my (@newvalues, $objagain, %newvalues); 12$a = 'alpha'; 13$b = 'beta'; 14 15$obj = Data::Dumper->new([$a,$b], [qw(a b)]); 16@values = $obj->Values; 17is_deeply(\@values, [$a,$b], "Values() returned expected list"); 18 19@newvalues = ( qw| gamma delta epsilon | ); 20$objagain = $obj->Values(\@newvalues); 21is($objagain, $obj, "Values returned same object"); 22is_deeply($objagain->{todump}, \@newvalues, 23 "Able to use Values() to set values to be dumped"); 24 25$obj = Data::Dumper->new([$a,$b], [qw(a b)]); 26%newvalues = ( gamma => 'delta', epsilon => 'zeta' ); 27eval { @values = $obj->Values(\%newvalues); }; 28like($@, qr/Argument to Values, if provided, must be array ref/, 29 "Got expected error message: bad argument to Values()"); 30 31 32