Commit | Line | Data |
30b4f386 |
1 | #!./perl -w |
2 | # |
3 | # test for $Data::Dumper::Pair AKA Data::Dumper->new([ ... ])->Pair('...') |
4 | # |
5 | |
6 | BEGIN { |
fec5e1eb |
7 | if ($ENV{PERL_CORE}){ |
8 | chdir 't' if -d 't'; |
9 | unshift @INC, '../lib'; |
10 | require Config; import Config; |
11 | no warnings 'once'; |
12 | if ($Config{'extensions'} !~ /\bData\/Dumper\b/) { |
13 | print "1..0 # Skip: Data::Dumper was not built\n"; |
14 | exit 0; |
15 | } |
30b4f386 |
16 | } |
17 | } |
18 | |
19 | use strict; |
20 | use vars qw($want_colon $want_comma); |
21 | use Test::More tests => 9; |
22 | |
23 | no warnings qw(once); |
24 | |
25 | require_ok 'Data::Dumper'; |
26 | |
27 | my $HASH = { alpha => 'beta', gamma => 'vlissides' }; |
28 | my $WANT = q({'alpha' => 'beta','gamma' => 'vlissides'}); |
29 | |
30 | $Data::Dumper::Useperl = 1; |
31 | $Data::Dumper::Indent = 0; |
32 | $Data::Dumper::Terse = 1; |
33 | $Data::Dumper::Sortkeys = 1; |
34 | |
35 | $want_colon = $want_comma = $WANT; |
36 | $want_colon =~ s/=>/:/g; |
37 | $want_comma =~ s/ => /,/g; |
38 | |
39 | ####################### XS Tests ##################### |
40 | |
41 | SKIP: { |
42 | skip 'XS extension not loaded', 3 unless (defined &Data::Dumper::Dumpxs); |
43 | is (Data::Dumper::DumperX($HASH), $WANT, |
44 | 'XS: Default hash key/value separator: " => "'); |
45 | local $Data::Dumper::Pair = ' : '; |
46 | is (Data::Dumper::DumperX($HASH), $want_colon, 'XS: $Data::Dumper::Pair = " : "'); |
47 | my $dd = Data::Dumper->new([ $HASH ])->Pair(','); |
48 | is ($dd->Dumpxs(), $want_comma, |
49 | 'XS: Data::Dumper->new([ $HASH ])->Pair(",")->Dumpxs()'); |
50 | }; |
51 | |
52 | ###################### Perl Tests #################### |
53 | |
54 | { |
55 | is ($Data::Dumper::Pair, ' => ', 'Perl: $Data::Dumper::Pair eq " => "'); |
56 | is (Data::Dumper::Dumper($HASH), $WANT, |
57 | 'Perl: Default hash key/value separator: " => "'); |
58 | local $Data::Dumper::Pair = ' : '; |
59 | is (Data::Dumper::Dumper($HASH), $want_colon, 'Perl: $Data::Dumper::Pair = " : "'); |
60 | my $dd = Data::Dumper->new([ $HASH ])->Pair(','); |
61 | is ($dd->Pair(), ',', |
62 | 'Perl: Data::Dumper->new([ $HASH ])->Pair(",")->Pair() eq ","'); |
63 | is ($dd->Dump(), $want_comma, 'Perl: Data::Dumper->new([ $HASH ])->Pair(",")->Dump()'); |
64 | } |