Use Trailingcomma option when available (RT#114609)
[p5sagit/Data-Dumper-Concise.git] / t / concise.t
CommitLineData
6d2a9a35 1use strict;
2use warnings;
3use Data::Dumper ();
4use Data::Dumper::Concise;
5use Test::More qw(no_plan);
6
7my $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 16foreach 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
40my $out = DumperF { "arr: $_[0] str: $_[1]" } [qw(wut HALP)], "gnarl";
41
4aab3605 42like($out, qr{^arr: \[\n "wut",\n "HALP",?\n\]\n str: "gnarl"\n\z}, 'DumperF works!');
43
44like(Dumper([1..3]), qr/,\s*]\s*$/, 'trailing comma enabled')
45 if $dd->can('Trailingcomma');