Commit | Line | Data |
884bc377 |
1 | use strict; |
2 | use warnings; |
3 | use Data::Dumper::Concise::Sugar; |
4 | |
5 | use Data::Dumper::Concise (); |
6 | |
7 | use Test::More qw(no_plan); |
884bc377 |
8 | |
caf571f8 |
9 | my $warned_string; |
884bc377 |
10 | |
caf571f8 |
11 | BEGIN { |
12 | $SIG{'__WARN__'} = sub { |
13 | $warned_string = $_[0] |
14 | } |
15 | } |
884bc377 |
16 | |
20fc51ea |
17 | DWARN: { |
18 | my @foo = Dwarn 'warn', 'friend'; |
19 | is $warned_string,qq{"warn"\n"friend"\n}, 'Dwarn warns'; |
884bc377 |
20 | |
20fc51ea |
21 | ok eq_array(\@foo, ['warn','friend']), 'Dwarn passes through correctly'; |
22 | } |
23 | |
24 | DWARNS: { |
25 | my $bar = DwarnS 'robot',2,3; |
26 | is $warned_string,qq{"robot"\n}, 'DwarnS warns'; |
27 | is $bar, 'robot', 'DwarnS passes through correctly'; |
28 | } |
29 | |
30 | DWARNONLY: { |
31 | my @foo = Dwarn_only { $_[0] } qw(one two three); |
32 | is $warned_string,qq{"one"\n}, 'Dwarn_only warns requested data'; |
caf571f8 |
33 | |
20fc51ea |
34 | ok eq_array(\@foo, [qw{one two three}]), 'Dwarn_only passes through correctly'; |
35 | } |
36 | |
37 | DWARNSONLY: { |
38 | my $bar = DwarnS_only { $_->[0] } [ qw(one two three) ]; |
39 | is $warned_string,qq{"one"\n}, 'DwarnS_only warns requested data'; |
40 | |
41 | ok $bar->[0] eq 'one' && |
42 | $bar->[1] eq 'two' && |
43 | $bar->[2] eq 'three' && |
44 | @{$bar} == 3, 'DwarnS_only passes through correctly'; |
45 | } |