This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
[inseparable changes from match from perl-5.003_97 to perl-5.003_97a]
[perl5.git] / t / lib / io_tell.t
1 #!./perl
2
3 BEGIN {
4     unless(grep /blib/, @INC) {
5         chdir 't' if -d 't';
6         @INC = '../lib' if -d '../lib';
7         $tell_file = "TEST";
8     }
9     else {
10         $tell_file = "Makefile";
11     }
12 }
13
14 use Config;
15
16 BEGIN {
17     if(-d "lib" && -f "TEST") {
18         if ($Config{'extensions'} !~ /\bIO\b/ && $^O ne 'VMS') {
19             print "1..0\n";
20             exit 0;
21         }
22     }
23 }
24
25 print "1..13\n";
26
27 use IO::File;
28
29 $tst = IO::File->new("$tell_file","r") || die("Can't open $tell_file");
30 binmode $tst if $^O eq 'MSWin32';
31 if ($tst->eof) { print "not ok 1\n"; } else { print "ok 1\n"; }
32
33 $firstline = <$tst>;
34 $secondpos = tell;
35
36 $x = 0;
37 while (<$tst>) {
38     if (eof) {$x++;}
39 }
40 if ($x == 1) { print "ok 2\n"; } else { print "not ok 2\n"; }
41
42 $lastpos = tell;
43
44 unless (eof) { print "not ok 3\n"; } else { print "ok 3\n"; }
45
46 if ($tst->seek(0,0)) { print "ok 4\n"; } else { print "not ok 4\n"; }
47
48 if (eof) { print "not ok 5\n"; } else { print "ok 5\n"; }
49
50 if ($firstline eq <$tst>) { print "ok 6\n"; } else { print "not ok 6\n"; }
51
52 if ($secondpos == tell) { print "ok 7\n"; } else { print "not ok 7\n"; }
53
54 if ($tst->seek(0,1)) { print "ok 8\n"; } else { print "not ok 8\n"; }
55
56 if ($tst->eof) { print "not ok 9\n"; } else { print "ok 9\n"; }
57
58 if ($secondpos == tell) { print "ok 10\n"; } else { print "not ok 10\n"; }
59
60 if ($tst->seek(0,2)) { print "ok 11\n"; } else { print "not ok 11\n"; }
61
62 if ($lastpos == $tst->tell) { print "ok 12\n"; } else { print "not ok 12\n"; }
63
64 unless (eof) { print "not ok 13\n"; } else { print "ok 13\n"; }