update git repo url
[p5sagit/Config-Any.git] / t / 10-branches.t
CommitLineData
5a2e0210 1use strict;
2use warnings;
e7be073a 3no warnings 'once';
5a2e0210 4
803bbb11 5# use Test::Without::Module qw(YAML YAML::Syck Config::General XML::Simple JSON JSON::Syck Config::Tiny );
cb49d8a4 6use Test::More tests => 9;
f0e3c221 7
cb49d8a4 8use Config::Any;
9use Config::Any::YAML;
e7be073a 10
f0e3c221 11
12{
13 my @warnings;
92a04e78 14 local $SIG{ __WARN__ } = sub { push @warnings, @_ };
4efab558 15
72628dc7 16 Config::Any->load_files();
4efab558 17 like(
18 shift @warnings,
19 qr/^No files specified!/,
20 "load_files expects args"
21 );
22
92a04e78 23 Config::Any->load_files( {} );
24 like(
25 shift @warnings,
4efab558 26 qr/^No files specified!/,
92a04e78 27 "load_files expects files"
28 );
4efab558 29
72628dc7 30 Config::Any->load_stems();
bef9e9a5 31 like(
32 shift @warnings,
33 qr/^No stems specified!/,
34 "load_stems expects args"
35 );
36
92a04e78 37 Config::Any->load_stems( {} );
38 like(
39 shift @warnings,
bef9e9a5 40 qr/^No stems specified!/,
92a04e78 41 "load_stems expects stems"
42 );
f0e3c221 43}
44
803bbb11 45my @files = glob( "t/supported/conf.*" );
26e3cdf4 46{
47 require Config::Any::General;
48 local $SIG{ __WARN__ } = sub { }
49 if Config::Any::General->is_supported;
50 ok( Config::Any->load_files( { files => \@files, use_ext => 0 } ),
51 "use_ext 0 works" );
52}
0ac17764 53
54my $filter = sub { return };
92a04e78 55ok( Config::Any->load_files( { files => \@files, use_ext => 1 } ),
56 "use_ext 1 works" );
f0e3c221 57
92a04e78 58ok( Config::Any->load_files(
59 { files => \@files, use_ext => 1, filter => \&$filter }
60 ),
61 "filter works"
62);
63eval {
64 Config::Any->load_files(
65 { files => \@files,
66 use_ext => 1,
e0186698 67 filter => sub { die "reject" }
92a04e78 68 }
69 );
70};
e0186698 71like $@, qr/reject/, "filter breaks";
f0e3c221 72
803bbb11 73my @stems = qw(t/supported/conf);
92a04e78 74ok( Config::Any->load_stems( { stems => \@stems, use_ext => 1 } ),
75 "load_stems with stems works" );