warn "DV: " . \%default_values;
my $self = ref($class) ? bless( +{ %default_values }, ref($class) )
: bless( +{ %default_values }, $class );
warn "self: " . $self;
####
failsafe( [
'SUBJECT' => 'The quick brown fox jumps over the lazy dog',
],
"^NAME is required",
"Constructor correctly failed due to lack of NAME for module");
failsafe( [
'NAME' => 'My::B!ad::Module',
],
"^Module NAME contains illegal characters",
"Constructor correctly failed due to illegal characters in module name");
failsafe( [
'NAME' => "My'BadModule",
],
"^Module NAME contains illegal characters",
"Perl 4-style single-quote path separators no longer supported");
####
failsafe( [
'NAME' => 'ABC::XYZ',
'SUBJECT' => '123456789012345678901234567890123456789012345',
],
"^SUBJECTs are limited to 44 characters",
"Constructor correctly failed due to SUBJECT > 44 characters");
failsafe( [
'NAME' => 'GHI::DEF',
'AUTHOR' => {
NAME => 'James E Keenan',
CPANID => 'ABCDEFGHIJ',
},
],
"^CPAN IDs are 3-9 characters",
"Constructor correctly failed due to CPANID > 9 characters");
####
failsafe( [
'NAME' => 'ABC::XYZ',
'AUTHOR' => {
NAME => 'James E Keenan',
CPANID => 'AB',
},
],
"^CPAN IDs are 3-9 characters",
"Constructor correctly failed due to CPANID < 3 characters");
####
failsafe( [
'NAME' => 'ABC::Alpha',
'AUTHOR' => {
NAME => 'James E Keenan',
EMAIL => 'jkeenancpan.org',
},
],
"^EMAIL addresses need to have an at sign",
"Constructor correctly failed; e-mail must have '\@' sign");
####
not ok 22 - Constructor correctly failed; e-mail must have '@' sign
# Failed test (t\001_load.t at line 88)
# 'CPAN IDs are 3-9 characters
# EMAIL addresses need to have an at sign
#
# No such file or directory at t\001_load.t line 87
# '
# doesn't match '(?-xism:^EMAIL addresses need to have an at sign)'