Permission testing is tricky when we have too much power.
[p5sagit/p5-mst-13.2.git] / t / io / tell.t
1 #!./perl
2
3 # $RCSfile: tell.t,v $$Revision$$Date$
4
5 print "1..21\n";
6
7 $TST = 'tst';
8
9 open($TST, '../Configure') || (die "Can't open ../Configure");
10 binmode $TST if $^O eq 'MSWin32';
11 if (eof(tst)) { print "not ok 1\n"; } else { print "ok 1\n"; }
12
13 $firstline = <$TST>;
14 $secondpos = tell;
15
16 $x = 0;
17 while (<tst>) {
18     if (eof) {$x++;}
19 }
20 if ($x == 1) { print "ok 2\n"; } else { print "not ok 2\n"; }
21
22 $lastpos = tell;
23
24 unless (eof) { print "not ok 3\n"; } else { print "ok 3\n"; }
25
26 if (seek($TST,0,0)) { print "ok 4\n"; } else { print "not ok 4\n"; }
27
28 if (eof) { print "not ok 5\n"; } else { print "ok 5\n"; }
29
30 if ($firstline eq <tst>) { print "ok 6\n"; } else { print "not ok 6\n"; }
31
32 if ($secondpos == tell) { print "ok 7\n"; } else { print "not ok 7\n"; }
33
34 if (seek(tst,0,1)) { print "ok 8\n"; } else { print "not ok 8\n"; }
35
36 if (eof($TST)) { print "not ok 9\n"; } else { print "ok 9\n"; }
37
38 if ($secondpos == tell) { print "ok 10\n"; } else { print "not ok 10\n"; }
39
40 if (seek(tst,0,2)) { print "ok 11\n"; } else { print "not ok 11\n"; }
41
42 if ($lastpos == tell) { print "ok 12\n"; } else { print "not ok 12\n"; }
43
44 unless (eof) { print "not ok 13\n"; } else { print "ok 13\n"; }
45
46 if ($. == 0) { print "not ok 14\n"; } else { print "ok 14\n"; }
47
48 $curline = $.;
49 open(other, '../Configure') || (die "Can't open ../Configure");
50 binmode other if $^O eq 'MSWin32';
51
52 {
53     local($.);
54
55     if ($. == 0) { print "not ok 15\n"; } else { print "ok 15\n"; }
56
57     tell other;
58     if ($. == 0) { print "ok 16\n"; } else { print "not ok 16\n"; }
59
60     $. = 5;
61     scalar <other>;
62     if ($. == 6) { print "ok 17\n"; } else { print "not ok 17\n"; }
63 }
64
65 if ($. == $curline) { print "ok 18\n"; } else { print "not ok 18\n"; }
66
67 {
68     local($.);
69
70     scalar <other>;
71     if ($. == 7) { print "ok 19\n"; } else { print "not ok 19\n"; }
72 }
73
74 if ($. == $curline) { print "ok 20\n"; } else { print "not ok 20\n"; }
75
76 {
77     local($.);
78
79     tell other;
80     if ($. == 7) { print "ok 21\n"; } else { print "not ok 21\n"; }
81 }