Use Trailingcomma option when available (RT#114609)
[p5sagit/Data-Dumper-Concise.git] / t / sugar.t
index e72955f..c5abd70 100644 (file)
--- a/t/sugar.t
+++ b/t/sugar.t
@@ -34,18 +34,42 @@ DWARN: {
    ok eq_array(\@foo, ['warn','friend']), 'Dwarn passes lists through correctly';
 
    my $bar = Dwarn 'robot',2,3;
-   is $warned_string,qq{"robot"\n}, 'Dwarn warns scalars correctly';
+   is $warned_string,qq{"robot"\n2\n3\n}, 'Dwarn warns scalars correctly';
    is $bar, 'robot', 'Dwarn passes scalars through correctly';
 }
 
+DWARN_CODEREF: {
+   my $foo = ['warn', 'friend']->$Dwarn;
+   like $warned_string,qr{^\[\n  "warn",\n  "friend",?\n\]\n\z}, 'Dwarn warns lists';
+
+   ok eq_array($foo, ['warn','friend']), 'Dwarn passes lists through correctly';
+}
+
+DWARNF: {
+   my @foo = DwarnF { "arr: $_[0] str: $_[1]" } [qw(wut HALP)], "gnarl";
+
+   like($warned_string, qr{^arr: \[\n  "wut",\n  "HALP",?\n\]\n str: "gnarl"\n\z}, 'DumperF works!');
+   ok eq_array($foo[0], ['wut','HALP']) && $foo[1] eq 'gnarl', 'DwarnF passes lists through correctly';
+}
+
 DWARNN: {
-   my $x = [1];
-   my $foo = DwarnN $x;
-   is $warned_string, qq{\$x => [\n  1\n]\n}, 'DwarnN warns';
+   my $loaded = eval { require Devel::ArgNames; 1 };
+   if ($loaded) {
+      my $x = [1];
+      my $foo = DwarnN $x;
+      like $warned_string, qr{^\$x => \[\n  1,?\n\]\n\z}, 'DwarnN warns';
+
+      ok eq_array($foo, [1]), 'DwarnN passes through correctly';
 
-   ok eq_array($foo, [1]), 'DwarnN passes through correctly';
+      DwarnN [1];
+      like $warned_string, qr{^\(anon\) => \[\n  1,?\n\]\n\z}, 'DwarnN warns';
+   }
+}
 
-   DwarnN [1];
-   is $warned_string, qq{(anon) => [\n  1\n]\n}, 'DwarnN warns';
+DDIE: {
+   eval {
+      DdieS [ 'k', 'bar' ];
+   };
+   like $@, qr{^\[\n  "k",\n  "bar",?\n\]\n\z}, 'DwarnD dies output correctly';
 }