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