Add the following packages libalgorithm-diff-perl libspiffy-perl libtext-diff-perl...
[pkg-perl] / deb-src / libfilter-perl / libfilter-perl-1.34 / t / sh.t
1
2 use strict;
3 use warnings;
4 use Config;
5
6 BEGIN 
7 {
8     my $foundTR = 0 ;
9     if ($^O eq 'MSWin32') {
10         # Check if tr is installed
11         foreach (split ";", $ENV{PATH}) {
12             if (-e "$_/tr.exe") {
13                 $foundTR = 1;
14                 last ;
15             }
16         }
17     }
18     else {
19         $foundTR = 1
20             if $Config{'tr'} ne '' ;
21     }
22
23     if (! $foundTR) {
24         print "1..0 # Skipping tr not found on this system.\n" ;
25         exit 0 ;
26     }
27 }
28
29 require "filter-util.pl" ;
30
31 use vars qw( $Inc $Perl $script ) ;
32
33 $script = <<'EOF' ;
34
35 use Filter::sh q(tr '[A-E][I-M]' '[a-e][i-m]') ;
36 use Filter::sh q(tr '[N-Z]' '[n-z]') ;
37
38 EOF
39
40 $script .= <<'EOF' ;
41
42 $A = 2 ;
43 PRINT "A = $A\N" ;
44
45 PRINT "HELLO JOE\N" ;
46 PRINT <<EOM ;
47 MARY HAD 
48 A
49 LITTLE
50 LAMB
51 EOM
52 PRINT "A (AGAIN) = $A\N" ;
53 EOF
54
55 my $filename = 'sh.test' ;
56 writeFile($filename, $script) ;
57
58 my $expected_output = <<'EOM' ;
59 a = 2
60 Hello joe
61 mary Had 
62 a
63 little
64 lamb
65 a (aGain) = 2
66 EOM
67
68 my $a = `$Perl $Inc $filename 2>&1` ;
69  
70 print "1..2\n" ;
71 ok(1, ($? >> 8) == 0) ;
72 ok(2, $a eq $expected_output) ;
73
74 unlink $filename ;
75