1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
use 5.10.1;
use warnings;
use strict;
use Test::More;
use Test::Fatal;
use Term::Choose;
use FindBin qw( $RealBin );
use lib $RealBin;
use Data_Test_Arguments;
my $new1;
my $exception = exception { $new1 = Term::Choose->new() };
ok( ! defined $exception, '$new = Term::Choose->new()' );
ok( $new1, '$new = Term::Choose->new()' );
my $new;
$exception = exception { $new = Term::Choose->new( {} ) };
ok( ! defined $exception, '$new = Term::Choose->new( {} )' );
my %new;
my $n = 1; # ?
my $valid_values = Data_Test_Arguments::valid_values();
for my $opt ( sort keys %$valid_values ) {
for my $val ( @{$valid_values->{$opt}}, undef ) {
my $exception = exception { $new{$n++} = Term::Choose->new( { $opt => $val } ) };
my $value = defined $val ? $val : 'undef';
ok( ! defined $exception, "\$new = Term::Choose->new( { $opt => $value } )" );
}
}
my $mixed_options_1 = Data_Test_Arguments::mixed_options_1();
$exception = exception { $new{$n++} = Term::Choose->new( $mixed_options_1 ) };
ok( ! defined $exception, "\$new = Term::Choose->new( { >>> } )" );
my $mixed_options_2 = Data_Test_Arguments::mixed_options_2();
$exception = exception { $new{$n++} = Term::Choose->new( $mixed_options_2 ) };
ok( ! defined $exception, "\$new = Term::Choose->new( { <<< } )" );
done_testing();
|