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