Commit | Line | Data |
---|---|---|
3bd791fa JK |
1 | #!./perl -w |
2 | ||
3 | BEGIN { | |
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 | ||
14 | use strict; | |
15 | use Data::Dumper; | |
16 | use Test::More tests => 4; | |
17 | ||
18 | my ($a, $b, $obj); | |
19 | my (@values, @names); | |
20 | my (@newvalues, $objagain, %newvalues); | |
21 | $a = 'alpha'; | |
22 | $b = 'beta'; | |
23 | ||
24 | $obj = Data::Dumper->new([$a,$b], [qw(a b)]); | |
25 | @values = $obj->Values; | |
26 | is_deeply(\@values, [$a,$b], "Values() returned expected list"); | |
27 | ||
28 | @newvalues = ( qw| gamma delta epsilon | ); | |
29 | $objagain = $obj->Values(\@newvalues); | |
30 | is($objagain, $obj, "Values returned same object"); | |
31 | is_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' ); | |
36 | eval { @values = $obj->Values(\%newvalues); }; | |
37 | like($@, qr/Argument to Values, if provided, must be array ref/, | |
38 | "Got expected error message: bad argument to Values()"); | |
39 | ||
40 |