Commit | Line | Data |
5a2e0210 |
1 | use strict; |
2 | use warnings; |
3 | |
bef9e9a5 |
4 | use Test::More tests => 10; |
f0e3c221 |
5 | |
bef9e9a5 |
6 | use_ok( 'Config::Any' ); |
f0e3c221 |
7 | |
8 | { |
9 | my @warnings; |
92a04e78 |
10 | local $SIG{ __WARN__ } = sub { push @warnings, @_ }; |
4efab558 |
11 | |
72628dc7 |
12 | Config::Any->load_files(); |
4efab558 |
13 | like( |
14 | shift @warnings, |
15 | qr/^No files specified!/, |
16 | "load_files expects args" |
17 | ); |
18 | |
92a04e78 |
19 | Config::Any->load_files( {} ); |
20 | like( |
21 | shift @warnings, |
4efab558 |
22 | qr/^No files specified!/, |
92a04e78 |
23 | "load_files expects files" |
24 | ); |
4efab558 |
25 | |
72628dc7 |
26 | Config::Any->load_stems(); |
bef9e9a5 |
27 | like( |
28 | shift @warnings, |
29 | qr/^No stems specified!/, |
30 | "load_stems expects args" |
31 | ); |
32 | |
92a04e78 |
33 | Config::Any->load_stems( {} ); |
34 | like( |
35 | shift @warnings, |
bef9e9a5 |
36 | qr/^No stems specified!/, |
92a04e78 |
37 | "load_stems expects stems" |
38 | ); |
f0e3c221 |
39 | } |
40 | |
dcfb1d1d |
41 | # grep out files we don't understand for these tests |
42 | my @files = grep { !m{\.(foo|unsupported)$} } glob( "t/conf/conf.*" ); |
f0e3c221 |
43 | my $filter = sub { return }; |
92a04e78 |
44 | ok( Config::Any->load_files( { files => \@files, use_ext => 0 } ), |
45 | "use_ext 0 works" ); |
46 | ok( Config::Any->load_files( { files => \@files, use_ext => 1 } ), |
47 | "use_ext 1 works" ); |
f0e3c221 |
48 | |
92a04e78 |
49 | ok( Config::Any->load_files( |
50 | { files => \@files, use_ext => 1, filter => \&$filter } |
51 | ), |
52 | "filter works" |
53 | ); |
54 | eval { |
55 | Config::Any->load_files( |
56 | { files => \@files, |
57 | use_ext => 1, |
58 | filter => sub { die } |
59 | } |
60 | ); |
61 | }; |
62 | ok( $@, "filter breaks" ); |
f0e3c221 |
63 | |
64 | my @stems = qw(t/conf/conf); |
92a04e78 |
65 | ok( Config::Any->load_stems( { stems => \@stems, use_ext => 1 } ), |
66 | "load_stems with stems works" ); |