7 use Test::More tests => 10;
8 use Scalar::Util qw(blessed reftype);
13 our $cfg_file = 't/conf/conf.foo';
15 eval { Config::Any::INI->load( $cfg_file ); };
17 skip "File loading backend for INI not found", 10 if $@;
19 ok( my $c_arr = Config::Any->load_files(
20 { files => [ $cfg_file ],
21 force_plugins => [ qw(Config::Any::INI) ]
24 "load file with parser forced"
27 ok( my $c = $c_arr->[ 0 ], "load_files returns an arrayref" );
29 ok( ref $c, "load_files arrayref contains a ref" );
30 my $ref = blessed $c ? reftype $c : ref $c;
31 is( substr( $ref, 0, 4 ), "HASH", "hashref" );
33 my ( $name, $cfg ) = each %$c;
34 is( $name, $cfg_file, "filename matches" );
36 my $cfgref = blessed $cfg ? reftype $cfg : ref $cfg;
37 is( substr( $cfgref, 0, 4 ), "HASH", "hashref cfg" );
39 is( $cfg->{ name }, 'TestApp', "appname parses" );
40 is( $cfg->{ Component }{ "Controller::Foo" }->{ foo },
41 'bar', "component->cntrlr->foo = bar" );
42 is( $cfg->{ Model }{ "Model::Baz" }->{ qux },
43 'xyzzy', "model->model::baz->qux = xyzzy" );
45 ok( my $c_arr_2 = Config::Any->load_files(
46 { files => [ $cfg_file ],
47 force_plugins => [ qw(Config::Any::INI) ],
51 "load file with parser forced"