The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use Test::Base;
use Config::Any::YAML;
use Config::Multi;
use FindBin;
use File::Spec;
use File::Basename;
use Data::Dumper;

sub is_supported_yaml {
    eval { require YAML::Syck; YAML::Syck->VERSION( '0.70' ) };
    return 1 unless $@;
    eval { require YAML; };
    return $@ ? 0 : 1;
}

if ( is_supported_yaml ) {
    plan tests => 1 * blocks ;
}
else {
    plan skip_all => 'YAML format not supported';
}

my $dir = File::Spec->catfile( $FindBin::Bin , 'conf' );

run {
    my $block = shift;
    my $extension = $block->name;
    my $cm = Config::Multi->new({
        dir       => $dir,
        app_name  => 'myapp',
        extension => $extension,
    });
    my $config = $cm->load();

    is( $block->boin, $config->{Boin} );
}

__END__
=== yaml
--- boin chomp
this extension is yaml