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 | |
e6746e64 |
17 | DWARNL: { |
18 | my @foo = DwarnL 'warn', 'friend'; |
19 | is $warned_string,qq{"warn"\n"friend"\n}, 'DwarnL warns'; |
884bc377 |
20 | |
e6746e64 |
21 | ok eq_array(\@foo, ['warn','friend']), 'DwarnL 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 | } |
caf571f8 |
29 | |
e6746e64 |
30 | DWARN: { |
31 | my @foo = Dwarn 'warn', 'friend'; |
32 | is $warned_string,qq{"warn"\n"friend"\n}, 'Dwarn warns lists'; |
33 | |
34 | ok eq_array(\@foo, ['warn','friend']), 'Dwarn passes lists through correctly'; |
35 | |
36 | my $bar = Dwarn 'robot',2,3; |
37 | is $warned_string,qq{"robot"\n}, 'Dwarn warns scalars correctly'; |
38 | is $bar, 'robot', 'Dwarn passes scalars through correctly'; |
39 | } |
0deeb75f |
40 | |
7194c025 |
41 | DWARN_CODEREF: { |
42 | my $foo = ['warn', 'friend']->$Dwarn; |
43 | is $warned_string,qq{[\n "warn",\n "friend"\n]\n}, 'Dwarn warns lists'; |
44 | |
45 | ok eq_array($foo, ['warn','friend']), 'Dwarn passes lists through correctly'; |
46 | } |
47 | |
92264889 |
48 | DWARNF: { |
49 | my @foo = DwarnF { "arr: $_[0] str: $_[1]" } [qw(wut HALP)], "gnarl"; |
50 | |
51 | is($warned_string, qq{arr: [\n "wut",\n "HALP"\n]\n str: "gnarl"\n}, 'DumperF works!'); |
52 | ok eq_array($foo[0], ['wut','HALP']) && $foo[1] eq 'gnarl', 'DwarnF passes lists through correctly'; |
53 | } |
54 | |
0deeb75f |
55 | DWARNN: { |
452e7ff2 |
56 | my $loaded = eval { require Devel::ArgNames; 1 }; |
57 | if ($loaded) { |
58 | my $x = [1]; |
59 | my $foo = DwarnN $x; |
60 | is $warned_string, qq{\$x => [\n 1\n]\n}, 'DwarnN warns'; |
0deeb75f |
61 | |
452e7ff2 |
62 | ok eq_array($foo, [1]), 'DwarnN passes through correctly'; |
0deeb75f |
63 | |
452e7ff2 |
64 | DwarnN [1]; |
65 | is $warned_string, qq{(anon) => [\n 1\n]\n}, 'DwarnN warns'; |
66 | } |
0deeb75f |
67 | } |
68 | |
2566c738 |
69 | DDIE: { |
70 | eval { |
71 | DdieS [ 'k', 'bar' ]; |
72 | }; |
73 | is $@, qq{[\n "k",\n "bar"\n]\n}, 'DwarnD dies output correctly'; |
74 | } |
75 | |