RE: [19990527.002] DBM Filters in _57 cause problems in NDBM_File
[p5sagit/p5-mst-13.2.git] / t / lib / io_linenum.t
CommitLineData
91cce263 1#!./perl
2
3# test added 29th April 1998 by Paul Johnson (pjcj@transeda.com)
4
5BEGIN {
6 chdir 't' if -d 't';
7 unshift @INC, '../lib' if -d '../lib';
8}
9
10use strict;
11use IO::File;
12use Test;
13
eb57363f 14BEGIN {
15 plan tests => 9 #, todo => [10]
16}
91cce263 17
18sub lineno
19{
20 my ($f) = @_;
21 my $l;
22 $l .= "$. ";
23 $l .= $f->input_line_number;
24 $l .= " $.";
25 $l;
26}
27
28sub OK
29{
30 my $s = select STDOUT; # work around a bug in Test.pm 1.04
31 &ok;
32 select $s;
33}
34
35my $t;
36
37open (Q, __FILE__) or die $!;
38my $w = IO::File->new(__FILE__) or die $!;
39
40<Q> for (1 .. 10);
41OK(lineno($w), "10 0 10");
42
43$w->getline for (1 .. 5);
44OK(lineno($w), "5 5 5");
45
46<Q>;
47OK(lineno($w), "11 5 11");
48
49$w->getline;
50OK(lineno($w), "6 6 6");
51
52$t = tell Q; # tell Q; provokes a warning - the world is full of bugs...
53OK(lineno($w), "11 6 11");
54
55<Q>;
56OK(lineno($w), "12 6 12");
57
58select Q;
59OK(lineno($w), "12 6 12");
60
61<Q> for (1 .. 10);
62OK(lineno($w), "22 6 22");
63
64$w->getline for (1 .. 5);
65OK(lineno($w), "11 11 11");
eb57363f 66__END__
91cce263 67# This test doesn't work. It probably won't until local $. does.
68$t = tell Q;
69OK(lineno($w), "22 11 22", 'waiting for local $.');