perl fix_fonts_test.pl C:\thomasdata\thomasprojects\fixhtml\test\fonts\stripStandard Fixtotext perl fix_fonts_test.pl C:\thomasdata\thomasprojects\fixhtml\test\fonts\toClassWeiss Fixtoclassweiss perl fix_fonts_test.pl C:\thomasdata\thomasprojects\fixhtml\test\fonts\toClassRot Fixtoclassrot perl fix_fonts_test.pl C:\thomasdata\thomasprojects\fixhtml\test\fonts\toClassKlein Fixtoclassklein perl fix_fonts_test.pl C:\thomasdata\thomasprojects\fixhtml\test\fonts\toClassesKleinNGrau Fixtoclasskleinandgrau #### #!/usr/bin/perl use strict; use warnings; use Data::Dumper; use File::Find; #custom modules use Modules::Htmlripper::Noreplaceroot::Fixtotext; use Modules::Htmlripper::Gotreplaceroot::Fixtoclassweiss; use Modules::Htmlripper::Gotreplaceroot::Fixtoclassrot; use Modules::Htmlripper::Gotreplaceroot::Fixtoclassklein; use Modules::Htmlripper::Gotnestedreplaceroot::Fixtoclasskleinandgrau; use Modules::Filecontrol qw(get_files); my $test_dir = shift or die "no test directory specified file\n"; opendir (DIR, $test_dir) or die "couldn't open directory: $test_dir"; closedir DIR; my $ripperClass = shift or die "no HTML ripper class specified"; my @test_dirs = Filecontrol::get_test_dirs($test_dir); my $ripper = $ripperClass->new(); #keys are directory names. for ( @test_dirs ) { print "Testing $ripperClass against directory $_: \n"; $ripper->test_dir($_); my $result = $ripper->test(); if ($result) { print "ok\n"; } else { print "not ok\n"; } } #### sub get_test_dirs { my $dir = shift or die "no directory specified."; opendir (DIR, $dir) or die "couldn't open directory: $dir"; my @directories_to_search = ("$dir"); my %dirs = (); find( sub { if (-d $File::Find::name) { # it's a dir my $current_dir = $File::Find::name; if ( (-f "$current_dir" . '/before.html') && (-f "$current_dir" . '/after.html') ) { #before and after files exist $dirs{$current_dir} = 1; } #end check if file } # end check if directory }, @directories_to_search ); my @dirs = keys %dirs; return @dirs; }