use Test::More tests => 20; use File::Spec::Functions qw(catfile); # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # my $class = 'ConfigReader::Simple'; my $method = 'exists'; use_ok( $class ); can_ok( $class, $method ); # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # my @Directives = qw( Test1 Test2 Test3 Test4 ); my $config = $class->new( catfile( qw(t example.config) ), \@Directives ); isa_ok( $config, $class ); can_ok( $config, $method ); # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # these directives should be okay { foreach my $directive ( @Directives ) { ok( $config->$method( $directive ), "Directive [$directive] exists" ); } } # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # these directives should not be okay { my @Directives = qw( Test5 exists blah get ); foreach my $directive ( @Directives ) { ok( ! $config->$method( $directive ), "$method fails for $directive"); ok( ! $config->get( $directive ), "get( $directive ) fails" ); ok( ! $config->$directive, "->$method fails" ); } }