Blame t/order.t

Packit 745572
#! perl
Packit 745572
# check that the filters are destroyed in the correct order by
Packit 745572
# installing two different types of filter. If they don't get destroyed
Packit 745572
# in the correct order we should get a "filter_del can only delete in
Packit 745572
# reverse order" error
Packit 745572
Packit 745572
# skip this set of tests is running on anything less than 5.006
Packit 745572
if ($] < 5.006) {
Packit 745572
    print "1..0\n";
Packit 745572
    exit 0;
Packit 745572
}
Packit 745572
Packit 745572
use strict;
Packit 745572
use warnings;
Packit 745572
BEGIN { unshift @INC, 't'; }
Packit 745572
require "filter-util.pl" ;
Packit 745572
Packit 745572
use vars qw( $Inc $Perl) ;
Packit 745572
Packit 745572
my $file = "order.test" ;
Packit 745572
my $module = "FilterTry";
Packit 745572
my $tee1 = "order1" ;
Packit 745572
$Inc .= " -It";
Packit 745572
Packit 745572
writeFile("t/${module}.pm", <
Packit 745572
package ${module} ;
Packit 745572
Packit 745572
EOM
Packit 745572
use Filter::Util::Call ;
Packit 745572
sub import {
Packit 745572
    filter_add(
Packit 745572
        sub {
Packit 745572
Packit 745572
            my ($status) ;
Packit 745572
Packit 745572
            if (($status = filter_read()) > 0) {
Packit 745572
                s/ABC/DEF/g
Packit 745572
            }
Packit 745572
            $status ;
Packit 745572
        } ) ;
Packit 745572
}
Packit 745572
Packit 745572
1;
Packit 745572
__END__
Packit 745572
Packit 745572
=head1 NAME
Packit 745572
Packit 745572
FilterTry - Perl Source Filter Example Module created by t/order.t
Packit 745572
Packit 745572
=head1 SYNOPSIS
Packit 745572
Packit 745572
    use FilterTry ;
Packit 745572
    sourcecode...
Packit 745572
Packit 745572
=cut
Packit 745572
EOM
Packit 745572
Packit 745572
my $fil1 = <<"EOM";
Packit 745572
use $module ;
Packit 745572
Packit 745572
print "ABC ABC\n" ;
Packit 745572
Packit 745572
EOM
Packit 745572
Packit 745572
writeFile($file, <<"EOM", $fil1) ;
Packit 745572
use Filter::tee '>$tee1' ;
Packit 745572
EOM
Packit 745572
Packit 745572
my $a = `$Perl $Inc $file 2>&1` ;
Packit 745572
Packit 745572
print "1..3\n" ;
Packit 745572
Packit 745572
ok(1, ($? >> 8) == 0) ;
Packit 745572
chomp $a; 	# strip crlf resp. lf
Packit 745572
#print "|$a|\n";
Packit 745572
ok(2, $a eq "DEF DEF");
Packit 745572
Packit 745572
my $readtee1 = readFile($tee1);
Packit 745572
if ($^O eq 'MSWin32') {
Packit 745572
   $readtee1 =~ s/\r//g;
Packit 745572
}
Packit 745572
ok(3, $fil1 eq $readtee1) ;
Packit 745572
Packit 745572
unlink $file or die "Cannot remove $file: $!\n" ;
Packit 745572
unlink $tee1 or die "Cannot remove $tee1: $!\n" ;