package RandomFileSimpleDirOption;
use base qw/RandomFileMethodBase/;
use TestConstants;
use strict;
use Test::More;
use Test::Exception;
use Data::Dumper;
use constant SIMPLE_DIR_ARGS => ([-path => SIMPLE_DIR, -home => HOME_DIR],
[-dir => no_slash( SIMPLE_DIR)],
[-dir => with_slash (SIMPLE_DIR)]);
use constant EMPTY_DIR_ARGS => ([-path => EMPTY_DIR, -home => HOME_DIR],
[-dir => no_slash (EMPTY_DIR)],
[-dir => with_slash (EMPTY_DIR)]);
use constant WRONG_DIR_PARAMS => ("/foo/bar/nonsens/reallynonsens/",
undef, '', 0, [], {});
sub create_empty_subdir : Test(setup) {
mkdir EMPTY_DIR;
}
sub dir_option_with_a_simple_dir : Test(3) {
my $self = shift;
foreach (SIMPLE_DIR_ARGS) {
$self->expected_files_found_ok([ SIMPLE_FILES ],
$_,
"Simple Dir: Args ". join " ", @$_);
}
}
sub dir_option_for_an_empty_dir : Test(3) {
my $self = shift;
foreach (EMPTY_DIR_ARGS) {
$self->expected_files_found_ok([],
$_,
"Empty Dir: Argumente " . join " ", @$_);
}
}
sub samples_arent_same : Test(1) {
my ($self) = @_;
my @arg = (-dir => SIMPLE_DIR);
ok( ! eq_array( [$self->sample(@arg)], [$self->sample(@arg)] ),
"samples are different" );
}
sub wrong_dir_parameters : Test(6) {
my ($self) = @_;
foreach my $wrong_dir ( WRONG_DIR_PARAMS() ) {
dies_ok( sub {$self->random_file(-dir => $wrong_dir)},
"-dir " . Dumper($wrong_dir) );
}
}
1;
syntax highlighted by Code2HTML, v. 0.9.1