# t/14_mmkr_alt_block_new_method.t use strict; local $^W = 1; use Test::More tests => 39; # qw(no_plan); use_ok( 'ExtUtils::ModuleMaker' ); use_ok( 'Cwd'); use_ok( 'ExtUtils::ModuleMaker::Auxiliary', qw( read_file_string _subclass_preparatory_tests _subclass_cleanup_tests ) ); use_ok( 'File::Copy' ); use Carp; my $odir = cwd(); my $prepref = _subclass_preparatory_tests($odir); my $persref = $prepref->{persref}; my $pers_def_ref = $prepref->{pers_def_ref}; my %els1 = %{ $prepref->{initial_els_ref} }; my $eumm_dir = $prepref->{eumm_dir}; my $mmkr_dir_ref = $prepref->{mmkr_dir_ref}; SKIP: { eval { require 5.006_001 }; skip "tests require File::Temp, core with 5.6", (39 - 20) if $@; use warnings; use_ok( 'File::Temp', qw| tempdir |); ######################################################################## { # Set: Alt_block_new_method # real tests go here my $alt = 'Alt_block_new_method.pm'; copy( "$prepref->{sourcedir}/$alt", "$eumm_dir/$alt") or die "Unable to copy $alt for testing: $!"; ok(-f "$eumm_dir/$alt", "file copied for testing"); my $testmod = 'Beta'; ok(! system(qq{$^X -I"$odir/blib/lib" "$odir/blib/script/modulemaker" -Icn Alpha::$testmod -d ExtUtils::ModuleMaker::Alt_block_new_method }), "able to call modulemaker utility"); ok( -d qq{Alpha-$testmod}, "compact top-level directory exists" ); ok( chdir "Alpha-$testmod", "cd Alpha-$testmod" ); ok( -d, "directory $_ exists" ) for ( qw/lib scripts t/); ok( -f, "file $_ exists" ) for ( qw/Changes LICENSE Makefile.PL MANIFEST README Todo/); ok( -f, "file $_ exists" ) for ( "lib/Alpha/${testmod}.pm", "t/001_load.t" ); my $filetext = read_file_string("lib/Alpha/${testmod}.pm"); my $newstr = <<'ENDNEW'; sub new { my $class = shift; my $self = bless ({}, $class); return $self; } ENDNEW ok( (index($filetext, $newstr)) > -1, "string present in file as predicted"); unlink( "$eumm_dir/$alt" ) or croak "Unable to unlink $alt for testing: $!"; ok(! -f "$eumm_dir/$alt", "file $alt deleted after testing"); # end of real tests } # end of Set ok(chdir $odir, "changed back to original directory"); } # end SKIP block END { _subclass_cleanup_tests( { persref => $persref, pers_def_ref => $pers_def_ref, eumm_dir => $eumm_dir, initial_els_ref => \%els1, odir => $odir, mmkr_dir_ref => $mmkr_dir_ref, } ); }