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