X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fsugar.t;h=2ccc009038df9cd87306cedb3fc5028b5ec09ca7;hb=0d51197846c3fe198ef94aa255efbbad77432d02;hp=4ca2ecc1f936e54c8bb3140db36bcc633ec6a1c2;hpb=caf571f8c4f3eadce186d1f01fd69f9858ea11ba;p=p5sagit%2FData-Dumper-Concise.git diff --git a/t/sugar.t b/t/sugar.t index 4ca2ecc..2ccc009 100644 --- a/t/sugar.t +++ b/t/sugar.t @@ -14,11 +14,62 @@ BEGIN { } } -my @foo = Dwarn 'warn', 'friend'; -is $warned_string,qq{"warn"\n"friend"\n}, 'Dwarn warns'; +DWARNL: { + my @foo = DwarnL 'warn', 'friend'; + is $warned_string,qq{"warn"\n"friend"\n}, 'DwarnL warns'; -ok eq_array(\@foo, ['warn','friend']), 'Dwarn passes through correctly'; + ok eq_array(\@foo, ['warn','friend']), 'DwarnL passes through correctly'; +} + +DWARNS: { + my $bar = DwarnS 'robot',2,3; + is $warned_string,qq{"robot"\n}, 'DwarnS warns'; + is $bar, 'robot', 'DwarnS passes through correctly'; +} + +DWARN: { + my @foo = Dwarn 'warn', 'friend'; + is $warned_string,qq{"warn"\n"friend"\n}, 'Dwarn warns lists'; + + ok eq_array(\@foo, ['warn','friend']), 'Dwarn passes lists through correctly'; + + my $bar = Dwarn 'robot',2,3; + 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; + is $warned_string,qq{[\n "warn",\n "friend"\n]\n}, '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"; + + is($warned_string, qq{arr: [\n "wut",\n "HALP"\n]\n str: "gnarl"\n}, 'DumperF works!'); + ok eq_array($foo[0], ['wut','HALP']) && $foo[1] eq 'gnarl', 'DwarnF passes lists through correctly'; +} + +DWARNN: { + my $loaded = eval { require Devel::ArgNames; 1 }; + if ($loaded) { + my $x = [1]; + my $foo = DwarnN $x; + is $warned_string, qq{\$x => [\n 1\n]\n}, 'DwarnN warns'; + + ok eq_array($foo, [1]), 'DwarnN passes through correctly'; + + DwarnN [1]; + is $warned_string, qq{(anon) => [\n 1\n]\n}, 'DwarnN warns'; + } +} + +DDIE: { + eval { + DdieS [ 'k', 'bar' ]; + }; + is $@, qq{[\n "k",\n "bar"\n]\n}, 'DwarnD dies output correctly'; +} -my $bar = DwarnS 'robot',2,3; -is $warned_string,qq{"robot"\n}, 'DwarnS warns'; -is $bar, 'robot', 'DwarnS passes through correctly';