Added libtest-differences-perl
[pkg-perl] / deb-src / libtest-differences-perl / libtest-differences-perl-0.47 / t / 00flatten.t
1 use Test ;
2
3 use Test::Differences ;
4
5 sub f($) {
6     my $out = join "|",
7         @{Test::Differences::_flatten( 
8             Test::Differences::_grok_type( $_[0] ),
9             $_[0]
10         )
11     } ;
12     $out =~ s/ +//g ;
13     $out ;
14 }
15
16 my @tests = (
17 sub { ok f "a",                      "a"           },
18 sub { ok f "a\nb\n",                 "a\n|b\n"     },
19 sub { ok f [qw( a b )],              "a|b"         },
20 sub { ok f [[qw( a b )], [qw(c d)]], "a,b|c,d"     },
21 sub { ok f [{ a => 0, b => 1 }, { a => 2, c => 3}],
22     "a,b,c|0,1,<undef>|2,<undef>,3"
23 },
24 ## Complex data structures are not flattened, they're dumped, so don't
25 ## test that here.
26 ) ;
27
28 plan tests => scalar @tests ;
29
30 $_->() for @tests ;