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)]
22 }), "load file with parser forced" );
24 ok(my $c = $c_arr->[0], "load_files returns an arrayref");
26 ok(ref $c, "load_files arrayref contains a ref");
27 my $ref = blessed $c ? reftype $c : ref $c;
28 is(substr($ref,0,4), "HASH", "hashref");
30 my ($name, $cfg) = each %$c;
31 is($name, $cfg_file, "filename matches");
33 my $cfgref = blessed $cfg ? reftype $cfg : ref $cfg;
34 is(substr($cfgref,0,4), "HASH", "hashref cfg");
36 is( $cfg->{name}, 'TestApp', "appname parses" );
37 is( $cfg->{Component}{ "Controller::Foo" }->{ foo }, 'bar',
38 "component->cntrlr->foo = bar" );
39 is( $cfg->{Model}{ "Model::Baz" }->{ qux }, 'xyzzy',
40 "model->model::baz->qux = xyzzy" );
43 ok( my $c_arr_2 = Config::Any->load_files({
44 files => [ $cfg_file ],
45 force_plugins => [qw(Config::Any::INI)],
47 }), "load file with parser forced" );