90dc25b8659f27fb8f6317025e6ff3af52f676db
[p5sagit/Config-Any.git] / t / 10-branches.t
1 use Test::More tests => 9;
2 use Config::Any;
3
4 ok( !Config::Any->load_stems(), "load_stems expects args" );
5
6 {
7     my @warnings;
8     local $SIG{ __WARN__ } = sub { push @warnings, @_ };
9
10     Config::Any->load_files( );
11     like(
12         shift @warnings,
13         qr/^No files specified!/,
14         "load_files expects args"
15     );
16
17     Config::Any->load_files( {} );
18     like(
19         shift @warnings,
20         qr/^No files specified!/,
21         "load_files expects files"
22     );
23
24     Config::Any->load_stems( {} );
25     like(
26         shift @warnings,
27         qr/^no stems specified/,
28         "load_stems expects stems"
29     );
30 }
31
32 my @files = glob( "t/conf/conf.*" );
33 my $filter = sub { return };
34 ok( Config::Any->load_files( { files => \@files, use_ext => 0 } ),
35     "use_ext 0 works" );
36 ok( Config::Any->load_files( { files => \@files, use_ext => 1 } ),
37     "use_ext 1 works" );
38
39 ok( Config::Any->load_files(
40         { files => \@files, use_ext => 1, filter => \&$filter }
41     ),
42     "filter works"
43 );
44 eval {
45     Config::Any->load_files(
46         {   files   => \@files,
47             use_ext => 1,
48             filter  => sub { die }
49         }
50     );
51 };
52 ok( $@, "filter breaks" );
53
54 my @stems = qw(t/conf/conf);
55 ok( Config::Any->load_stems( { stems => \@stems, use_ext => 1 } ),
56     "load_stems with stems works" );