#!/usr/bin/perl
use strict;
use warnings;
use Test::More 'no_plan';
use File::Spec::Functions qw(catfile);
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
my $class = 'ConfigReader::Simple';
my $method = 'add_config_file';
use_ok( $class );
can_ok( $class, $method );
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Test with a file that does not exist
{
my $filename = 'a/b/c';
ok( ! -e $filename, "Missing file is actually missing" );
my $mock = bless {}, $class;
is( $mock->$method( $filename ), undef, "$method with missing file fails" );
}
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Test with a file that isn't parseable
{
no warnings 'redefine';
no strict 'refs';
local *{ "${class}::parse" } = sub { 0 };
my $filename = catfile( qw(t example.config) );
ok( -e $filename, "$filename exists" );
my $mock = bless {}, $class;
is( $mock->$method( $filename ), undef, "$method with empty file fails" );
}