Commit | Line | Data |
6d2a9a35 |
1 | use strict; |
2 | use warnings; |
3 | use Data::Dumper (); |
4 | use Data::Dumper::Concise; |
5 | use Test::More qw(no_plan); |
6 | |
7 | my $dd = Data::Dumper->new([]) |
8 | ->Terse(1) |
9 | ->Indent(1) |
10 | ->Useqq(1) |
11 | ->Deparse(1) |
12 | ->Quotekeys(0) |
13 | ->Sortkeys(1); |
4aab3605 |
14 | $dd->Trailingcomma(1) if $dd->can('Trailingcomma'); |
6d2a9a35 |
15 | |
e946236e |
16 | foreach my $to_dump ( |
17 | [ { foo => "bar\nbaz", quux => sub { "fleem" } } ], |
18 | [ 'one', 'two' ] |
19 | ) { |
20 | |
e946236e |
21 | $dd->Values([ @$to_dump ]); |
39d55feb |
22 | |
e946236e |
23 | my $example = do { |
24 | local $Data::Dumper::Terse = 1; |
25 | local $Data::Dumper::Indent = 1; |
26 | local $Data::Dumper::Useqq = 1; |
27 | local $Data::Dumper::Deparse = 1; |
28 | local $Data::Dumper::Quotekeys = 0; |
29 | local $Data::Dumper::Sortkeys = 1; |
4aab3605 |
30 | no warnings 'once'; # in case Trailingcomma option is unknown in this DD |
31 | local $Data::Dumper::Trailingcomma = 1; |
e946236e |
32 | Data::Dumper::Dumper(@$to_dump); |
33 | }; |
39d55feb |
34 | |
e946236e |
35 | is($example, $dd->Dump, 'Both Data::Dumper usages equivalent'); |
39d55feb |
36 | |
e946236e |
37 | is($example, Dumper(@$to_dump), 'Subroutine call usage equivalent'); |
38 | } |
92264889 |
39 | |
40 | my $out = DumperF { "arr: $_[0] str: $_[1]" } [qw(wut HALP)], "gnarl"; |
41 | |
4aab3605 |
42 | like($out, qr{^arr: \[\n "wut",\n "HALP",?\n\]\n str: "gnarl"\n\z}, 'DumperF works!'); |
43 | |
44 | like(Dumper([1..3]), qr/,\s*]\s*$/, 'trailing comma enabled') |
45 | if $dd->can('Trailingcomma'); |