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)'