1use strict; 2use warnings; 3 4use lib 't/lib'; 5 6use Test::More; 7use Config::MVP::Reader::INI; 8 9my $seq = Config::MVP::Reader::INI->read_config('eg/mvp.ini'); 10 11my @section_names = $seq->section_names; 12 13is_deeply( 14 \@section_names, 15 [ qw(_ Foo::Bar baz), 'Bap Bop Boop', 'Bap Bop Blort' ], 16 "loaded the right names from sample config", 17); 18 19is($seq->section_named('_')->package, undef, 'root package'); 20 21is_deeply( 22 $seq->section_named('_')->payload, 23 { foo => 10, bar => 11 }, 24 "_ payload as expected", 25); 26 27is($seq->section_named('Foo::Bar')->package, 'Foo::Bar', 'Foo::Bar package'); 28 29is_deeply( 30 $seq->section_named('Foo::Bar')->payload, 31 { x => 10, y => [ 20, 30 ], z => -123 }, 32 'Foo::Bar payload', 33); 34 35is($seq->section_named('baz')->package, 'Foo::Bar', 'baz package'); 36 37is_deeply( 38 $seq->section_named('baz')->payload, 39 { x => 1 }, 40 'baz payload', 41); 42 43is($seq->section_named('Bap Bop Boop')->package, 'Foo::Bar', 'Bap Bop Boop package'); 44 45is_deeply( 46 $seq->section_named('Bap Bop Boop')->payload, 47 { yarp => 1 }, 48 'Bap Bop Boop payload', 49); 50 51done_testing; 52