# -*- perl -*- # t/001_load.t - check module loading and create testing directory use Test::More qw{no_plan}; BEGIN { use_ok( 'Woeisme' ); } BEGIN { use_ok( 'File::Temp', qw| tempdir |); } BEGIN { use_ok( 'Cwd' ); } my $object = Woeisme->new ( 'NAME' => 'ABC::XYZ', ); isa_ok ($object, 'Woeisme'); 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"); sub failsafe { my ($argslistref, $pattern, $message) = @_; my $odir = cwd(); my ($tdir, $mod); $tdir = tempdir( CLEANUP => 1); ok(chdir $tdir, 'changed to temp directory for testing'); local $@ = undef; eval { $mod = Woeisme->new (@$argslistref); }; like($@, qr/$pattern/, $message); local $@ = undef; ok(chdir $odir, 'changed back to original directory after testing'); }