Devel-Git-MultiBisect

 view release on metacpan or  search on metacpan

t/001-opts.t  view on Meta::CPAN

  short
  test_command
  verbose
|);

$params = process_options(%args);
ok($params, "process_options() returned true value");
ok(ref($params) eq 'HASH', "process_options() returned hash reference");
for my $k (sort keys %params_expected) {
    ok(defined($params->{$k}), "A value has been defined for $k: $params->{$k}");
}
is(scalar keys %$params, scalar keys %params_expected,
    "Got expected number of parameters with defined value");
%these_params_expected = map { $_ => 1 } grep { ! exists $args{$_} } keys %params_expected;
for my $k (sort keys %these_params_expected) {
    ok(defined($params->{$k}), "A default value was assigned to $k: $params->{$k}");
}
is(scalar keys %$params, (scalar keys %these_params_expected) + (scalar keys %args),
    "Got expected number of parameters assigned from default values");

%args = (
    last_before => '12345ab',
    gitdir => $ptg,
    targets => [ $pttf ],
    last => '67890ab',
);
$params_expected{targets} = 1;
$params = process_options(%args);
ok($params, "process_options() returned true value");
ok(ref($params) eq 'HASH', "process_options() returned hash reference");
for my $k (sort keys %params_expected) {
    ok(defined($params->{$k}), "A value has been defined for $k: $params->{$k}");
}
is(scalar keys %$params, scalar keys %params_expected,
    "Got expected number of parameters with defined value");
%these_params_expected = map { $_ => 1 } grep { ! exists $args{$_} } keys %params_expected;
for my $k (sort keys %these_params_expected) {
    ok(defined($params->{$k}), "A default value was assigned to $k: $params->{$k}");
}
is(scalar keys %$params, (scalar keys %these_params_expected) + (scalar keys %args),
    "Got expected number of parameters assigned from default values");

$args{verbose} = 1;
my ($stdout, @result);
($stdout, @result) = capture_stdout {process_options(%args);};
like($stdout, qr/Arguments provided to process_options\(\):/s,
    "Got expected verbose output with 'verbose' in arguments to process_options()");
my $fmake = '';
($fmake) = $stdout =~ m/For 'make', %Config has:\s(.*)\Z/s;
chomp($fmake);
ok($fmake, "Perl 5 \%Config identified '$fmake' for 'make'");
$args{verbose} = undef;

my @cl_opts = (
    "--verbose",
    "--last_before" => '12345ab',
    "--gitdir" => $ptg,
    "--last" => '67890ab',
);
{
    local @ARGV = (@cl_opts);
    ($stdout, @result) = capture_stdout {process_options(%args);};
    like($stdout, qr/Command-line arguments:/s,
        "Got expected verbose output with 'verbose' on command-line");
}

done_testing();



( run in 1.451 second using v1.01-cache-2.11-cpan-b301d465b3d )