Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / perl5 / t / io / argv.t
1 #!./perl
2
3 print "1..6\n";
4
5 open(try, '>Io.argv.tmp') || (die "Can't open temp file: $!");
6 print try "a line\n";
7 close try;
8
9 if ($^O eq 'MSWin32') {
10   $x = `.\\perl -e "while (<>) {print \$.,\$_;}" Io.argv.tmp Io.argv.tmp`;
11 }
12 else {
13   $x = `./perl -e 'while (<>) {print \$.,\$_;}' Io.argv.tmp Io.argv.tmp`;
14 }
15 if ($x eq "1a line\n2a line\n") {print "ok 1\n";} else {print "not ok 1\n";}
16
17 if ($^O eq 'MSWin32') {
18   $x = `.\\perl -le "print 'foo'" | .\\perl -e "while (<>) {print \$_;}" Io.argv.tmp -`;
19 }
20 else {
21   $x = `echo foo|./perl -e 'while (<>) {print $_;}' Io.argv.tmp -`;
22 }
23 if ($x eq "a line\nfoo\n") {print "ok 2\n";} else {print "not ok 2\n";}
24
25 if ($^O eq 'MSWin32') {
26   $x = `.\\perl -le "print 'foo'" |.\\perl -e "while (<>) {print \$_;}"`;
27 }
28 else {
29   $x = `echo foo|./perl -e 'while (<>) {print $_;}'`;
30 }
31 if ($x eq "foo\n") {print "ok 3\n";} else {print "not ok 3 :$x:\n";}
32
33 @ARGV = ('Io.argv.tmp', 'Io.argv.tmp', '/dev/null', 'Io.argv.tmp');
34 while (<>) {
35     $y .= $. . $_;
36     if (eof()) {
37         if ($. == 3) {print "ok 4\n";} else {print "not ok 4\n";}
38     }
39 }
40
41 if ($y eq "1a line\n2a line\n3a line\n")
42     {print "ok 5\n";}
43 else
44     {print "not ok 5\n";}
45
46 open(try, '>Io.argv.tmp') or die "Can't open temp file: $!";
47 close try;
48 @ARGV = 'Io.argv.tmp';
49 $^I = '.bak';
50 $/ = undef;
51 while (<>) {
52     s/^/ok 6\n/;
53     print;
54 }
55 open(try, '<Io.argv.tmp') or die "Can't open temp file: $!";
56 print while <try>;
57 close try;
58
59 END { unlink 'Io.argv.tmp', 'Io.argv.tmp.bak' }