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